e-factura - funcionalidad.ahora.esfuncionalidad.ahora.es/documentos/office...

30
E-FACTURA MANUAL TÉCNICO

Upload: hacong

Post on 26-Sep-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

EFACTURA | MANUAL TÉCNICO 1

E-FACTURA

MANUAL TÉCNICO

EFACTURA | MANUAL TÉCNICO 2

Contenido

Requisitos previos ........................................................................................................................................ 3

Scripts ........................................................................................................................................................... 4

Parámetros.................................................................................................................................................. 5

Instalador del servicio............................................................................................................................. 7

ERP ..................................................................................................................................................................... 8

Formulario Clientes ................................................................................................................................. 8

Formulario Factura ................................................................................................................................. 11

Ejecución del programa de envío de facturas ............................................................................. 13

Pantalla Principal................................................................................................................................ 13

Pantalla de Configuración .............................................................................................................. 15

Funcionalidad extendida .......................................................................................................................... 18

Envío de otros objetos ......................................................................................................................... 18

Otras opciones y configuraciones según versión ........................................................................... 21

3.8................................................................................................................................................................. 21

4.1.0 ............................................................................................................................................................. 21

Versiones anteriores a la 4.1 .............................................................................................................. 22

F.A.Q. ............................................................................................................................................................... 25

Error: Missing parameter values ....................................................................................................... 25

Error: This field name is not known…Error in formula .............................................................. 25

Error: Error al recuperar un generador de clases COM para el componente con CLSID

{…} debido al siguiente error: 80040154 ....................................................................................... 26

Error: Error de tipos de efecto (factura xx) – Uno de los tipos de efecto seleccionados

no tiene correspondencia con los tipos de efecto de eFactura. .......................................... 26

Error: Directorio no válido. Detalles: error .................................................................................... 27

Error: Error generando XML. IdFactura xxx. pGenerar_Documento_Mail: Advertencia:

valor NULL eliminado por el agregado u otra operación SET. Carácter no válido en la

línea… .......................................................................................................................................................... 28

Error general, el registro no se ha podido actualizar. ERROR EN INSERCIÓN. NO SE

HA PODIDO INSERTAR ........................................................................................................................ 29

EFACTURA | MANUAL TÉCNICO 3

Requisitos previos

El cliente ha de tener creada la estructura para los informes SEPA.

Permisos de administración en el equipo para copiar ficheros y su posterior

ejecución.

Todos los ficheros necesarios para la implantación de la factura electrónica se

encuentran en esta ruta, (sólo disponible en la intranet de CEESI).

Para la generación de los listados, debemos tener instalados el módulo de Crystal

Reports 11 Release 1 SP6. Dicho módulo se instala junto a AHORA ERP, por lo

que, si el ERP está instalado en el equipo no se debe instalar nada, en caso

contrario, debe instalar el archivo Módulos Crystal Reports 11R2_SP6_3.msi,

ubicado en la ruta anterior.

Copiar los archivos de 2 - eFactura\Última versión en la misma ruta donde

tenemos la aplicación AhoraIni.

El ordenador donde se ubique la herramienta de gestión de factura debe tener

instalados los certificados con los que se firmarán las facturas.

Se debe habilitar la gestión documental en el ERP. Es necesario que la ruta

indicada en el parámetro de configuración PATHFICHEROS sea accesible desde

el ordenador que se va a instalar el módulo de eFactura.

EFACTURA | MANUAL TÉCNICO 4

Scripts

Es necesario añadir el script para el mantenimiento de los centros administrativos.

Estamos trabajando para añadir este script en próximas versiones de la aplicación.

Se debe añadir manualmente añadiendo un buscador de tipo Script desde el ERP con el

código contenido en el archivo Mantenimiento_DIR3_Buscador_Script.txt dentro de

la carpeta PARA ESTANDAR_UltimosScripts. Conseguimos así un enlace al

mantenimiento en Mis Buscadores o en Favoritos, según se haya añadido.

EFACTURA | MANUAL TÉCNICO 5

Parámetros

Es necesario revisar y activar los parámetros cuya clasificación sea “EFACTURA”.

PARÁMETRO DESCRIPCIÓN VALOR

CUENTA_CORREO Cuenta servidor correo

DIRECTORIO_EFACTURA Directorio donde guardamos las

facturas

C:\TempFact (o cualquier otro)

DOC_POLITICA_FIRMA

[estará bloqueado para

el usuario]

Http con documento de política

de firmas de Face

http://www.facturae.es/politica_de_firma

_formato_facturae/politica_de_firma_for

mato_facturae_v3_1.pdf

HABILITAR_EFACTURA Habilita la gestión de factura

electrónica

