23. Oktober 2025 12:16
    [EventSubscriber(ObjectType::Codeunit, Codeunit::"Purch. Post Invoice Events", OnPostLedgerEntryOnBeforeGenJnlPostLine, '', true, true)]
    local procedure PurchOnPostLedgerEntryOnBeforeGenJnlPostLine(
        var GenJnlLine: Record "Gen. Journal Line"; var PurchHeader: Record "Purchase Header"; var TotalPurchLine: Record "Purchase Line"; var TotalPurchLineLCY: Record "Purchase Line"; PreviewMode: Boolean; SuppressCommit: Boolean; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line"
    )
    var
        SalesSetup: Record "Sales & Receivables Setup";
    begin
        if (Purchheader."Document Type" = PurchHeader."Document Type"::Invoice) then begin
            SalesSetup.Get();
            if SalesSetup.CustomGLEntryDescription then begin
                GenJnlLine."Vendor Order No." := PurchHeader."Vendor Order No.";
            end;
        end;
    end;
    [EventSubscriber(ObjectType::Codeunit, Codeunit::"Purch. Post Invoice Events", OnAfterPrepareGenJnlLine, '', true, true)]
    local procedure PurchOnAfterPrepareGenJnlLine(
        var GenJnlLine: Record "Gen. Journal Line"; PurchHeader: Record "Purchase Header"; InvoicePostingBuffer: Record "Invoice Posting Buffer"
    )
    var
        SalesSetup: Record "Sales & Receivables Setup";
    begin
        if (Purchheader."Document Type" = PurchHeader."Document Type"::Invoice) then begin
            SalesSetup.Get();
            if SalesSetup.CustomGLEntryDescription then begin
                GenJnlLine."Vendor Order No." := PurchHeader."Vendor Order No.";
            end;
        end;
    end;
    [EventSubscriber(ObjectType::Codeunit, Codeunit::"Gen. Jnl.-Post Line", 'OnBeforeInsertGLEntry', '', true, true)]
    local procedure TransferVendorOrderNo(var GLEntry: Record "G/L Entry"; GenJnlLine: Record "Gen. Journal Line")
    begin
        GLEntry."Vendor Order No." := GenJnlLine."Vendor Order No.";
    end;    [EventSubscriber(ObjectType::Codeunit, Codeunit::"Sales Post Invoice Events", OnPostLedgerEntryOnBeforeGenJnlPostLine, '', true, true)]
    local procedure SalesOnBeforePostCustomerEntry(var GenJnlLine: Record "Gen. Journal Line"; var SalesHeader: Record "Sales Header"; var TotalSalesLine: Record "Sales Line"; var TotalSalesLineLCY: Record "Sales Line"; PreviewMode: Boolean; SuppressCommit: Boolean; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line")
    var
        SalesSetup: Record "Sales & Receivables Setup";
        locItemDescription: Text;
    begin
        SalesSetup.Get();
        if SalesSetup.CustomGLEntryDescription then begin
            If (GenJnlLine."Document Type" = GenJnlLine."Document Type"::Invoice) then begin
                locItemDescription := GetItemDescriptionFromFirstSalesLine(SalesHeader);
                if (locItemDescription <> '') then
                    GenJnlLine.Description := CopyStr(GenJnlLine.Description + ' - ' + SalesHeader."Sell-to Customer No." + ' - ' + locItemDescription, 1, 100);
            end;
        end;
    end;
    [EventSubscriber(ObjectType::Codeunit, Codeunit::"Sales Post Invoice Events", OnAfterPrepareGenJnlLine, '', true, true)]
    local procedure SalesOnAfterPrepareGenJnlLine(var GenJnlLine: Record "Gen. Journal Line"; SalesHeader: Record "Sales Header"; InvoicePostingBuffer: Record "Invoice Posting Buffer")
    var
        SalesSetup: Record "Sales & Receivables Setup";
        locItemDescription: Text;
    begin
        SalesSetup.Get();
        if SalesSetup.CustomGLEntryDescription then begin
            If (GenJnlLine."Document Type" = GenJnlLine."Document Type"::Invoice) then begin
                locItemDescription := GetItemDescriptionFromFirstSalesLine(SalesHeader);
                if (locItemDescription <> '') then
                    GenJnlLine.Description := CopyStr(GenJnlLine.Description + ' - ' + SalesHeader."Sell-to Customer No." + ' - ' + locItemDescription, 1, 100);
            end;
        end;
    end;23. Oktober 2025 12:37
23. Oktober 2025 12:43
23. Oktober 2025 13:04
23. Oktober 2025 13:42
    [EventSubscriber(ObjectType::Codeunit, Codeunit::"Inventory Posting To G/L", OnPostInvtPostBufOnAfterInitGenJnlLine, '', true, true)]
    local procedure ChangeGenJnlLineInvPost(var GenJournalLine: Record "Gen. Journal Line"; var ValueEntry: Record "Value Entry")
    var
        PurchLine: Record "Purchase Line";
        SalesLine: Record "Sales Line";
    begin
        if ValueEntry."Source Type" = ValueEntry."Source Type"::Vendor then begin
            PurchLine.SetRange("Document No.", ValueEntry."Source No.");
            PurchLine.SetRange(Type, PurchLine.Type::Item);
            PurchLine.SetRange("No.", ValueEntry."Item No.");
            if PurchLine.findfirst() then
                GenJournalLine.Description := CopyStr(ValueEntry."Item No." + PurchLine.Description, 1, MaxStrLen(GenJournalLine.Description));
        end else
            if ValueEntry."Source Type" = ValueEntry."Source Type"::Customer then begin
                SalesLine.SetRange("Document No.", ValueEntry."Source No.");
                SalesLine.SetRange(Type, PurchLine.Type::Item);
                SalesLine.SetRange("No.", ValueEntry."Item No.");
                if SalesLine.findfirst() then
                    GenJournalLine.Description := CopyStr(SalesLine.Description, 1, MaxStrLen(GenJournalLine.Description));
            end;
    end;
23. Oktober 2025 14:05
23. Oktober 2025 14:14
elTorito hat geschrieben:Diese generierten Sachposten kann ich im Event OnPostInvtPostBufOnAfterInitGenJnlLine manipulieren,
kann mir jemand sagen wie ich an der Stelle ein Bezug zur Bestellung / Auftrag bekommen kann?
23. Oktober 2025 14:19
23. Oktober 2025 14:44
Das ist nicht immer ein 1:1 Bezug. Die Sachposten ergeben sich aus Regulierungswertposten der Transaktion.