OnPostReceiveOrder_OnAddStepsToWarehouseReceiptHeader

Minimum Requirements

  • Extension version MOB5.27
  • Android App 1.5.9

Use this event to

Interrupt Warehouse Receipt posting and add extra steps (“Header Steps”) based on values already collected.

Description

Interrupt posting and add extra steps (“Header Steps”) based on values already collected.

  • Add extra steps during posting (interrupt posting to collect addtional steps)
  • Used for "conditional" steps i.e. when values from previously collected steps determines if the step are to be included
  • Extra steps can be collected for the "header" only. Extra steps per document line are currently not supported for planned document types
  • Posting are restarted (started over) when the additional steps have been collected on the mobile device
  • Events are executed every time posting starts over and can be used to chain even more steps.


Steps with no "conditions" are better created using the OnGetReceiveOrderLines_OnAddStepsToAnyHeader-event.

See also: OnPostReceiveOrder_OnAddStepsToAnyHeader

Template

    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Receive", 'OnPostReceiveOrder_OnAddStepsToWarehouseReceiptHeader''', true, true)]
    local procedure OnPostReceiveOrder_OnAddStepsToWarehouseReceiptHeader(var _OrderValues: Record "MOB Common Element"; _WhseReceiptHeader: Record "Warehouse Receipt Header"; var _StepsElement: Record "MOB Steps Element")
    begin
    end;

Example

    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Receive", 'OnPostReceiveOrder_OnAddStepsToWarehouseReceiptHeader''', true, true)]
    local procedure MyOnPostReceiveOrder_OnAddStepsToWarehouseReceiptHeader(var _OrderValues: Record "MOB Common Element"; _WhseReceiptHeader: Record "Warehouse Receipt Header"; var _StepsElement: Record "MOB Steps Element")
    begin
        // Break if some condition to include news step(s) is not met
        // if .... then
        //    exit;


        // Break if new datestep is already collected to prevent infinite loop
        if _OrderValues.HasValue('MyPostingDate'then
            exit;

        // Create a new date step for manually selecting Posting Date
        _StepsElement.Create_DateStep(10000'MyPostingDate');
        _StepsElement.Set_header('Posting Date');
        _StepsElement.Set_minDate(Today() 10);
        _StepsElement.Set_maxDate(Today());
    end;


More examples


Version History

VersionChanges
MOB5.27Introduced