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

...

    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Receive", 'OnPostReceiveOrder_OnAddStepsToAnyHeader''', true, true)]
    local procedure OnPostReceiveOrder_OnAddStepsToAnyHeader(var _OrderValues: Record "MOB Common Element"; _RecRef: RecordRefvar _Steps: Record "MOB Steps Element")
    begin
    end;

Example

...

    procedure MyOnGetReceiveOrderLines_OnAddStepsToAnyHeader(_RecRef: RecordRefvar _StepsElement: Record "MOB Steps Element")
    begin
        if (_RecRef.Number() in [DataBase::"Warehouse Receipt Header", Database::"Purchase 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
    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Receive", 'OnPostReceiveOrder_OnAddStepsToAnyHeader''', true, true)]
    local procedure MyOnPostReceiveOrder_OnAddStepsToAnyHeader(var _OrderValues: Record "MOB Common Element"; _RecRef: RecordRefvar _Steps: Record "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 new datestep for 'Other date' is already collected to prevent infinite loop 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
        _Steps.Create_DateStep(10000'MyPostingDate');
        _Steps.Set_header('Posting Date');
        _Steps.Set_minDate(Today() 10);
        _Steps.Set_maxDate(Today());
    end;
    // OnPostReceiveOrder
    // Set new posting date including using a value from conditional step 'MyPostingDate'. Step can exist only for "Warehouse Receipt" or "Purchase Order"
    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Receive", 'OnPostReceiveOrder_OnBeforePostAnyOrder''', true, true)]
    procedure MyOnPostReceiveOrder_OnBeforePostAnyOrder(var _OrderValues: Record "MOB Common Element"; var _RecRef: RecordRef)
    var
        WhseReceiptHeader: Record "Warehouse Receipt Header";
        PurchHeader: Record "Purchase Header";
        PurchRelease: Codeunit "Release Purchase Document";
        PostingDate: Date;
    begin
        case _OrderValues.GetValue('MyPostingDateRadioButtonStep'of
            'Today':
                PostingDate := Today();
            'Yesterday':
                PostingDate := Today() 1;
            'Other date':
                PostingDate := _OrderValues.GetValueAsDate('MyPostingDate', true);
        end;
        case _RecRef.Number() of
            Database::"Warehouse Receipt Header":
                begin
                    _RecRef.SetTable(WhseReceiptHeader);
                    if (PostingDate <> 0D) and (PostingDate <> WhseReceiptHeader."Posting Date"then
                        WhseReceiptHeader.Validate("Posting Date", PostingDate);
                    _RecRef.GetTable(WhseReceiptHeader);
                end;
            Database::"Purchase Header":
                begin
                    _RecRef.SetTable(PurchHeader);
                    PurchRelease.Reopen(PurchHeader);
                    PurchRelease.SetSkipCheckReleaseRestrictions();
                    PurchHeader.SetHideValidationDialog(true);   // same behavior when reprocessing from queue ie. no "change exchange rate" confirmation
                    PurchHeader.Validate("Posting Date", PostingDate);
                    PurchRelease.Run(PurchHeader);
                    _RecRef.GetTable(PurchHeader);
                end;
        end;
    end;



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

...