Skip to content

[NL][Codeunit][11000006][CBGStatementReconciliation][MatchCBGStatementLine] Add integration event OnMatchCBGStatementLineOnAfterFillAppliesToFieldsCustomer #30153

@KateDovgalova

Description

@KateDovgalova

Why do you need this change?

In 4PS Construct we need to validate "Applies-to Doc. No." in "CBG Statement Line" (and execute PaymentToleranceMgt.PmtTolCBGJnl) in procedure MatchCBGStatementLine of codeunit 11000006 "CBG Statement Reconciliation" after assigning value from CustLedgerEntry."Document No.".

Describe the request

Dear ALAppExtensions team,

On behalf of 4PS I would like to request integration event 'OnMatchCBGStatementLineOnAfterFillAppliesToFieldsCustomer' to be added to procedure MatchCBGStatementLine of codeunit 11000006 "CBG Statement Reconciliation".

                    CBGStatementLine."Account Type"::Customer:
                        begin
                            CustLedgerEntry.Reset();
                            CustLedgerEntry.SetCurrentKey("Customer No.", Open);
                            CustLedgerEntry.SetRange("Customer No.", CBGStatementLine."Account No.");
                            CustLedgerEntry.SetRange(Open, true);
                            CustLedgerEntry.SetFilter("Document Type", '<>%1', CustLedgerEntry."Document Type"::Payment);
                            GetTransactionModeFilter(CBGStatementLine, strFilter, TransactionMode."Account Type"::Customer);
                            if strFilter <> '' then
                                CustLedgerEntry.SetFilter("Transaction Mode Code", strFilter);
                            OnMatchCBGStatementLineOnBeforeFindCustLedgEntries(CustLedgerEntry, CBGStatement, CBGStatementLine);
                            if CustLedgerEntry.FindSet() then
                                repeat
                                    CustLedgerEntry.CalcFields("Remaining Amount");
                                    if Abs(CBGStatementLine.Amount) =
                                       Abs(CustLedgerEntry."Remaining Amount" - CustLedgerEntry."Remaining Pmt. Disc. Possible")
                                    then begin
                                        EntriesCount += 1;
                                        EntryNo := CustLedgerEntry."Entry No.";
                                    end;
                                until (CustLedgerEntry.Next() = 0) or (EntriesCount > 1);
                            if EntriesCount = 1 then begin
                                CustLedgerEntry.Get(EntryNo);
                                CBGStatementLine."Applies-to Doc. Type" := CustLedgerEntry."Document Type";
                                CBGStatementLine."Applies-to Doc. No." := CustLedgerEntry."Document No.";
                                OnMatchCBGStatementLineOnAfterFillAppliesToFieldsCustomer(CBGStatementLine); // new
                                CBGStatementLine."Reconciliation Status" := CBGStatementLine."Reconciliation Status"::Applied;
                                NumberOfLinesApplied := NumberOfLinesApplied + 1;
                                if RecChanged then
                                    NumberOfLinesChanged := NumberOfLinesChanged - 1;
                                RecChanged := true;
                            end;
                        end;
    [IntegrationEvent(false, false)]
    local procedure OnMatchCBGStatementLineOnAfterFillAppliesToFieldsCustomer(var CBGStatementLine: Record "CBG Statement Line")
    begin
        // new
    end;

Metadata

Metadata

Assignees

No one assigned

    Labels

    missing-infoThe issue misses information that prevents it from completion.

    Type

    No fields configured for Task.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions