Skip to content

[Event Request] Page 126 "Cust. Ledg. Entries Preview", page 128 "Vend. Ledg. Entries Preview" - OnAfterCalcAmounts #29885

@KlaasKleermaker

Description

@KlaasKleermaker

Why do you need this change?

In 4PS Construct we have added a Document Type "Retention" to the customer and vendor ledger entries. Therefore we need to adjust the calculation of the amounts.

Describe the request

Dear ALAppExtensions team,

On behalf of 4PS I would like to request integration event 'OnAfterCalcAmounts' to be added to procedure CalcAmounts in page 126 "Cust. Ledg. Entries Preview" and page 128 "Vend. Ledg. Entries Preview".

Page 126 "Cust. Ledg. Entries Preview":

    procedure CalcAmounts()
    begin
        AmountFCY := 0;
        AmountLCY := 0;
        RemainingAmountLCY := 0;
        RemainingAmountFCY := 0;
        OriginalAmountLCY := 0;
        OriginalAmountFCY := 0;

        TempDetailedCustLedgEntry.SetRange("Cust. Ledger Entry No.", Rec."Entry No.");
        if TempDetailedCustLedgEntry.FindSet() then
            repeat
                if TempDetailedCustLedgEntry."Entry Type" = TempDetailedCustLedgEntry."Entry Type"::"Initial Entry" then begin
                    OriginalAmountFCY += TempDetailedCustLedgEntry.Amount;
                    OriginalAmountLCY += TempDetailedCustLedgEntry."Amount (LCY)";
                end;
                if not (TempDetailedCustLedgEntry."Entry Type" in [TempDetailedCustLedgEntry."Entry Type"::Application,
                                                                   TempDetailedCustLedgEntry."Entry Type"::"Appln. Rounding"])
                then begin
                    AmountFCY += TempDetailedCustLedgEntry.Amount;
                    AmountLCY += TempDetailedCustLedgEntry."Amount (LCY)";
                end;
                RemainingAmountFCY += TempDetailedCustLedgEntry.Amount;
                RemainingAmountLCY += TempDetailedCustLedgEntry."Amount (LCY)";
            until TempDetailedCustLedgEntry.Next() = 0;
        OnAfterCalcAmounts(Rec, TempDetailedCustLedgEntry, AmountFCY, AmountLCY, RemainingAmountFCY, RemainingAmountLCY, OriginalAmountFCY, OriginalAmountLCY); //new
    end;
    [IntegrationEvent(false, false)]
    local procedure OnAfterCalcAmounts(CustLedgerEntry: Record "Cust. Ledger Entry"; var TempDetailedCustLedgEntry: Record "Detailed Cust. Ledg. Entry" temporary; var AmountFCY: Decimal; var AmountLCY: Decimal; var RemainingAmountFCY: Decimal; var RemainingAmountLCY: Decimal; var OriginalAmountFCY: Decimal; var OriginalAmountLCY: Decimal)
    begin
	    //new
    end;

Page 128 "Vend. Ledg. Entries Preview"

    local procedure CalcAmounts(var AmountFCY: Decimal; var AmountLCY: Decimal; var RemainingAmountFCY: Decimal; var RemainingAmountLCY: Decimal; var OriginalAmountFCY: Decimal; var OriginalAmountLCY: Decimal)
    begin
        AmountFCY := 0;
        AmountLCY := 0;
        RemainingAmountLCY := 0;
        RemainingAmountFCY := 0;
        OriginalAmountLCY := 0;
        OriginalAmountFCY := 0;

        TempDetailedVendLedgEntry.SetRange("Vendor Ledger Entry No.", Rec."Entry No.");
        if TempDetailedVendLedgEntry.FindSet() then
            repeat
                if TempDetailedVendLedgEntry."Entry Type" = TempDetailedVendLedgEntry."Entry Type"::"Initial Entry" then begin
                    OriginalAmountFCY += TempDetailedVendLedgEntry.Amount;
                    OriginalAmountLCY += TempDetailedVendLedgEntry."Amount (LCY)";
                end;
                if not (TempDetailedVendLedgEntry."Entry Type" in [TempDetailedVendLedgEntry."Entry Type"::Application,
                                                                   TempDetailedVendLedgEntry."Entry Type"::"Appln. Rounding"])
                then begin
                    AmountFCY += TempDetailedVendLedgEntry.Amount;
                    AmountLCY += TempDetailedVendLedgEntry."Amount (LCY)";
                end;
                RemainingAmountFCY += TempDetailedVendLedgEntry.Amount;
                RemainingAmountLCY += TempDetailedVendLedgEntry."Amount (LCY)";
            until TempDetailedVendLedgEntry.Next() = 0;
        OnAfterCalcAmounts(Rec, TempDetailedVendLedgEntry, AmountFCY, AmountLCY, RemainingAmountFCY, RemainingAmountLCY, OriginalAmountFCY, OriginalAmountLCY); //new
    end;
    [IntegrationEvent(false, false)]
    local procedure OnAfterCalcAmounts(VendorLedgerEntry: Record "Vendor Ledger Entry"; var TempDetailedVendLedgEntry: Record "Detailed Vendor Ledg. Entry" temporary; var AmountFCY: Decimal; var AmountLCY: Decimal; var RemainingAmountFCY: Decimal; var RemainingAmountLCY: Decimal; var OriginalAmountFCY: Decimal; var OriginalAmountLCY: Decimal)
    begin
	    //new
    end;

Internal work item: AB#629849

Metadata

Metadata

Assignees

No one assigned

    Labels

    SCMGitHub request for SCM areaevent-requestRequest for adding an event

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions