[EventSubscriber(ObjectType::Codeunit, Codeunit::"Sales Post Invoice Events", OnAfterPrepareGenJnlLine, '', false, false)]
procedure PostAdditionalJournalEntry(
SalesHeader: Record "Sales Header";
var GenJnlLine: Record "Gen. Journal Line";
InvoicePostingBuffer: Record "Invoice Posting Buffer" temporary)
var
GenJnlPostLine: Codeunit "Gen. Jnl.-Post Batch";
Customer: Record Customer;
lineNo: Integer;
CU: Codeunit "Gen. Jnl.-Post Batch";
begin
Customer.SetRange("No.", SalesHeader."Sell-to Customer No.");
if Customer.FindFirst() then begin
if Customer."E-Commerce Partner ID" <> '' then begin
lineNo := GenJnlLine.GetNewLineNo(GenJnlLine."Journal Template Name", GenJnlLine."Journal Batch Name");
GenJnlLine."Line No." := lineNo;
GenJnlLine."Posting Date" := SalesHeader."Posting Date";
GenJnlLine."Account Type" := GenJnlLine."Account Type"::Customer;
GenJnlLine."Account No." := SalesHeader."Sell-to Customer No.";
GenJnlLine.Amount := InvoicePostingBuffer.Amount;
GenJnlLine."Shortcut Dimension 1 Code" := SalesHeader."Shortcut Dimension 1 Code";
GenJnlLine."Shortcut Dimension 2 Code" := SalesHeader."Shortcut Dimension 2 Code";
GenJnlLine."Dimension Set ID" := SalesHeader."Dimension Set ID";
Clear(GenJnlLine."Gen. Posting Type");
Clear(GenJnlLine."Gen. Bus. Posting Group");
Clear(GenJnlLine."Gen. Prod. Posting Group");
Clear(GenJnlLine."VAT Bus. Posting Group");
Clear(GenJnlLine."VAT Prod. Posting Group");
Clear(GenJnlLine."Document Type");
Clear(GenJnlLine."Bal. Account Type");
Clear(GenJnlLine."Balance Account Id");
GenJnlLine.Insert();
lineNo := 0;
lineNo := GenJnlLine.GetNewLineNo(GenJnlLine."Journal Template Name", GenJnlLine."Journal Batch Name");
GenJnlLine."Line No." := lineNo;
GenJnlLine."Posting Date" := SalesHeader."Posting Date";
GenJnlLine."Account Type" := GenJnlLine."Account Type"::Customer;
GenJnlLine."Account No." := Customer."E-Commerce Partner ID";
GenJnlLine.Amount := -InvoicePostingBuffer.Amount;
GenJnlLine."Shortcut Dimension 1 Code" := SalesHeader."Shortcut Dimension 1 Code";
GenJnlLine."Shortcut Dimension 2 Code" := SalesHeader."Shortcut Dimension 2 Code";
GenJnlLine."Dimension Set ID" := SalesHeader."Dimension Set ID";
Clear(GenJnlLine."Gen. Posting Type");
Clear(GenJnlLine."Gen. Bus. Posting Group");
Clear(GenJnlLine."Gen. Prod. Posting Group");
Clear(GenJnlLine."VAT Bus. Posting Group");
Clear(GenJnlLine."VAT Prod. Posting Group");
Clear(GenJnlLine."Document Type");
Clear(GenJnlLine."Bal. Account Type");
Clear(GenJnlLine."Balance Account Id");
GenJnlLine.Insert();
end;
end
else
exit;
end;
}