ON

HTTP_TIMESTAMP HTTP Validación fecha para firma

electrónica

IDINFORME_XML IdInforme de CEESI_Informes que

genera el XML

-1

MAIL_INCIDENCIAS Correo electrónico al que se

remitirán las incidencias con la

eFactura

NUM_FAC_ENVIO Número de facturas a procesar en

cada envío

50

PASSWORD_CORREO Password servidor correo

SERVIDOR_CORREO Servidor de correo para enviar

factura electrónica

SERVIDOR_SERVICIO Servidor que tiene instalado el

servicio de eFactura

SSL Conexión SSL a correo OFF

WS_FACE

[estará bloqueado para

el usuario]

HTTP Dirección servicio Face

WS_FACE_PRUEBAS

[estará bloqueado para

el usuario]

HTTP Dirección servicio Face para

pruebas

EFACTURA | MANUAL TÉCNICO 6

No está de más recordar que es necesario tener bien configurado el parámetro de

“CONFIGURACIÓN > DIRECTORIOS > Empresas“

Además, si se van a generar documentos PDF con imágenes dinámicas, también debe

tener bien configurado el parámetro de “CONFIGURACIÓN > DIRECTORIOS >

Empresas“. Asimismo, el usuario que ejecuta la aplicación de eFactura, debe tener

permiso total sobre dicha ruta.

PATHFICHEROS Indica la ruta donde se

guardan los archivos de la base

de datos.

[Debe ser accesible desde el

ordenador en el que se va a instalar

el módulo de eFactura]

PATHIMAGENES Indica la ruta donde se

guardan las imágenes.

[Se debe indicar la ruta relativa para

que pueda ser accesible desde los

equipos de os usuarios. El directorio

debe tener permisos de escritura.]

EFACTURA | MANUAL TÉCNICO 7

Instalador del servicio

Para poder utilizar el servicio de envío automático, es necesario instalar el servicio Ahora

Impresión en el ordenador desde el que se vayan a realizar los envíos.

Debe realizar los siguientes pasos:

1. Abra CMD en modo administrador

2. Sitúese en la carpeta donde ha copiado los archivos de eFactura (ej. C:\Program

Files (x86)\AHORA Freeware ERP)

3. Ejecute las siguientes instrucciones:

a. Para instalar:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\installutil

Ahora_Impresion.exe

sc.exe config "Ahora Impresion" obj= "DOMINIO\usuario"

password= "ClaveDeUsuario"

b. Para desinstalar:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\installutil /u

Ahora_Impresion.exe

Junto con la herramienta de eFactura se adjunta el documento de texto,

ZZ_LEAME_instalar_desinstalar_servicio.txt, con dichas instrucciones, con el fin de

facilitarle este paso. El archivo de texto debe ser modificado de forma que se utilicen

los valores correspondientes al nombre y contraseña de la cuenta de usuario que

tenga permisos sobre el almacén de certificados (de forma que el servicio pueda

acceder a ellos) y a continuación, pegar la sentencia o sentencias correspondientes

en la línea de comandos ejecutada como administrador.

Si no desea realizar envíos automáticos, no será necesario instalar este servicio.

Por otra parte, es importante recordar que únicamente funcionará si se instala en el

mismo ordenador que va a ejecutar el módulo de efactura.

EFACTURA | MANUAL TÉCNICO 8

ERP

Formulario Clientes

Para dar soporte al sistema de factura electrónica, se han añadido dos campos a la ficha

de datos de un cliente. Con éstos, indicaremos si al cliente en cuestión se le enviará o no

la factura en formato electrónico, y cómo se hará. Dichos datos se encuentran en la ficha

de Contactos, en la sección de E-Factura.

Datos en pestaña “Contactos”

EFACTURA | MANUAL TÉCNICO 9

1. Campo “Tipo eFactura”: Permite seleccionar el formato deseado que tendrán las

facturas electrónicas resultantes de las facturas de este cliente. Podrán

generarse como PDF o XML. Según su valor, se dispondrá de unas opciones u

otras en el campo “Envío”, que se describen a continuación.

2. Campo “Tipo envío eFactura”: Determina las acciones a tomar con las facturas

electrónicas generadas, según el formato que tengan. En todos los casos, la

factura electrónica es añadida a la gestión documental. Veamos las diferentes

posibilidades.

o Si la factura se genera en formato PDF: En este caso, se enviará

automáticamente al correo electrónico definido en el campo “Email” del contacto

de facturación (o, en caso de no estar éste definido, al email del cliente).

Adicionalmente, en la gestión documental de la factura se guardará el PDF

certificado como versión 1.1, así como el correo enviado, como versión 1.0. El PDF

