Saltar al contenido

Ampliación de la selección del diseño de documentos al contabilizar

Document Central se puede ampliar con código que permite cambiar el diseño de documentos durante el proceso de contabilización. Esto se logra mediante el uso de eventos proporcionados por la extensión de Document Central. La siguiente documentación explica cómo se pueden utilizar los eventos proporcionados por la extensión de Document Central para modificar el diseño de documentos durante el proceso de contabilización.

Un evento se proporciona que permite cambiar los diseños de documentos basados en un valor específico en el registro. El siguiente evento debe ser creado en una unidad de código de suscripción de eventos, donde se verifican los 'valores' que son responsables del cambio del diseño de documentos. El siguiente código es un ejemplo que cambiaría el diseño de documentos a MS-1304-BLUESIMPLE si el código de ubicación del presupuesto es BLUE.

Evento OnBeforeSetDefaultDocumentLayoutTextDuringPostingProcess

Este evento se puede utilizar para cambiar el diseño de documentos utilizado durante el proceso de contabilización, cuando no se ha configurado un diseño de documento personalizado para el cliente/proveedor. Los siguientes parámetros son proporcionados por el evento:

Info

Al contabilizar/convertir un documento sin diseños de documentos personalizados configurados detrás de los respectivos datos maestros (normalmente cliente o proveedor), solo se archiva 1 informe en Document Central.

Nombre Tipo de dato Longitud Descripción
ParamDocumentLayoutText Texto Indica el diseño de documento determinado por Document Central Configurar diseños de informes personalizados
ParamRecordRef RecordRef Indica el registro fuente donde se realizó la contabilización
ParamReportNoInteger Entero Indica el número de informe del informe
ParamLayoutChangedBoolean Booleano Indica si el diseño de documento fue cambiado por el evento
AL
[EventSubscriber(ObjectType::Codeunit, 5492908, 'OnBeforeSetDefaultDocumentLayoutTextDuringPostingProcess', '', false, false)]
local procedure OnBeforeSetDefaultDocumentLayoutTextDuringPostingProcess_CU5492908(var ParamDocumentLayoutText: Code[20]; ParamRecordRef: RecordRef; ParamReportNoInteger: Integer; var ParamLayoutChangedBoolean: Boolean)
var
    LocalRecordSalesHeader: Record "Sales Header";
begin
    if ParamReportNoInteger = 1304 then begin
        ParamRecordRef.SetTable(LocalRecordSalesHeader);
        if LocalRecordSalesHeader."Location Code" = 'BLUE' then begin
            ParamLayoutChangedBoolean := true;
            ParamDocumentLayoutText := 'MS-1304-BLUESIMPLE';
        end;
    end;
end;

Evento OnBeforeSetCustomDocumentLayoutTextDuringPostingProcess

Este evento se puede utilizar para cambiar los diseños de documentos utilizados durante el proceso de contabilización, cuando se han configurado diseños de documentos personalizados para el cliente/proveedor. Los siguientes parámetros son proporcionados por el evento:

Info

Al contabilizar/convertir un documento, se archivan todos los diseños de documentos personalizados configurados detrás de los respectivos datos maestros (normalmente cliente o proveedor) en Document Central.

Nombre Tipo de dato Longitud Descripción
ParamDocumentLayoutText Texto Indica el diseño de documento determinado por Document Central Configurar diseños de informes personalizados
ParamRecordRef RecordRef Indica el registro fuente donde se realizó la contabilización
ParamReportNoInteger Entero Indica el número de informe del informe
AL
[EventSubscriber(ObjectType::Codeunit, 5492908, 'OnBeforeSetCustomDocumentLayoutTextDuringPostingProcess', '', false, false)]
local procedure OnBeforeSetCustomDocumentLayoutTextDuringPostingProcess_CU5492908(var ParamDocumentLayoutText: Code[20]; ParamRecordRef: RecordRef; ParamReportNoInteger: Integer)
var
    LocalRecordSalesHeader: Record "Sales Header";
begin
    if ParamReportNoInteger = 1304 then begin
        ParamRecordRef.SetTable(LocalRecordSalesHeader);
        if LocalRecordSalesHeader."Location Code" = 'BLUE' then
            ParamDocumentLayoutText := 'MS-1304-BLUESIMPLE';
    end;
end;