Aller au contenu

Extension de la sélection du modèle de document lors de la réservation

Document Central peut être étendu par du code qui permet de modifier le modèle de document pendant le processus de réservation. Cela est réalisé en utilisant des événements fournis par l'extension Document Central. La documentation suivante explique comment les événements fournis par l'extension Document Central peuvent être utilisés pour modifier le modèle de document pendant le processus de réservation.

Un événement est fourni, permettant de modifier les modèles de documents en fonction d'une valeur spécifique dans l'enregistrement. L'événement suivant doit être créé dans une unité de code d'abonnement d'événements, où les 'valeurs' responsables de la modification du modèle de document sont vérifiées. Le code suivant est un exemple qui changerait le modèle de document en MS-1304-BLUESIMPLE si le code d'emplacement de l'offre BLUE est présent.

Événement OnBeforeSetDefaultDocumentLayoutTextDuringPostingProcess

Cet événement peut être utilisé pour changer le modèle de document utilisé pendant le processus de réservation, lorsque aucun modèle de document personnalisé n'a été configuré pour le client/fournisseur. Les paramètres suivants sont fournis par l'événement :

Info

Lors de la réservation/de la conversion d'un document sans modèles de documents personnalisés configurés derrière les données de base respectives (normalement client ou fournisseur), un seul rapport est archivé dans Document Central.

Nom Type de données Longueur Description
ParamDocumentLayoutText Texte Indique le modèle de document déterminé par Document Central Configurer des modèles de rapport personnalisés
ParamRecordRef RecordRef Indique l'enregistrement source où la réservation a été effectuée
ParamReportNoInteger Entier Indique le numéro de rapport du rapport
ParamLayoutChangedBoolean Booléen Indique si le modèle de document a été modifié par l'événement
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;

Événement OnBeforeSetCustomDocumentLayoutTextDuringPostingProcess

Cet événement peut être utilisé pour changer les modèles de documents utilisés pendant le processus de réservation, lorsque des modèles de documents personnalisés ont été configurés pour le client/fournisseur. Les paramètres suivants sont fournis par l'événement :

Info

Lors de la réservation/de la conversion d'un document, tous les modèles de documents personnalisés configurés derrière les données de base respectives (normalement client ou fournisseur) sont archivés dans Document Central.

Nom Type de données Longueur Description
ParamDocumentLayoutText Texte Indique le modèle de document déterminé par Document Central Configurer des modèles de rapport personnalisés
ParamRecordRef RecordRef Indique l'enregistrement source où la réservation a été effectuée
ParamReportNoInteger Entier Indique le numéro de rapport du rapport
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;