Event is needed to reverse G/L Entries.
local procedure InsertRelatedAndAppliedEntries(BankAccountNo: Code[20]; StatementNo: Code[20]; StatementLineNo: Integer; AccountType: Enum "Gen. Journal Account Type"; var BankAccountLedgerEntry: Record "Bank Account Ledger Entry")
var
CustLedgerEntry: Record "Cust. Ledger Entry";
VendorLedgerEntry: Record "Vendor Ledger Entry";
EmployeeLedgerEntry: Record "Employee Ledger Entry";
begin
InsertBankPaymentRecRelatedEntry(BankAccountLedgerEntry, StatementNo, StatementLineNo);
// Find if there's any Customer, Vendor or Employee related entries for this Bank Account Ledger Entry
case AccountType of
AccountType::Customer:
begin
CustLedgerEntry.SetRange("Document No.", BankAccountLedgerEntry."Document No.");
CustLedgerEntry.SetRange("Posting Date", BankAccountLedgerEntry."Posting Date");
CustLedgerEntry.SetRange(Reversed, false);
CustLedgerEntry.SetRange("Transaction No.", BankAccountLedgerEntry."Transaction No.");
CustLedgerEntry.SetRange("Customer No.", BankAccountLedgerEntry."Bal. Account No.");
if CustLedgerEntry.FindSet() then
repeat
InsertRelatedAndAppliedEntries(BankAccountNo, StatementNo, StatementLineNo, CustLedgerEntry);
until CustLedgerEntry.Next() = 0;
end;
AccountType::Vendor:
begin
VendorLedgerEntry.SetRange("Document No.", BankAccountLedgerEntry."Document No.");
VendorLedgerEntry.SetRange("Posting Date", BankAccountLedgerEntry."Posting Date");
VendorLedgerEntry.SetRange(Reversed, false);
VendorLedgerEntry.SetRange("Transaction No.", BankAccountLedgerEntry."Transaction No.");
VendorLedgerEntry.SetRange("Vendor No.", BankAccountLedgerEntry."Bal. Account No.");
if VendorLedgerEntry.FindSet() then
repeat
InsertRelatedAndAppliedEntries(BankAccountNo, StatementNo, StatementLineNo, VendorLedgerEntry);
until VendorLedgerEntry.Next() = 0;
end;
AccountType::Employee:
begin
EmployeeLedgerEntry.SetRange("Document No.", BankAccountLedgerEntry."Document No.");
EmployeeLedgerEntry.SetRange("Posting Date", BankAccountLedgerEntry."Posting Date");
EmployeeLedgerEntry.SetRange(Reversed, false);
EmployeeLedgerEntry.SetRange("Transaction No.", BankAccountLedgerEntry."Transaction No.");
EmployeeLedgerEntry.SetRange("Employee No.", BankAccountLedgerEntry."Bal. Account No.");
if EmployeeLedgerEntry.FindSet() then
repeat
InsertRelatedAndAppliedEntries(BankAccountNo, StatementNo, StatementLineNo, EmployeeLedgerEntry);
until EmployeeLedgerEntry.Next() = 0;
end;
end;
OnAfterInsertRelatedAndAppliedEntries(BankAccountNo, StatementNo, StatementLineNo, BankAccountLedgerEntry);
end;
[IntegrationEvent(false, false)]
local procedure OnAfterInsertRelatedAndAppliedEntries(BankAccountNo: Code[20]; StatementNo: Code[20]; StatementLineNo: Integer; var BankAccountLedgerEntry: Record "Bank Account Ledger Entry")
begin
end;
Why do you need this change?
Event is needed to reverse G/L Entries.
Describe the request
Please add new Event in
codeunit 386 "Reverse Payment Rec. Journal"
in the bottom of procedure "InsertRelatedAndAppliedEntries"
Internal work item: AB#635586