generado seguirá un formato de impresión según la empresa a la que pertenece

la factura, y podrá ir firmado o no.

PDF con firma: El PDF de la factura se firmará digitalmente con un certificado

ubicado en el ordenador del usuario (configurable con la herramienta de

factura electrónica). A continuación, se enviará al contacto de la factura (o al

del cliente, en caso no estar definido el primero).

PDF sin firma: El PDF se enviará al contacto de la factura (o al cliente) sin

firmarse digitalmente.

o Si la factura se genera en formato XML: Siempre se firmará con un certificado

ubicado en el ordenador del usuario (configurable con la herramienta de factura

electrónica), lo que resultará en una factura firmada en formato .XSIG. El resto

de acciones efectuadas dependerán de la opción escogida:

Certificado copia a directorio: La factura electrónica firmada (formato .XSIG) se

copia en el directorio previamente definido mediante el parámetro

DIRECTORIO_EFACTURA. De esta forma, el usuario podrá acudir a él para

disponer fácilmente de las facturas para su consulta, envío o subida manual

(por ejemplo, para efectuar la subida manual a FACe).

Certificado sin envío: La factura electrónica firmada se añadirá únicamente a

la gestión documental.

EFACTURA | MANUAL TÉCNICO 10

3. Cualquier otra combinación se considera “(Sin definir)” y no realizará ningún

tipo de envío. Esta es la configuración por defecto al crear un cliente nuevo.

VALORES PARA LOS TIPOS DE CAMPOS :

Tipo Factura Tipo Envío

1 (PDF) 0 PDF sin firma

1 PDF con firma

2 (XML)

0 XML eFactura sin envío

1 XML eFactura copia a directorio

2 XML eFactura FACe sin envío

3 XML eFactura FACe copia a directorio

0 (Sin definir) 0 Sin definir

EFACTURA | MANUAL TÉCNICO 11

Formulario Factura

En la ficha de creación o modificación de una nueva factura encontrará una pestaña,

llamada “E-Factura”. Este apartado está destinado a rellenar los parámetros necesarios

en el caso de que se desee enviar la factura al Punto General de Entrada de facturas

electrónicas de la Administración General del Estado (FACe).

Si únicamente desea enviar la factura por correo electrónico en formato PDF, no necesita

configurar estos campos.

Nueva pestaña “Factura Electrónica (FACE)”

Estos nuevos parámetros son:

1. Oficina Contable

2. Órgano Gestor

3. Unidad Tramitadora

La información acerca de las unidades y sus códigos es accesible mediante el portal

Administración Electrónica, así como, en el caso del Punto General de Entrada de facturas

electrónicas de la Administración General del Estado (FACe), en el directorio FACe.

EFACTURA | MANUAL TÉCNICO 12

Al actualizar la factura, el programa insertará un registro que posteriormente será leído

por el programa de gestión de facturas electrónicas.

Además, tenemos el menú e-Factura

Enviar factura: si se desea reenviar una factura o enviar una factura a un cliente

que no tiene definido el tipo en su ficha de cliente, bastará con hacer clic en el

menú E-Factura y seleccionar el tipo de envío.

Eliminar envío: si se desea eliminar un envío pendiente. Una vez el registro ha

sido enviado, no se podrá eliminar el envío.

Ver histórico de envíos: si se desea comprobar el envío de una factura, al pulsar

aquí se mostrará un listado con todos los envíos realizados.

EFACTURA | MANUAL TÉCNICO 13

Ejecución del programa de envío de facturas

En esta sección se explicarán las funciones y opciones de la interfaz de usuario de la

herramienta de gestión de factura electrónica. Esta herramienta muestra un listado de

facturas pendientes de ser enviadas (y, por tanto, convertidas al formato correspondiente

y, si corresponde, firmadas).

También permite realizar las operaciones seleccionadas en la ficha del cliente

correspondiente (como visto en la sección Formulario de cliente), así como configurar

los parámetros de estos procesos, como el envío de emails o los certificados que se

utilizan para firmar las facturas.

Cuando entremos a este apartado, lo primero que nos va a pedir es que rellenemos los

valores necesarios para el envío de la eFactura.

Pantalla Principal

A continuación se muestra la pantalla principal del sistema de gestión de facturas

electrónicas. En ella se puede ver un listado de las facturas pendientes de enviar y, para

cada una de ellas, información acerca de las incidencias observadas (de haberlas).

Para cada factura, podemos observar su número, fecha, y la acción que se ha escogido

que se ejecute.

1. El menú “eFactura”: en este menú, ubicado en la zona superior de la ventana, es

posible acceder a la configuración de la herramienta (revisada en el apartado

siguiente)

