Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Info
titleMinimum Requirements
  • Extension version MOB5.27
  • Android App 1.5.9

...


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

See also: OnPostReceiveOrder_OnAddStepsToAnyHeader

...

    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Receive", 'OnPostReceiveOrder_OnAddStepsToTransferHeader''', true, true)]
    local procedure OnPostReceiveOrder_OnAddStepsToTransferHeader(var _OrderValues: Record "MOB Common Element"; _TransferHeader: Record "Transfer Header"; var _Steps: Record "MOB Steps Element")
    begin
    end;

Example - New steps to select Posting Date "Today", "Yesterday" or "Other date"

...

    // OnGetReceiveOrderLines
    // Create a step in the default header collector (for transfer orders only)
    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Receive", 'OnGetReceiveOrderLines_OnAddStepsToAnyHeader''', true, true)]
    procedure MyOnGetReceiveOrderLines_OnAddStepsToAnyHeader(_RecRef: RecordRefvar _StepsElement: Record "MOB Steps Element")
    begin
        if (_RecRef.Number() DataBase::"Transfer Header"then begin
            _StepsElement.Create_RadioButtonStep(10000'MyPostingDateRadioButtonStep');
            _StepsElement.Set_header('Posting Date');
            _StepsElement.Set_listValues('Today;Yesterday;Other date');
            _StepsElement.Set_defaultValue('Today');
        end;
    end;    // OnPostReceiveOrder
    // Create a conditional step on posting based on collected value from the 'MyPostingDateRadioButtonStep' created above

Example

    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Receive", 'OnPostReceiveOrder_OnAddStepsToTransferHeader''', true, true)]
    local procedure MyOnPostReceiveOrder_OnAddStepsToTransferHeader(var _OrderValues: Record "MOB Common Element"; _TransferHeader: Record "Transfer Header"; var _StepsStepsElementRecord "MOB Steps Element")
    begin
        // Break when any option different from 'Other date' was selected in the 'MyPostingDateRadioButtonStep'
        if _OrderValues.GetValue('MyPostingDateRadioButtonStep'<> 'Other date' then
            exit Break if some condition to include news step(s) is not met
        // if .... then
        //    exit;


        // Break if new datestep for 'Other date' is already collected to prevent infinite loop 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
        _StepsStepsElement.Create_DateStep(10000'MyPostingDate');
        _StepsStepsElement.Set_header('Posting Date');
        _StepsStepsElement.Set_minDate(Today() 10);
        _StepsStepsElement.Set_maxDate(Today());
    end;
    // OnPostReceiveOrder
    // Set new posting date including using a value from conditional step 'MyPostingDate'
    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Receive", 'OnPostReceiveOrder_OnBeforePostTransferOrder''', true, true)]
    procedure MyOnPostReceiveOrder_OnBeforePostTransferOrder(var _OrderValues: Record "MOB Common Element"; var _TransferHeader: Record "Transfer Header")
    var
        PostingDate: Date;
    begin
        case _OrderValues.GetValue('MyPostingDateRadioButtonStep'of
            'Today':
                PostingDate := Today();
            'Yesterday':
                PostingDate := Today() 1;
            'Other date':
                PostingDate := _OrderValues.GetValueAsDate('MyPostingDate', true);
        end;
        if (PostingDate <> 0D) and (PostingDate <> _TransferHeader."Posting Date"then begin
            _TransferHeader.CalledFromWarehouse(true);
            _TransferHeader.Validate("Posting Date", PostingDate);
        end;
    end;


Filter by label (Content by label)
showLabelsfalse
showSpacefalse
sorttitle
titleMore examples
excerptTypesimple
cqllabel = "bc" and label = "order" and label = "example" and label = "onaddstepsto" and label = "onpost"

...