Eventos
Introducción
iDynamics VeriFactu publica eventos, con el objeto de simplificar y facilitar la personalización de los datos a enviar a la agencia tributaria. Aunque existen más eventos listados en este documento, le recomendamos que preste especial atención a los siguientes, ya que suele ser los eventos adecuados para la gran mayoría de personalizaciones:
- OnBeforeAddDocument. Se ejecuta antes de crearse un documento en la cola de salida y es el evento a usar si no se quiere crear un documento VeriFactu a enviar para determinadas facturas o abonos de venta o servicio.
- OnAfterAddDocument. Se ejecuta cuando se crea un documento en la cola de salida y es el evento a usar si quiere personalizar los datos del documento VeriFactu a enviar.
Eventos disponibles
A continuación se detallan los principales eventos disponibles en iDynamics VeriFactu. Recuerde que en la página de ejemplos encontrarán código con ejemplos concretos de uso.
No obstante, se pueden ir añadiendo nuevos eventos conforme se vayan necesitando para personalizaciones. Para ello, háganoslo saber a través de nuestro portal de soporte.
OnBeforeAddDocument
OnBeforeAddDocument(var CustLedgerEntry: Record "Cust. Ledger Entry"; var Handled: Boolean)
Emitido por: codeunit "IDPVER Load Document Mgt".
Este evento se ejecuta antes de crearse un registro de facturación de alta en la cola de documentos a enviar al servicio VeriFactu de la AEAT y es muy útil si no se quieren enviar determinadas facturas, por ejemplo, según la serie o según la fecha de inicio.
Recibe como parámetro el movimiento de cliente asociado a la factura/abono de venta o servicio a enviar a VeriFactu. Si no se desea generar documento en la cola de salida para dicho mov. cliente según ciertas condiciones (nº serie, fecha de inicio, etc.), hay que asignar VERDADERO a la variable Handled.
OnAfterAddDocument
OnAfterAddDocument(var VeriFactuDocument: Record "IDPVER Document")
Emitido por: codeunit "IDPVER Load Document Mgt".
Este evento se ejecuta cada vez que se crea un registro de facturación de alta en la cola de documentos a enviar al servicio VeriFactu de la AEAT.
Recibe como parámetro el registro, con todos los datos ya calculados. A partir de ese momento, se pueden realizar todos los cambios necesarios al registro, incluyendo la posibilidad de eliminar el creado por la app.
Este es el evento más utilizado para realizar personalizaciones, ya que permite recuperar la factura o documento de origen, y a partir de ella actualizar los datos que sean necesarios.
OnAfterAddDocumentFromPosted
OnAfterAddDocumentFromPosted(var SentVeriFactuDocument: Record "IDPVER Sent Document"; var VeriFactuDocument: Record "IDPVER Document")
Emitido por: codeunit "IDPVER Load Document Mgt".
Este evento se ejecuta cada vez que se crea un registro de subsanación en la cola de documentos a enviar al servicio VeriFactu de la AEAT. Se diferencia del anterior en que el primero se ejecuta cuando se crean nuevos registros desde los movimientos de contabilidad, y este se ejecuta cuando alguien entra en el histórico de envíos y pulsa el botón de Crear subsanación.
Recibe como parámetro el registro enviado y el nuevo registro en la cola de salida, con los datos originales del envío, pero configurado para enviar un alta de subsanación.
OnBeforeLoadDocuments
OnBeforeLoadDocuments()
Emitido por todos los informes de proceso de carga de documentos VeriFactu: "IDPVER Load Documents" y "IDPVER Load Issued (Filters)".
Este evento se ejecuta antes de comenzar la carga de registros en la cola de salida de documentos VeriFactu.
OnAfterLoadDocuments
OnAfterLoadDocuments()
Emitido por todos los informes de proceso de carga de documentos VeriFactu: "IDPVER Load Documents" y "IDPVER Load Issued (Filters)".
Este evento se ejecuta al finalizar la carga de registros en la cola de salida de documentos VeriFactu.
OnAfterFilterVatEntries
OnAfterFilterVatEntries(var VerifactuDocument: Record "IDPVER Document"; var VatEntry: Record "VAT Entry")
Emitido por: codeunit "IDPVER Load Document Mgt".
Este evento se ejecuta cada vez que se actualizan los importes de un documento de la cola de salida de VeriFactu, tanto en el momento de cargar datos en la cola, como al pulsar el botón de "Actualizar importes", dentro del mismo.
Se lanza justo después de filtrar los movimientos de IVA asociados a la factura/abono correspondiente al documento VeriFactu, y sirve para poder aplicar filtros adicionales sobre los mismos, por ejemplo, para no tener en cuenta algunos de ellos y que, por tanto, no se carguen en el desglose de impuestos del documento a enviar a VeriFactu, ni sumen al los importes totales del mismo (cuota e importe total).
OnAfterFilterNoTaxableEntries
OnAfterFilterNoTaxableEntries(var VerifactuDocument: Record "IDPVER Document"; var NoTaxableEntry: Record "No Taxable Entry")
Emitido por: codeunit "IDPVER Load Document Mgt".
Este evento se ejecuta cada vez que se actualizan los importes de un documento de la cola de salida de VeriFactu, tanto en el momento de cargar datos en la cola, como al pulsar el botón de "Actualizar importes", dentro del mismo.
Se lanza justo después de filtrar los movimientos no gravables asociados a la factura/abono correspondiente al documento VeriFactu, y sirve para poder aplicar filtros adicionales sobre los mismos, por ejemplo, para no tener en cuenta algunos de ellos y que, por tanto, no se carguen en el desglose de impuestos del documento a enviar a VeriFactu, ni sumen al los importes totales del mismo (cuota e importe total).
OnBeforeAddCertificateToHttpClient
OnBeforeAddCertificateToHttpClient(var HttpClientParam: HttpClient; var Handled: Boolean)
Emitido por: codeunit "IDPVER Send Document".
Se ejecuta antes de enviar los registros de facturación al servicio VeriFactu de la AEAT, cuando recupera el certificado del almacén de certificados y lo añade al HttpClient. Es muy útil si los certificados se almacenan fuera de Business Central.
En caso de asignarse la variable Handled a VERDADERO, se considerará que el certificado se ha recuperado y se ha añadido HttpClient, y la aplicación no tratará de cargarlo desde el campo correspondiente a VeriFactu de Business Central.