SII - Métodos públicos
Introducción
En este documento se detallan alguno de los métodos públicos que pueden resultar de utilidad a partners y programadores que deseen personalizar el producto.
Creación de nuevos documentos en la cola
Para facilitar la creación de documentos por código en la cola de salida, la propia tabla IDPSII Document cuenta con varios métodos que permiten inicializar los datos correspondientes a un mensaje concreto. En particular:
- SetInsuranceOperationDefaultValues(). Asigna los valores iniciales para crear un mensaje de operaciones de seguros.
- SetTravelAgencyOperationDefaultValues(). Asigna los valores iniciales para crear un mensaje de operaciones de agencias de viajes.
- SetConsignedGoodsDefaultValues(). Asigna los valores iniciales para crear un mensaje de venta de bienes en consigna.
- SetCollectionInCashDefaultValues(). Asigna los valores iniciales para crear un mensaje de cobros en metálico.
Además, si se desea lanzar por código la creación de un mensaje de factura de venta o compra, la codeunit IDPSII Load Document Mgt incluye los métodos:
- CreateIssuedDocument(CustLedgerEntry: Record "Cust. Ledger Entry")
- CreateReceivedDocument(VendorLedgerEntry: Record "Vendor Ledger Entry")
El primero crea un documento de factura emitida a partir de un movimiento de cliente, y el segundo un documento de factura recibida a partir de un movimiento de proveedor.
Actualización y archivado de documentos
UpdateAmounts()
Disponible en la propia tabla IDPSII Document, actualiza los importes del documento usando la configuración actual de cruces de IVA.
ArchiveDocument(SiiDocument: Record "IDPSII Document")
Disponible en la codeunit IDPSII Load Document Mgt, este método permite archivar un documento de la cola de salida y enviarlo al histórico de mensajes, con el estado Not Sent.
Si se desea archivar un documento en el evento OnAfterAddDocuments, justo mientras se está creando, es suficiente con asignar el estado Not Sent al campo Status del documento. Llamar a este método durante ese proceso, en el que aún se está creando, podría duplicar el registro.