Tablas y suscriptores
Esta sección pretende detallar la extensibilidad de la solución.
Se indicarán las tablas y los suscritores del sistema para facilitar la creación de extensiones que pueden utilizarse para adecuar la solución a las necesidades del cliente.
Aclaración
Dado que la finalidad de la solución es generar archivos XML que cumplan la normativa de facturación electrónica de las administraciones públicas, las tablas y suscriptores del sistema detallados en esta sección serán los afectados por dicha generación de archivos XML.
Tablas
Las tablas del sistema que permiten la generación de archivos XML se describen en los siguientes apartados.
Estas tablas se rellenan a partir de tablas del sistema (facturas/abonos de venta/servicio), y a partir de estas tablas, se generan los archivos XML que serán firmados digitalmente por la solución.
Documentos
Nombre de la tabla
: INNESGFeHeadersCaption
: eSign Facturae HeadersClave primaria
: INNESGFeDocumentType, INNESGFeDocumentNo
Esta tabla se crea a partir de una factura/abono de venta/servicio.
Versión documentos
Nombre de la tabla
: INNESGFeHeadersVersionCaption
: eSign Facturae headers versionClave primaria
: INNESGFeDocumentType, INNESGFeDocumentNo, INNESGFeId
Esta tabla se crea a partir de un documento Facturae.
Líneas
Nombre de la tabla
: INNESGFeLinesCaption
: eSign Facturae LinesClave primaria
: INNESGFeDocumentType, INNESGFeDocumentNo, INNESGFeLineNo
Esta tabla se crea a partir de una línea de factura/abono de venta/servicio.
Salida impuestos
Nombre de la tabla
: INNESGFeTaxesOutputCaption
: eSign Facturae Taxes OutputsClave primaria
: INNESGFeDocumentType, INNESGFeDocumentNo, INNESGFeLineNo
Esta tabla se crea a partir de los impuestos de una factura/abono de venta/servicio.
Detalle pagos
Nombre de la tabla
: INNESGFePaymentDetailsCaption
: eSign Facturae Payment DetailsClave primaria
: INNESGFeDocumentType, INNESGFeDocumentNo, INNESGFeLineNo
Esta tabla se crea a partir de los movimientos de cliente, que contienen la forma de pago, de una factura/abono de venta/servicio.
Documentos adjuntos
Nombre de la tabla
: INNESGFeAttachmentCaption
: eSign Facturae attachmentsClave primaria
: INNESGFeDocumentType, INNESGFeDocumentNo, INNESGFeLineNo
Esta tabla permite añadir documentos adjuntos a distintas entidades del sistema para hacerlos llegar a los documentos Facturae. Desde el documento Facturae se enviarán a los conectores (puertas de enlace).
Documentos importados
Nombre de la tabla
: INNESGFeHeadersReadCaption
: eSign Facturae headers readClave primaria
: INNESGFeDocumentNo
Esta tabla se crea a partir de la importación de documentos Facturae.
Atención
Todas las tablas tienen en común los campos INNESGFeDocumentType
y INNESGFeDocumentNo
en la clave primaria.
INNESGFeDocumentType
es un option con los valores: Invoice
, Credit Memo
, Invoice Service
, Credit Memo Service
.
INNESGFeDocumentNo
se corresponde con el nº de factura/abono de venta/servicio cuyas tablas son: Sales Invoice Header
, Sales Cr.Memo Header
, Service Invoice Header
y Service Cr.Memo Header
.
A partir de cualquier registro de las tablas, y utilizando estos campos, se podría obtener la factura/abono de venta/servicio para realizar las modificacoines oportunas.
Suscriptores
Los suscriptores del sistema permiten modificar los siguientes flujos de trabajo:
- Generación del documento Facturae
- Generación del archivo XML a partir del documento Facturae
- Envío del archivo XML a distintos conectores (puertas de enlace)
- Importación de archivos XML para generación de facturas/abonos de compra
Todos los suscriptores se encuentran en las codeunits
INNESGFePublishers
y INNESGFeImportDocumentHeader
.
Creación de tablas
Para cada tabla de las anteriores, se ha añadido un suscriptor que permite modificar el valor de un campo del registro antes de ser insertado.
OnBeforeInsertHeaders
INNESGFePublishers.OnBeforeInsertHeaders(var Header: INNESGFeHeaders)
Se ejecuta antes de hacer el insert
en la tabla INNESGFeHeaders
.
A partir de la clave primaria de INNESGFeHeader
se puede obtener el documento original (factura/abono de venta/servicio).
OnBeforeInsertLines
INNESGFePublishers.OnBeforeInsertLines(var Lines: Record INNESGFeLines; Headers: Record INNESGFeHeaders)
Se ejecuta antes de hacer el insert
en la tabla INNESGFeLines
.
A partir de la clave primaria de INNESGFeLines
se puede obtener la línea del documento original (factura/abono de venta/servicio). El campo INNESGFeLineNo
se corresponde con el campo Line No.
de la línea del documento original.
OnBeforeInsertTaxesOutputs
INNESGFePublishers.OnBeforeInsertTaxesOutputs(var TaxesOutputs: Record INNESGFeTaxesOutputs, TempVATAmountLine: "VAT Amount Line" temporary; Headers: Record INNESGFeHeaders)
Se ejecuta antes de hacer el insert
en la tabla INNESGFeTaxesOutputs
.
A partir de la clave primaria de INNESGFeTaxesOutputs
se puede obtener el documento original (factura/abono de venta/servicio). Las líneas de impuestos se calculan según el estándar del sistema y se almacenan en la tabla temporal TempVATAmountLine
. El campo INNESGFeLineNo
se corresponde con cada línea de la tabla temporal TempVATAmountLine
(ejemplo de números de líneas: 10.000, 20.000, 30.000, etc.).
OnBeforeInsertPaymentDetails
INNESGFePublishers.OnBeforeInsertPaymentDetails(var PaymentDetails: Record INNESGFePaymentDetails, CustLedgerEntry: "Cust. Ledger Entry"; Headers: Record INNESGFeHeaders)
Se ejecuta antes de hacer el insert
en la tabla INNESGFePaymentDetails
.
A partir de la clave primaria de INNESGFePaymentDetails
se puede obtener el documento original (factura/abono de venta/servicio). Las líneas de pagos se calculan según los movimientos de cliente del sistema, que están en la tabla CustLedgerEntry
. El campo INNESGFeLineNo
se corresponde con cada línea de la tabla CustLedgerEntry
(ejemplo de números de líneas: 10.000, 20.000, 30.000, etc.).
Generación del XML
La generación del XML se divide en 3 nodos básicos contenidos dentro del nodo principal. Este es el esquema básico que se ve afectado por los suscriptores:
<Facturae>
..<FileHeader>
..<Parties>
..<Invoices>
....<Invoice>
......<TaxesOutputs>
........<Tax>
......<Items>
........<InvoiceLine>
......<PaymentDetails>
........<Installment>
FileHeader
se rellena con información relativa a la factura/abono de venta/servicio: indentificación, versión, totales, etc.Parties
se rellena con información relativa al vendedor y comprador de la factura/abono de venta/servicio.Invoices
se rellena con información relativa a la factura/abono de venta/servicio.InvoiceLine
se rellena con información relativa a las líneas de la factura/abono de venta/servicio.
Los suscriptores existentes hacen referencia a los nodos Facturae
, FileHeader
, Parties
, Invoices
, Items
y InvoiceLine
.
OnBeforeGenerateXML
INNESGFePublishers.OnBeforeGenerateXML(var XmlElemRoot: XmlElement; var ExecuteNext: Boolean; Headers: Record INNESGFeHeaders)
Se ejecuta antes de crear los nodos FileHeader
, Parties
e Invoices
dentro del nodo Facturae
del XML.
La variable XmlElemRoot
contiene únicamente el nodo Facturae
y las definiciones de este.
La variable ExecuteNext
permite que no se ejecute el código estándar de generación de los 3 nodos principales FileHeader
, Parties
e Invoices
y sea el usuario quien rellene todo el XML a partir del nodo Facturae
. Para ello, es necesario que esta variable tenga el valor false
.
A partir de la clave primaria de INNESGFeHeader
se puede obtener el documento original (factura/abono de venta/servicio). Este registro contiene la información necesaria para rellenar el XML.
OnAfterGenerateXML
INNESGFePublishers.OnAfterGenerateXML(var XmlElemRoot: XmlElement; var ExecuteNext: Boolean; Headers: Record INNESGFeHeaders)
Se ejecuta después de crear los nodos FileHeader
, Parties
y Invoices
dentro del nodo Facturae
del XML.
La variable XmlElemRoot
contiene todos los nodos rellenos y la definición de estos.
La variable ExecuteNext
no aplica.
A partir de la clave primaria de INNESGFeHeader
se puede obtener el documento original (factura/abono de venta/servicio). Este registro contiene la información necesaria para completar el XML con la información necesaria.
OnBeforeSetFileHeader
INNESGFePublishers.OnBeforeSetFileHeader(var XmlElemRoot: XmlElement; var ExecuteNext: Boolean; Headers: Record INNESGFeHeaders)
Se ejecuta antes de crear el nodo FileHeader
dentro del XML.
La variable XmlElemRoot
contiene únicamente el nodo Facturae
y las definiciones de este.
La variable ExecuteNext
permite que no se ejecute el código estándar de generación del nodo FileHeader
y sea el usuario quien rellene dicho nodo. Para ello, es necesario que esta variable tenga el valor false
.
A partir de la clave primaria de INNESGFeHeader
se puede obtener el documento original (factura/abono de venta/servicio). Este registro contiene la información necesaria para rellenar el XML.
OnAfterSetFileHeader
INNESGFePublishers.OnAfterSetFileHeader(var XmlElemRoot: XmlElement; var ExecuteNext: Boolean; Headers: Record INNESGFeHeaders)
Se ejecuta después de crear el nodo FileHeader
dentro del XML.
La variable XmlElemRoot
contiene el nodo FileHeader
dentro del nodo Facturae
y las definiciones de este.
La variable ExecuteNext
no aplica.
A partir de la clave primaria de INNESGFeHeader
se puede obtener el documento original (factura/abono de venta/servicio). Este registro contiene la información necesaria para rellenar el XML.
OnBeforeSetParties
INNESGFePublishers.OnBeforeSetParties(var XmlElemRoot: XmlElement; var ExecuteNext: Boolean; Headers: Record INNESGFeHeaders)
Se ejecuta antes de crear el nodo Parties
dentro del XML.
La variable XmlElemRoot
contiene el nodo FileHeader
dentro del nodo Facturae
y las definiciones de este.
La variable ExecuteNext
permite que no se ejecute el código estándar de generación del nodo Parties
y sea el usuario quien rellene dicho nodo. Para ello, es necesario que esta variable tenga el valor false
.
A partir de la clave primaria de INNESGFeHeader
se puede obtener el documento original (factura/abono de venta/servicio). Este registro contiene la información necesaria para rellenar el XML.
OnAfterSetParties
INNESGFePublishers.OnAfterSetParties(var XmlElemRoot: XmlElement; var ExecuteNext: Boolean; Headers: Record INNESGFeHeaders)
Se ejecuta después de crear el nodo Parties
dentro del XML.
La variable XmlElemRoot
contiene los nodos FileHeader
y Parties
dentro del nodo Facturae
y las definiciones de este.
La variable ExecuteNext
no aplica.
A partir de la clave primaria de INNESGFeHeader
se puede obtener el documento original (factura/abono de venta/servicio). Este registro contiene la información necesaria para rellenar el XML.
OnBeforeSetInvoices
INNESGFePublishers.OnBeforeSetInvoices(var XmlElemRoot: XmlElement; var ExecuteNext: Boolean; Headers: Record INNESGFeHeaders)
Se ejecuta antes de crear el nodo Invoices
dentro del XML.
La variable XmlElemRoot
contiene los nodos FileHeader
y Parties
dentro del nodo Facturae
y las definiciones de este.
La variable ExecuteNext
permite que no se ejecute el código estándar de generación del nodo Invoices
y sea el usuario quien rellene dicho nodo. Para ello, es necesario que esta variable tenga el valor false
.
A partir de la clave primaria de INNESGFeHeader
se puede obtener el documento original (factura/abono de venta/servicio). Este registro contiene la información necesaria para rellenar el XML.
OnAfterSetInvoices
INNESGFePublishers.OnAfterSetInvoices(var XmlElemRoot: XmlElement; var ExecuteNext: Boolean; Headers: Record INNESGFeHeaders)
Se ejecuta después de crear el nodo Invoices
dentro del XML.
La variable XmlElemRoot
contiene los nodos FileHeader
, Parties
e Invoices
dentro del nodo Facturae
y las definiciones de este.
La variable ExecuteNext
no aplica.
A partir de la clave primaria de INNESGFeHeader
se puede obtener el documento original (factura/abono de venta/servicio). Este registro contiene la información necesaria para rellenar el XML.
OnBeforeSetItems
INNESGFePublishers.OnBeforeSetItems(var XmlElemItems: XmlElement; Headers: Record INNESGFeHeaders; var ExecuteNext: Boolean)
Se ejecuta antes de crear el nodo Invoices/Invoice/Items
dentro del XML.
La variable XmlElemItems
está vacía.
La variable ExecuteNext
permite que no se ejecute el código estándar de generación del nodo Invoices/Invoice/Items
y sea el usuario quien rellene dicho nodo. Para ello, es necesario que esta variable tenga el valor false
.
A partir de la clave primaria de INNESGFeHeader
se puede obtener el documento original (factura/abono de venta/servicio). Este registro contiene la información necesaria para rellenar el XML.
OnAfterSetItems2
INNESGFePublishers.OnAfterSetItems2(var XmlElemInvoice: XmlElement; var XmlElemItems: XmlElement; Headers: Record INNESGFeHeaders)
Se ejecuta después de crear el nodo Invoices/Invoice/Items
dentro del XML.
La variable XmlElemInvoice
contiene los nodos Invoice
creados a partir de la factura.
La variable XmlElemItems
contiene los nodos InvoiceLine
creados a partir de las líneas.
A partir de la clave primaria de INNESGFeHeader
se puede obtener el documento original (factura/abono de venta/servicio). Este registro contiene la información necesaria para rellenar el XML.
OnBeforeSetInvoiceLine
INNESGFePublishers.OnBeforeSetInvoiceLine(var XmlElemInvoiceLine: XmlElement; Lines: Record INNESGFeLines; var ExecuteNext: Boolean; Headers: Record INNESGFeHeaders)
Se ejecuta antes de crear el nodo Invoices/Invoice/Items/InvoiceLine
dentro del XML.
La variable XmlElemInvoiceLine
está vacía.
La variable ExecuteNext
permite que no se ejecute el código estándar de generación del nodo Invoices/Invoice/Items/InvoiceLine
y sea el usuario quien rellene dicho nodo. Para ello, es necesario que esta variable tenga el valor false
.
A partir de la clave primaria de INNESGFeLines
se puede obtener la línea del documento original (factura/abono de venta/servicio). Este registro contiene la información necesaria para rellenar el XML.
OnAfterSetInvoiceLine2
INNESGFePublishers.OnAfterSetInvoiceLine2(var XmlElemItems: XmlElement; var XmlElemInvoiceLine: XmlElement; Lines: Record INNESGFeLines; Headers: Record INNESGFeHeaders)
Se ejecuta después de crear el nodo Invoices/Invoice/Items/InvoiceLine
dentro del XML.
La variable XmlElemItems
contiene los nodos InvoiceLine
creados a partir de las líneas.
La variable XmlElemInvoiceLine
contiene los nodos rellenados a partir de las líneas.
A partir de la clave primaria de INNESGFeLines
se puede obtener la línea del documento original (factura/abono de venta/servicio). Este registro contiene la información necesaria para rellenar el XML.
OnAfterSetTax
INNESGFePublishers.OnAfterSetTax(var XmlElemTax: XmlElement; TaxesOutput: Record INNESGFeTaxesOutputs)
Se ejecuta después de crear el nodo Invoices/Invoice/TaxesOutputs/Tax
dentro del XML.
La variable XmlElemTax
contiene los nodos rellenados a partir de los impuestos.
A partir de la clave primaria de INNESGFeTaxexOutputs
se puede obtener la línea de impuestos del documento original (factura/abono de venta/servicio). Este registro contiene la información necesaria para rellenar el XML.
OnAfterSetTaxBlank
INNESGFePublishers.OnAfterSetTaxBlank(var XmlElemTax: XmlElement; Header: Record INNESGFeHeaders)
Se ejecuta después de crear el nodo Invoices/Invoice/TaxesOutputs/Tax
dentro del XML en el caso de que no hayan impuestos (es necesario informar los impuestos con valor 0).
La variable XmlElemTax
contiene los nodos rellenados con valor 0.
A partir de la clave primaria de INNESGFeHeader
se puede obtener el documento original (factura/abono de venta/servicio). Este registro contiene la información necesaria para rellenar el XML.
OnAfterSetInstallment
INNESGFePublishers.OnAfterSetInstallment(var XmlElemInstallment: XmlElement; PaymentDetails: Record INNESGFePaymentDetails)
Se ejecuta después de crear el nodo Invoices/Invoice/PaymentDetails/Installment
dentro del XML.
La variable XmlElemInstallment
contiene los nodos rellenados a partir de los detalles de pago.
A partir de la clave primaria de INNESGFePaymentDetails
se puede obtener la línea de detalle de pago del documento original (factura/abono de venta/servicio). Este registro contiene la información necesaria para rellenar el XML.
OnAfterProcessDocumentAdd
INNESGFePublishers.OnAfterProcessDocumentAdd(Headers: Record INNESGFeHeaders; HeadersVersion: Record INNESGFeHeadersVersion)
Se ejecuta después de generar y firmar el XML.
La variable Headers
contiene el registro del documento Facturae creado a partir de la factura/abono.
La variable HeadersVersion
contiene el registro de la versión del documento Facturae creada a partir del documento Facturae.
Este evento puede ser util si se quiere obtener el XML una vez generado y firmado.
OnAfterGetCustomer
INNESGFePublishers.OnAfterGetCustomer(Headers: Record INNESGFeHeaders; var Customer: Record Customer)
Se ejecuta antes de generar el XML.
A partir de la clave primaria de INNESGFeHeader
se puede obtener el documento original (factura/abono de venta/servicio). Este registro contiene la información necesaria para rellenar el XML.
La variable Customer
contine la información del cliente relacionado con el documento original.
Este suscriptor se puede utilizar para cargar el cliente a partir de datos del documento Facturae, como por ejemplo, entidades distintas a las estandar (factura/abono de venta/servicio).
Importación del XML
La importación del XML se divide en 3 nodos básicos contenidos dentro del nodo principal. Este es el esquema básico que se ve afectado por los suscriptores:
<Facturae>
..<FileHeader>
..<Parties>
..<Invoices>
....<InvoiceTaxOutput>
....<Items>
......<InvoiceLines>
....<InvoicePaymentDetails>
FileHeader
se rellena con información relativa al nodoFileHeader
del XML.Parties
se rellena con información relativa al nodoParties
del XML.Invoices
se rellena con información relativa a los nodosInvoices
del XML.InvoiceTaxOutput
se rellena con información relativa al nodoTaxOutput
de las facturas del XML.InvoiceLine
se rellena con información relativa al nodoInvoiceLine
de las facturas del XML.InvoicePaymentDetails
se rellena con información relativa al nodoPaymentDetails
de las facturas del XML.
OnAfterGetFacturae
INNESGFeImportDocumentHeader.OnAfterGetFacturae(var XmlDoc: XmlDocument; var HeadersRead: Record INNESGFeHeadersRead)
Se ejecuta después de crear el registro en la tabla INNESFFeHeadersRead
a partir del XML.
La variable XmlDoc
contiene todo el archivo XML.
La variable HeadersRead
contiene el registro creado a partir del XML.
OnAfterGetFileHeader
INNESGFeImportDocumentHeader.OnAfterGetFileHeader(var XmlNodeFileHeader: XmlNode; var HeadersRead: Record INNESGFeHeadersRead)
Se ejecuta después de rellenar los campos de la tabla INNESFFeHeadersRead
referidos al nodo FileHeader
y antes de hacer Modify
.
La variable XmlNodeFileHeader
contiene el nodo FileHeader
del archivo XML.
La variable HeadersRead
contiene el registro creado a partir del XML.
OnAfterGetParties
INNESGFeImportDocumentHeader.OnAfterGetParties(var XmlNodeParties: XmlNode; var HeadersRead: Record INNESGFeHeadersRead)
Se ejecuta después de rellenar los campos de la tabla INNESFFeHeadersRead
referidos al nodo Parties
y antes de hacer Modify
.
La variable XmlNodeParties
contiene el nodo Parties
del archivo XML.
La variable HeadersRead
contiene el registro creado a partir del XML.
OnAfterGetInvoice
INNESGFeImportDocumentHeader.OnAfterGetInvoice(var XmlNodeInvoice: XmlNode; var Invoices: Record INNESGFeInvoices; HeadersRead: Record INNESGFeHeadersRead)
Se ejecuta después de rellenar los campos de la tabla INNESGFeInvoices
referidos a cada línea del nodo Invoices
y antes de hacer Insert
.
La variable XmlNodeInvoice
contiene el nodo Invoice
del archivo XML.
La variable Invoices
contiene el registro creado a partir de cada línea del XML.
La variable HeadersRead
contiene el registro creado a partir del XML.
OnAfterGetInvoiceLine
INNESGFeImportDocumentHeader.OnAfterGetInvoiceLine(var XmlNodeInvoiceLine: XmlNode; var InvoicesLine: Record INNESGFeInvoicesLines; HeadersRead: Record INNESGFeHeadersRead)
Se ejecuta después de rellenar los campos de la tabla INNESGFeInvoicesLines
referidos a cada línea del nodo Items\InvoiceLine
y antes de hacer Insert
.
La variable XmlNodeInvoiceLine
contiene el nodo Item\InvoiceLine
del archivo XML.
La variable InvoicesLine
contiene el registro creado a partir de cada línea del XML.
La variable HeadersRead
contiene el registro creado a partir del XML.
OnAfterGetInvoiceTaxOutput
INNESGFeImportDocumentHeader.OnAfterGetInvoiceTaxOutput(var XmlNodeInvoiceTaxOutput: XmlNode; var InvoicesTaxOutput: Record INNESGFeInvoicesTaxOutput; HeadersRead: Record INNESGFeHeadersRead)
Se ejecuta después de rellenar los campos de la tabla INNESGFeInvoicesTaxOutput
referidos a cada línea del nodo TaxesOutputs\Tax
y antes de hacer Insert
.
La variable XmlNodeInvoiceTaxOutput
contiene el nodo TaxexOutputs\Tax
del archivo XML.
La variable InvoicesTaxOutput
contiene el registro creado a partir de cada línea del XML.
La variable HeadersRead
contiene el registro creado a partir del XML.
OnAfterGetInvoicePaymentDetail
INNESGFeImportDocumentHeader.OnAfterGetInvoicePaymentDetail(var XmlNodeInvoicePaymentDetail: XmlNode; var InvoicesPaymentDetail: Record INNESGFeInvoicesPaymDetail; HeadersRead: Record INNESGFeHeadersRead)
Se ejecuta después de rellenar los campos de la tabla INNESGFeInvoicesPaymentDetail
referidos a cada línea del nodo PaymentDetails\Installment
y antes de hacer Insert
.
La variable XmlNodeInvoicePaymentDetail
contiene el nodo PaymentDetails\Installment
del archivo XML.
La variable InvoicesPaymentDetail
contiene el registro creado a partir de cada línea del XML.
La variable HeadersRead
contiene el registro creado a partir del XML.
OnBeforeCreateInvoice
INNESGFeImportDocumentHeader.OnBeforeCreateInvoice(var PurchaseHeader: Record "Purchase Header"; Invoice: Record INNESGFeInvoices)
Se ejecuta después de rellenar los campos de la tabla Purchase Header
y antes de hacer el Insert
.
La variable PurchaseHeader
contiene el registro de la tabla que se está rellenando.
La variable Invoice
contiene el registro de los datos utilizados para rellenar la tabla Purchase Header
.
OnBeforeCreateInvoiceLine
INNESGFeImportDocumentHeader.OnBeforeCreateInvoiceLine(var PurchaseLine: Record "Purchase Line"; PurchaseHeader: Record "Purchase Header"; Invoice: Record INNESGFeInvoices; InvoiceLine: Record INNESGFeInvoicesLines)
Se ejecuta después de rellenar los campos de la tabla Purchase Line
y antes de hacer el Insert
.
La variable PurchaseLine
contiene el registro de la tabla que se está rellenando.
La variable Invoice
contiene el registro de los datos utilizados para rellenar la tabla Purchase Header
.
La variable InvoiceLine
contiene el registro de los datos utilizados para rellenar la tabla Purchase Line
.
Generales
Existen los siguientes suscriptores generales.
OnBeforeSendToGateway
INNESGFePublishers.OnBeforeSendToGateway(Headers: Record INNESGFeHeaders; Customer: Record Customer; var SendToGateway: Boolean)
Se ejecuta antes de enviar a la puerta de enlace correspondiente.
La variable Headers
contiene el registro del documento Facturae.
La variable Customer
contiene el registro del cliente.
La variable SentToGateway
indica si debe enviarse a la plataforma.
Puede ser util cuando está configurado el envío directo a la plataforma al registrar el documento y para algún cliente no se quiere enviar directamente.
OnBeforeSendByEmail
INNESGFePublishers.OnBeforeSendByEmail(Customer: Record Customer; var Email: Text)
Se ejecuta antes de enviar por email un documento Facturae.
La variable Customer
contiene el registro del cliente.
La variable Email
contienen inicialmente el email que hay indicado en la ficha del cliente. Este pude modificarse o dejarse en blanco si no se quiere enviar email.
Puede ser util para cambiar el email al que se envía un documento o bien no enviarlo.
OnAfterOpenDocumentAction
INNESGFePublishers.OnAfterOpenDocumentAction(Headers: Record INNESGFeHeaders)
Se ejecuta antes de abrir un documento Facturae.
La variable Headers
contiene el registro del documento Facturae.
Este suscriptor se puede utilizar para abrir entidades distintas a las estandar (factura/abono de venta/servicio) a partir de datos del documento Facturae.
Idiomas
Este documento está disponible en los siguientes idiomas: