OnPostPickOrder_OnAddStepsToPurchaseReturnHeader

Minimum Requirements

  • Extension version MOB5.27
  • Android App 1.5.9

Use this event to

Interrupt Purchase Return Order 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 OnGetPickOrderLines_OnAddStepsToAnyHeader-event.

See also: OnPostPickOrder_OnAddStepsToAnyHeader

Template

    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Pick", 'OnPostPickOrder_OnAddStepsToPurchaseReturnHeader''', true, true)]
    local procedure OnPostPickOrder_OnAddStepsToPurchaseReturnHeader(var _OrderValues: Record "MOB Common Element"; _PurchReturnHeader: Record "Purchase Header"; var _StepsElement: Record "MOB Steps Element")
    begin
    end;

Example

    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Pick", 'OnPostPickOrder_OnAddStepsToPurchaseReturnHeader''', true, true)]
    local procedure MyOnPostPickOrder_OnAddStepsToPurchaseReturnHeader(var _OrderValues: Record "MOB Common Element"; _PurchReturnHeader: Record "Purchase 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