Pantalla principal del sistema de gestión de facturas electrónicas

EFACTURA | MANUAL TÉCNICO 14

2. El botón “Refrescar”: este botón actualiza la lista de facturas.

3. El botón “Enviar”: lanzará las acciones adecuadas sobre las facturas. En el

ejemplo de esta captura, ambas facturas se exportarían a ficheros PDFs firmados

electrónicamente.

Adicionalmente, si se ha instalado el servicio de esta herramienta, en la sección inferior

de esta ventana aparecerá información relativa a su estado. Con el servicio iniciado, el

sistema ejecutará periódicamente las mismas acciones que se efectuarían al pulsar el

botón “Enviar” de esta ventana.

Además, la utilidad eFactura se puede utilizar para enviar por correo electrónico otro tipo

de documentos. Para ello habrá que configurarlo como se indica más adelante. En tal

caso, en la tabla anterior, se mostrarán dichos registros con varios campos en blanco.

EFACTURA | MANUAL TÉCNICO 15

Pantalla de Configuración

Pestaña “Configuración”

A continuación, se muestra la pestaña “Configuración” de la herramienta de gestión de

facturas electrónicas. La correcta configuración de estos campos garantizará el buen

funcionamiento de la herramienta:

Pestaña “Configuración”

Las opciones englobadas en el grupo “Conexión ERP” indican los datos de conexión

necesarios para que la herramienta se conecte a la base de datos sobre la que funciona

el ERP.

EFACTURA | MANUAL TÉCNICO 16

Por su parte, en el grupo “Configuración” se encuentra el resto de opciones de la

herramienta:

Frecuencia Timer y Nº Fact x Envío: esta opción indica el número máximo de

facturas enviadas cada cierta cantidad de milisegundos. Configurar estos valores

permitirá que el envío de múltiples facturas en un corto periodo de tiempo no

sea considerado spam por el sistema de recepción. Estos ajustes son relevantes

para el comportamiento del servicio de envío automático de facturas.

Conexión SSL: determina si se realizará una conexión segura al servidor de

correo mediante dicha tecnología.

Servidor, Cuenta y Contraseña Correo: permiten la configuración de la cuenta

de correo que se utilizará para enviar e-mails.

Informe XML: indica el esquema que seguirá la factura para convertirse a

formato XML. Si no se toca nada, se utilizarán los parámetros por defecto.

WS FACE y WS FACE PRUEBAS: contienen la dirección web de los webservice

que se utilizarán para realizar el envío automático de facturas, en el caso de que

se utilice dicha opción.

HTTP Timestamp Firma: señala, si se rellena, a un servidor de sellado de

tiempo que permitirá que la firma temporal de las firmas electrónicas generadas

sea considerada válida.

HTTP Documento Política: se trata de un enlace al documento PDF que

declara la política a la que obedece el firmado de las facturas. Para que las

firmas sean válidas según el formato eFactura actual, el valor debe ser el que

aparece por defecto.

Directorio eFactura: sirve para indicar en qué directorio se almacenarán las

facturas electrónicas firmadas por esta herramienta, si se ha seleccionado la

opción “XML – Certificado copia a directorio”.

Mail Avisos Incidencias: establece el correo electrónico al que se enviarán los

avisos acerca de las incidencias ocurridas, en caso de haberlas.

EFACTURA | MANUAL TÉCNICO 17

Pestaña “Firma Empresas”

En esta pestaña podemos observar el listado de las empresas del sistema. Cuando

seleccionamos el botón “Editar” de una de las empresas, aparece la ventana que se

muestra también a continuación:

Ventana “Selección firma”

En la ventana Selección Firma se permite escoger el certificado electrónico que se

utilizará para firmar las facturas correspondientes a la empresa que estamos editando.

De esta forma, el certificado con el que se firma una factura se seleccionará

automáticamente, lo que evitará solicitar de nuevo el certificado cada vez que se desee

firmar una factura.

EFACTURA | MANUAL TÉCNICO 18

Funcionalidad extendida

Envío de otros objetos

El módulo de eFactura se puede utilizar para el envío de otros objetos. Para ello hay que

realizar una serie de pasos sobre la base de datos que se describen a continuación.

En la tabla Objetos_Envios_Electronicos se añadirán tantos registros como objetos se

quieran enviar desde cada empresa o delegación.

Si su tabla no tiene ningún registro correspondiente a la factura y va a enviar facturas,

debe insertar dicho registro.

Actualmente, esta opción no tiene un mantenimiento desde el ERP, por lo que tendrá

que insertar los registros directamente en la base de datos.

Por ejemplo, si se quiere automatizar el envío de partes deberá añadir un registro

