Splitting Warehouse Shipment lines in multiple headers in Business Central

xgaronnat

Xavier Garonnat

Posted on June 15, 2022

Splitting Warehouse Shipment lines in multiple headers in Business Central

AL extensibility challenge : how to spread automatically Warehouse Shipment Lines on multiple Warehouse Shipment Header without being too much intrusive ? (with the constraint that the count of lines per document should now exceed a fixed value)

Just find the right event in the "Get Source Document" report and force the creation of a new header by setting WhseHeaderCreated to false when the condition is met :-)

    [EventSubscriber(ObjectType::Report, Report::"Get Source Documents", 'OnSalesLineOnAfterGetRecordOnBeforeCreateShptHeader', '', false, false)]
    local procedure OnSalesLineOnAfterGetRecordOnBeforeCreateShptHeader(SalesLine: Record "Sales Line"; var WarehouseRequest: Record "Warehouse Request"; var WarehouseShipmentHeader: Record "Warehouse Shipment Header"; var WhseHeaderCreated: Boolean; var OneHeaderCreated: Boolean; var IsHandled: Boolean);
    var
        WhseShipmentLine: Record "Warehouse Shipment Line";
    begin

        IF WarehouseShipmentHeader."No." = '' then
            exit;

        WhseShipmentLine.Reset();
        WhseShipmentLine.SetRange("No.", WarehouseShipmentHeader."No.");
        if WhseShipmentLine.Count = <MaxLinePerDocument> then
            WhseHeaderCreated := false; //create new Whse Shipment Header

    end;


Enter fullscreen mode Exit fullscreen mode

I like simplicity :-)

Edit : the event is located here
Image description

💖 💪 🙅 🚩
xgaronnat
Xavier Garonnat

Posted on June 15, 2022

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related