Saltar al contenido

Ampliación de informes con Document Central

Document Central puede ser ampliado mediante código para permitir la archivación automática al imprimir un informe o al registrar o convertir un documento. Durante este proceso, el documento se pasa a la cola de archivo de Document Central. Para que la archivación se active, el informe también debe configurarse en la Configuración del Informe de Document Central.

Warning

La ampliación de informes para Document Central ya no es necesaria a partir de la versión 21.16.6.0 (BC 21), 22.7.6.0 (BC22) y 23.3.6.0 (BC23). La nueva y muy sencilla forma es utilizar la integración del evento de impresión y marcar la opción "Imprimir en el evento" en la Configuración del Informe de Document Central. Al activar esta opción, tiene el mismo efecto que la ampliación de su código de informe. Esto provoca que el informe se archive a través de la cola de informes de Document Central tan pronto como se imprima desde el sistema, siempre que esto esté configurado en la configuración del informe de Document Central.

Hay dos formas de agregar el código necesario a los informes:

En el caso de un informe propio, puede agregar el código directamente al informe. Para otros informes, puede crear una ampliación de informe que ejecute el código.

Los siguientes requisitos deben cumplirse:

  • El módulo de Document Central debe estar licenciado.
  • CORE debe estar disponible como referencia en la ampliación.
  • Document Central debe estar presente como referencia en la ampliación.

Código para la ampliación de un informe de Business Central con Document Central:

AL
reportextension 5492913 "SIM_DMS Sales Quote Ext" extends "Standard Sales - Quote"
{
    trigger OnPostReport()

    var
        LocalCodeunitSIMDMSArchiveMgt: Codeunit "SIM_DMS Archive Mgt";
        LocalCodeunitSIMDMSSI: Codeunit "SIM_DMS SI";
        LocalCodeunitSIMDMSMgt: Codeunit "SIM_DMS Mgt.";
        LocalRecordRef: RecordRef;
        LocalReportIDInteger: Integer;
    begin

        if not EVALUATE(LocalReportIDInteger, COPYSTR(CurrReport.OBJECTID(FALSE), 7)) then exit;
        LocalCodeunitSIMDMSSI.SetRequestPage(LocalCodeunitSIMDMSMgt.GetRequestPageXML(LocalReportIDInteger));

        LocalRecordRef.GETTABLE(Header);
        LocalCodeunitSIMDMSArchiveMgt.OnReportPostDataItem(LocalRecordRef, LocalReportIDInteger, CurrReport.PREVIEW);
    end;

    procedure HasDMSReportExtensionSIM_DMS(): Boolean
    begin
        exit(true);
    end;
}