indicando qué listado va a enviar para dicho objeto. El resultado será similar al siguiente

Donde:

IdEmpresa: -1 para todas las empresas o delegaciones, o el id de la delegación

correspondiente

Objeto: Nombre del objeto que se va a enviar por correo electrónico. Debe

coincidir con el nombre del objeto de la tabla Objetos

TEXTO_CABECERA: Es el texto que se añadirá al principio de cada email, se

puede dejar en blanco. Puede ser texto plano o HTML.

TEXTO_PIE: Es el texto que se añadirá al principio de cada email, se puede dejar

en blanco. Puede ser texto plano o HTML.

Listado: Es el listado que se enviará en caso de seleccionar PDF, debe coincidir

con el campo Listado de la tabla CEESI_Listados para el mismo objeto

Idclasificacion: Es el tipo de listado enviado, debe coincidir con el campo

IdClasificacion de la tabla Documentos_Clasificacion

IdDoc: se añade automáticamente, es un campo id.

InsertUpdate: se añade automáticamente, hace referencia a la fecha en que se

insertó el registro.

Usuario: se añade automáticamente, hace referencia al usuario que insertó o

actualizó el registro.

FechaInsertUpdate: se añade automáticamente, hace referencia a la fecha en

que se insertó o actualizó el registro.

EFACTURA | MANUAL TÉCNICO 19

Por otra parte, hay que programar la inserción en la tabla Envios_Mail_Pendientes de un

registro con los datos correspondientes al envío deseado. Para ello hay varias opciones

Crear un trigger personalizado que inserte dicho registro automáticamente al

realizar alguna acción (por ejemplo, al cerrar un parte).

Crear un procedimiento almacenado personalizado y llamarlo por código,

mediante la programación de pantalla, cuando el usuario lo desee (por ejemplo,

al pulsar un botón).

Los campos a rellenar son los siguientes:

1. Objeto: Nombre del objeto que se va a enviar por correo electrónico. Debe

coincidir con el nombre del objeto de la tabla Objetos

2. IdDocObjeto: IdDoc del objeto en la tabla de la colección. La tabla se puede

saber con la siguiente consulta: select tabla from objetos where objeto like 'Objeto_a_imprimir'

3. IdDocSesion: Es el id de la sesión actual del usuario. Esta información la

podemos obtener con la función dbo.funDameIddocsesion()

4. Listado: Hace referencia al nombre del listado para el objeto a enviar. Podemos

saber este nombre con la siguiente consulta: select * from CEESI_Listados where objeto like 'Objeto_a_imprimir'

5. Descrip: Es la descripción del objeto en cuestión. La mayoría de las tablas

tienen un campo Descrip. Si el objeto que vamos a añadir no tiene dicho

campo, podemos poner otra descripción o dejarlo en blanco.

6. IdContacto: Es el Id del contacto al que se le va a enviar el correo electrónico.

7. Email: Es la dirección de correo a la que se enviará en documento. Esta

información se obtiene de la tabla Contactos.

8. IdEmpleado: Es el Id del empleado que envía el documento. Debe coincidir con

el campo Id de la tabla empleados.

9. WHEREList: Es la cadena que se le pasará a la consulta para obtener el

documento.

10. Enviado: Es un campo booleano. Debemos poner 0 para que se envíe

11. FechaEnvio: Cogeremos la fecha del sistema.

12. TextoCab: Hace referencia al texto de cabecera para mail del objeto a enviar.

Podemos saber esta información con la siguiente consulta: select TEXTO_CABECERA from Objetos_Envios_Electronicos where objeto like

'Objeto_a_imprimir'.

13. TextoPie: Hace referencia al texto de pie para mail del objeto a enviar.

Podemos saber esta información con la siguiente consulta: select TEXTO_PIE from Objetos_Envios_Electronicos where objeto like

'Objeto_a_imprimir'.

14. IdClasificacion: Hace referencia a la clasificación del documento a enviar.

Podemos saber esta información con la siguiente consulta: select TEXTO_PIE from Objetos_Envios_Electronicos where objeto like

'Objeto_a_imprimir'.

15. TipoFactura: Hace referencia al envío de un documento PDF o XML. Debe

coincidir con el campo Tipo_Factura en la tabla eFactura_Tipos.

16. TipoEnvio: Hace referencia al envío de un documento PDF o XML. Debe

coincidir con el campo Tipo_Envio en la tabla eFactura_Tipos_envios, teniendo

en cuenta el campo anterior.

EFACTURA | MANUAL TÉCNICO 20

17. TextoFirma: Es el texto que se añadirá como firma al correo electrónico. Este

texto puede ser texto plano o HTML.

18. TextoEntrada: Es el texto que se añadirá al principio del correo electrónico. Este

texto puede ser texto plano o HTML.

19. IdDoc: se añade automáticamente, es un campo id.

20. InsertUpdate: se añade automáticamente, hace referencia a la fecha en que se

insertó el registro.

21. Usuario: se añade automáticamente, hace referencia al usuario que insertó o

actualizó el registro.

22. FechaInsertUpdate: se añade automáticamente, hace referencia a la fecha en

que se insertó o actualizó el registro.

Ejemplo de inserción de un parte:

INSERT INTO Envios_Mail_Pendientes (Objeto, IdDocObjeto, IdDocSesion, Listado, Descrip, IdContacto, EMail,

Idempleado, WHEREList, Enviado, FechaEnvio, TextoCab, TextoPie, IdClasificacion, Tipo_Factura, Tipo_Envio,

TextoFirma, TextoEntrada)

SELECT DISTINCT 'Parte', P.IdDoc , dbo.funDameIddocsesion(),

ISNULL(c.Pers_ImpParte,ISNULL(cp.Pers_ImpParte,ISNULL(O.Listado,@Listado))), P.Descrip , P.IdContacto

,PP.E_mail,0,'{Partes.IdParte}= ' + CAST( P.Idparte as VARCHAR(50)),0,getdate(),

O.TEXTO_CABECERA,O.TEXTO_PIE,O.IdClasificacion, ISNULL(C.Pers_Tipo_Factura,ISNULL(cp.Pers_Tipo_Factura,0) ),

ISNULL(c.Pers_Tipo_Envio,ISNULL(cp.Pers_Tipo_Envio,0)), dbo.funPers_Descrip_EmailParteEntrada(@idparte),

dbo.funPers_Descrip_EmailParteEntrada(@idparte) FROM PArtes P

INNER JOIN @PartesFirmas PO ON P.IdParte=Po.IdParte

INNER JOIN @Partes PP ON PP.IdParte=P.IdParte

INNER JOIN Conf_Clientes C ON C.IdCliente =P.Idcliente

INNER JOIN Clientes_datos D ON D.IdCliente=P.Idcliente

INNER JOIN Objetos_Envios_Electronicos O ON O.Objeto='Parte'

LEFT JOIN Conf_Clientes CP ON d.Padre =CP.IdCliente

LEFT JOIN Envios_Mail_Pendientes EP ON EP.Objeto='Parte' and EP.iddocobjeto=P.IdDoc

WHERE ISNULL(PP.E_mail,'')<>'' aND Ep.Objeto is null

Una vez insertado el registro en la tabla Envios_Mail_Pendientes, al abrir o refrescar el

módulo de efactura mostrará dicho registro en la tabla de Envíos pendientes. El

funcionamiento del envío de dichos registros funciona de igual manera que si estuviera

enviando una factura electrónica.

Hay que tener en cuenta que la tabla está preparada para mostrar registros de facturas,

por lo que puede que algunos campos estén vacíos o no corresponda el dato con la

cabecera de la tabla, sin embargo, esto no afecta en el envío.

EFACTURA | MANUAL TÉCNICO 21

Otras opciones y configuraciones según versión

3.8 En el caso de querer reenviar una factura, sin tener que actualizarla o por cualquier otro

motivo, tan sólo es necesario seleccionar la opción de menú Factura Añadir para envío.

Opción Factura > Añadir para envío

4.1.0

Para la versión 4.1.0 del ERP es necesario instalar el siguiente script:

42715_20150303_ScriptUnificadoEmailHTML

EFACTURA | MANUAL TÉCNICO 22

Versiones anteriores a la 4.1 En versiones anteriores a la 4.1 hay que ejecutar los siguientes scripts

Scripts

A continuación se muestra la lista de scripts utilizados para incorporar el soporte para la

factura electrónica y su herramienta.

1. pCeesi_Informes_GenerarXML: Crea procedimientos para la generación de

ficheros XML.

2. Facturae_v32: Crea funciones y tablas para generar una factura electrónica v3.2 a

través del objeto “Factura”. En algunos scripts antiguos, la tabla

efectos_tipos_facturae solo tiene una clave primaria y habrá que modificarla para

que la clave primara sea tanto IdTipo como TipoFacturae.

3. Informe_Factura_E_v32_AdministrativeCentres: Genera el informe para la

estructura XML de las facturas FACe (con centros administrativos).

4. Informe Facturae v32 sin centros admins: Genera el informe para la estructura

XML de las facturas por defecto (sin centros administrativos).

5. DIR3: Crea las tablas, vistas y atributos en configurables necesarios para el soporte

de Centros Administrativos (Órganos Gestores, Oficinas Contables y Unidades

Tramitadoras).

6. frmFacturas_CtrlF10: Implementa la programación de pantalla para que en la

pantalla de “Factura” aparezca una pestaña "Factura Electrónica (FACe)". Ésta

permitirá seleccionar los centros administrativos. Si la pantalla ya posee

programación, esta pestaña se deberá implementar manualmente.

7. Mantenimiento_DIR3_Buscador_Script: Script para el mantenimiento de los

centros administrativos. Se debe añadir manualmente añadiendo un buscador de

tipo Script desde el ERP.

8. CamposConfigurablesClientesEmpresas: Añade campos configurables al objeto

“Cliente” (TipoFactura, TipoEnvio, EnvioMailAuto), así como el campo configurable

“Certificado” al objeto “Empresa”.

9. Tablas_EnviosFacturas_Personalizacion_estructura: Crea las tablas y los triggers

necesarios para la gestión de las facturas pendientes de envío. En el trigger

“Pers_FacturaE_Facturas_Cli_Cab_UTrig” es posible modificar el contenido para

personalizar los emails enviados por la herramienta y el servicio de gestión de

factura electrónica.

EFACTURA | MANUAL TÉCNICO 23

10. vEnvios_Mail_Automatico: Crea y rellena las tablas que soportan los posibles tipos

de envío, así como la vista “vEnvios_mail_automatico”.

11. ParametrosNuevos: Aquí tenemos 2 scripts divididos según la versión del cliente

o Parámetros nuevos para versiones igual o superior a la versión

3.8.1000: Añade a la gestión documental, parámetros nuevos, así como

las clasificaciones EFACTURA y CONFIGURACION EFACTURA.

o Parámetros nuevos para versiones inferiores a la versión 3.8.1000:

Añade a la gestión documental, parámetros nuevos.

12. pEmpresa_Firma_Configurar: Añade a la gestión documental el tipo

correspondiente a los ficheros .EML, y los procedimientos

o pEmpresa_Firma_Configurar

o pGenerar_Documento_Mail

o pPreparar_Generacion_XML

13. frmClientes_Datos_Comerciales_CtrlF10: Implementa la programación de

pantalla para que en la pantalla “Cliente” (pestaña “Comerciales”) aparezcan

combos para seleccionar el tipo de envío de facturas. Si la pantalla ya tenía

programación, será necesario implementar estos campos manualmente.

14. Objetos_Envios_Electronicos: Crea una entrada en la tabla

“Objetos_Envios_Electronicos”. Si hay más de una empresa, se deberá crear una

nueva entrada por cada una de ellas.

Deberemos personalizar este script, añadiendo el contenido de dicha entrada:

o Seleccionar la clasificación de documento (crearla previamente en caso de no

existir).

o Elegir el listado que por defecto convertiremos en PDF

15. Procedure poner pendiente: Añade un procedimiento nuevo que se usa en el re-

envío de una factura al programa de gestión de facturas electrónicas.

EFACTURA | MANUAL TÉCNICO 24

Scripts adicionales

Posteriormente al desarrollo de la eFactura, se añadió la funcionalidad que permite la

personalización de los mails enviados: Un asunto, una cabecera, y una firma,

acompañados de un cuerpo que variará según la factura (y, en el caso de mails con varias

facturas, se repetirá cuantas veces sea necesario), todo ello pudiendo utilizar HTML.

Debido a que las versiones más recientes de la herramienta de eFactura requieren que la

base de datos soporte esta funcionalidad, se han añadido nuevos scripts, a lanzar

después de los anteriores.

1. Alter_Tablas: modifica las tablas EnviosMailPendientes y EnviosMailHistorico

para añadir las columnas TextoFirma y TextoEntrada (El texto del asunto y del

cuerpo ya estaba soportado anteriormente).

2. Alter_VEnvios_Mail_Automatico: Modifica la vista para añadir los campos

TextoFirma y TextoEntrada.

3. Descrip_Email_FacturaeAsunto: Función personalizable para definir el asunto de

los mails enviados.

4. Descrip_Email_FacturaeTexto: Función personalizable para definir el cuerpo de

los mails enviados. Se repetirá tantas veces como facturas se adjunten en un

mismo mail, y el resultado de dicha repetición aparecerá entre la entrada y la

firma.

5. Descrip_EmailFacturaeFirma: Función personalizable para definir la firma de los

mails enviados. Se añadirá una única vez al final de cada mail, sin importar cuántas

facturas se han enviado a la vez.

6. Descrip_EmailFacturaeEntrada: Función personalizable para definir la entrada

(cabecera, introducción) de los mails enviados. Se añadirá una única vez al

