microsoft / ALAppExtensions

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

[Event Request] codeunit 99000809 "Planning Line Management" procedure TransferRoutingLine #26979

Closed bachii1010 closed 4 weeks ago

bachii1010 commented 1 month ago

Describe the request

BEFORE local procedure TransferRoutingLine(var PlanningRoutingLine: Record "Planning Routing Line"; ReqLine: Record "Requisition Line"; RoutingLine: Record "Routing Line") begin PlanningRoutingLine.TransferFromReqLine(ReqLine); PlanningRoutingLine.TransferFromRoutingLine(RoutingLine);

    OnTransferRoutingLineOnBeforeCalcRoutingCostPerUnit(PlanningRoutingLine, ReqLine, RoutingLine);

    CostCalcMgt.CalcRoutingCostPerUnit(
      PlanningRoutingLine.Type, PlanningRoutingLine."No.", PlanningRoutingLine."Direct Unit Cost", PlanningRoutingLine."Indirect Cost %", PlanningRoutingLine."Overhead Rate", PlanningRoutingLine."Unit Cost per", PlanningRoutingLine."Unit Cost Calculation");

    OnTransferRoutingLineOnBeforeValidateDirectUnitCost(ReqLine, RoutingLine, PlanningRoutingLine);
    PlanningRoutingLine.Validate("Direct Unit Cost");

    PlanningRoutingLine.UpdateDatetime();
    OnAfterTransferRtngLine(ReqLine, RoutingLine, PlanningRoutingLine);
    PlanningRoutingLine.Insert();
end;

AFTER

local procedure TransferRoutingLine(var PlanningRoutingLine: Record "Planning Routing Line"; ReqLine: Record "Requisition Line"; RoutingLine: Record "Routing Line") var IsHandled: Boolean; begin IsHandled := false; OnBeforeTransferRoutingLine(RoutingLine: Record "Routing Line"; var IsHandled: Boolean); If IsHandled = true then exit;

    PlanningRoutingLine.TransferFromReqLine(ReqLine);
    PlanningRoutingLine.TransferFromRoutingLine(RoutingLine);

    OnTransferRoutingLineOnBeforeCalcRoutingCostPerUnit(PlanningRoutingLine, ReqLine, RoutingLine);

    CostCalcMgt.CalcRoutingCostPerUnit(
      PlanningRoutingLine.Type, PlanningRoutingLine."No.", PlanningRoutingLine."Direct Unit Cost", PlanningRoutingLine."Indirect Cost %", PlanningRoutingLine."Overhead Rate", PlanningRoutingLine."Unit Cost per", PlanningRoutingLine."Unit Cost Calculation");

    OnTransferRoutingLineOnBeforeValidateDirectUnitCost(ReqLine, RoutingLine, PlanningRoutingLine);
    PlanningRoutingLine.Validate("Direct Unit Cost");

    PlanningRoutingLine.UpdateDatetime();
    OnAfterTransferRtngLine(ReqLine, RoutingLine, PlanningRoutingLine);
    PlanningRoutingLine.Insert();
end;

Additional context

We request this event since we need to exclude routing line from planning worksheet similar to the Create prod. order from Sales Order . so to make it possible in two ways as now it is possible only while creating production order from sales order. Internal work item: AB#544509

JesperSchulz commented 4 weeks ago

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.

Build ID: 23098.