microsoft / ALAppExtensions

Repository for collaboration on Microsoft AL application add-on and localization extensions for Microsoft Dynamics 365 Business Central.
MIT License
748 stars 600 forks source link

[Event Request] TAB111 Sales Shipment Line - Procedure InsertInvLineFromShptLine - OnInsertInvLineFromShptLineOnAfterCalcUnitPrice #26750

Closed MH1612 closed 6 days ago

MH1612 commented 1 week ago

Describe the request

Please add the following Event/-s OnInsertInvLineFromShptLineOnAfterCalcUnitPrice to procedure InsertInvLineFromShptLine in TAB111 Sales Shipment Line

[Event Request] TAB111 Sales Shipment Line - Procedure InsertInvLineFromShptLine
                PrepaymentMgt.TestSalesOrderLineForGetShptLines(SalesOrderLine);
                InitCurrency("Currency Code");

                if SalesInvHeader."Prices Including VAT" then begin
                    if not SalesOrderHeader."Prices Including VAT" then
                        SalesOrderLine."Unit Price" :=
                          Round(
                            SalesOrderLine."Unit Price" * (1 + SalesOrderLine."VAT %" / 100),
                            Currency."Unit-Amount Rounding Precision");
                end else
                    if SalesOrderHeader."Prices Including VAT" then
                        SalesOrderLine."Unit Price" :=
                          Round(
                            SalesOrderLine."Unit Price" / (1 + SalesOrderLine."VAT %" / 100),
                            Currency."Unit-Amount Rounding Precision");
            end else begin
                SalesOrderHeader.Init();
                if ExtTextLine or (Type = Type::" ") then begin
                    SalesOrderLine.Init();
                    SalesOrderLine."Line No." := "Order Line No.";
                    SalesOrderLine.Description := Description;
                    SalesOrderLine."Description 2" := "Description 2";
                    OnInsertInvLineFromShptLineOnAfterAssignDescription(Rec, SalesOrderLine);
                end else
                    Error(Text001);
            end;

           // NEW
           OnInsertInvLineFromShptLineOnAfterCalcUnitPrice(Rec, SalesHeader, SalesHeader2, SalesLine, SalesOrderLine, Currency);
           // NEW

            SalesLine := SalesOrderLine;
            SalesLine."Line No." := NextLineNo;
            SalesLine."Document Type" := TempSalesLine."Document Type";
            SalesLine."Document No." := TempSalesLine."Document No.";
            SalesLine."Variant Code" := "Variant Code";
            SalesLine."Location Code" := "Location Code";
    [IntegrationEvent(false, false)]
    local procedure OnInsertInvLineFromShptLineOnAfterCalcUnitPrice(var SalesShipmentLine: Record "Sales Shipment Line"; SalesHeader: Record "Sales Header"; SalesHeader2: Record "Sales Header"; var SalesLine: Record "Sales Line"; var SalesOrderLine: Record "Sales Line"; Currency: Record Currency)
    begin
    end;

Additional context

Similar to Event in Return Receipt Line. Set a Temp Sales Header in Sales Line. Internal work item: AB#539822

JakovljevicDusan commented 6 days ago

Hi @MH1612,

Similar event publisher OnInsertInvLineFromShptLineOnBeforeAssigneSalesLine is already implemented for #26075.