principio de cada mail, sin importar cuántas facturas se han enviado a la vez.

7. Alter_Pers_Facturas_Cli_cab_UTRIG: Modifica el trigger de actualización de las

facturas para añadir a EnviosMailPendientes los datos obtenidos mediante las

funciones previamente creadas. Hay que vigilar que el trigger tenga el mismo

nombre que el trigger personalizado creado mediante los scripts originales.

8. Alter_pAgregarfactAEnvPendiente: Modifica el procedimiento que añade una

factura a EnviosMailPendientes bajo petición para utilizar las funciones

previamente creadas.

Además, si se quiere usar la funcionalidad extendida de poder enviar otros objetos por

correo electrónico además de la factura, debe asegurarse de que dispone de la última

versión de la vista vEnvios_Mail_Automatico.

1. 20150904_ALTER_VIEW_vEnvios_Mail_Automatico: se encarga de actualizar

la vista.

EFACTURA | MANUAL TÉCNICO 25

F.A.Q.

Error: Missing parameter values

Asegúrese de que en su informe de Crystal Reports no hay rutas relativas

Error: This field name is not known…Error in formula

Asegúrese de que los campos que ha configurado en el campo whereList de la tabla

Envios_Mail_Pendientes son correctos.

EFACTURA | MANUAL TÉCNICO 26

Error: Error al recuperar un generador de clases COM para el

componente con CLSID {…} debido al siguiente error: 80040154

Asegúrese de que tiene la versión de Crystal Reports 11 Release 1 SP6. Debe instalar el

archivo Modulos Crystal Reports 11R2_SP6_3.msi.

Contacte con su administrador de sistemas si no sabe cómo solucionar este error.

Error: Error de tipos de efecto (factura xx) – Uno de los tipos de efecto

seleccionados no tiene correspondencia con los tipos de efecto de

eFactura.

Este error se produce por utilizar formas de pago personalizadas con tipos de efectos

nuevos sin conformar.

Estos tipos de efectos deberán estar conformados con los que actualmente tenemos en

el ERP, para ello en la tabla Efectos_Tipos_Facturae se ha añadido el campo IdTipo y así

poder enlazar los efectos de la factura electrónica con las formas de pago del ERP,

indicadas en la tabla Formas_pago.

Los tipos de efectos aceptados en eFactura son 19, por lo que el TipoFacturae deberá ser

uno de ellos:

TipoFacturae Descripción

01 Al contado

02 Recibo Domiciliado

03 Recibo

04 Transferencia

05 Letra Aceptada

06 Crédito Documentario

07 Contrato Adjudicación

08 Letra de cambio

09 Pagaré a la Orden

10 Pagaré No a la Orden

11 Cheque

12 Reposición

13 Especiales

14 Compensación

EFACTURA | MANUAL TÉCNICO 27

15 Giro postal

16 Cheque conformado

17 Cheque bancario

18 Pago contra reembolso

19 Pago mediante tarjeta

Para insertar dicho registro en la tabla se puede hacer con SQL Management Studio o

adaptando la siguiente consulta a su base de datos

INSERT INTO [dbo].[Efectos_Tipos_Facturae] ([TipoFacturae] ,[IdTipo] ,[Descrip] ) VALUES ('XX', --Es el id del tipo efecto aceptado por eFactura, se

debe seleccionar el adecuado de la tabla superior, es del tipo varchar(2)

XX, --Es el id del tipo de efecto nuevo (select IdTipoEfecto, * from FormasPago_Lineas where IdFormaPago = elIddeLaFormaDePagoNueva)

'Descripción del tipo' –Aquí poner la descripción que corresponda

) GO

Error: Directorio no válido. Detalles: error

Asegúrese de que la descripción de las series de las facturas, así como las rutas de

configuración del ERP no contienen saltos de línea ni otros caracteres especiales.

EFACTURA | MANUAL TÉCNICO 28

Error: Error generando XML. IdFactura xxx. pGenerar_Documento_Mail:

Advertencia: valor NULL eliminado por el agregado u otra operación

SET. Carácter no válido en la línea…

Asegúrese de que no tiene ningún carácter extraño en la línea de pedido. Si es así,

añádalo a la tabla CEESI_Informes_XML_Sustitutos.

EFACTURA | MANUAL TÉCNICO 29

Error general, el registro no se ha podido actualizar. ERROR EN

INSERCIÓN. NO SE HA PODIDO INSERTAR

Este error se suele producir porque no encuentra registros en la tabla

objetos_envios_electronicos relacionados con el objeto que se está enviando.

Para solucionar este error debe insertar tantos registros como objetos vaya a enviar.

EFACTURA | MANUAL TÉCNICO 30