e-factura - funcionalidad.ahora.esfuncionalidad.ahora.es/documentos/office...
TRANSCRIPT
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.