/
How-to: Add Header Step (ImageCapture Step)

How-to: Add Header Step (ImageCapture Step)

Minimum Requirements

  • Android App 1.8.1.1

Description

Interrupts posting in Pick and adds an extra Header (ImageCapture) Step.

  • Adds an extra ImageCapture step during posting of a pick
  • In the Mobile Document Queue List, a PostMedia Request will appear after adding the Header Steps - in this case, after PostPickOrder
  • The collected image is then saved in Mob Wms Media Queue

Behavior on the device

To collect an Image in the step, the user will need to use the plus sign (+) to take a picture and add an optional note before posting.

Step 1: Create an header step

Use OnPostPickOrder_OnAddStepsToWarehouseActivityHeader to add an ImageCapture step:

    // Create an ImageCapture header step that interrupts the posting of a pick.
   [EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Pick", 'OnPostPickOrder_OnAddStepsToWarehouseActivityHeader', '', true, true)]
    local procedure MyOnPostPickOrder_OnAddStepsToWarehouseActivityHeader(var _OrderValues: Record "MOB Common Element"; _WhseActivityHeader: Record "Warehouse Activity Header"; var _StepsElement: Record "MOB Steps Element")
    begin
        //Already collected, break to avoid adding the same new step indefinitely
        if _OrderValues.HasValue('ImageCapture') then
            exit;

        _StepsElement.Create_ImageCaptureStep(50, 'ImageCapture');
        _StepsElement.Set_helpLabel('Take a picture of the item');
    end;


Step 2: Handle the header step

Use OnPostPickOrder_OnBeforePostWarehouseActivityOrder to handle the steps:

 //Step 2: Handle the step, saving the values in the Mob Wms Media queue.
    [EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Pick", 'OnPostPickOrder_OnBeforePostWarehouseActivityOrder', '', true, true)]
    local procedure MyOnPostPickOrder_OnBeforePostWarehouseActivityOrder(var _OrderValues: Record "MOB Common Element"; var _WhseActivityHeader: Record "Warehouse Activity Header")
    var
        MobMedia: Codeunit "MOB WMS Media";
        ImageIdsAndNotes: Text;
    begin
        if _OrderValues.GetValue('ImageCapture') <> '' then begin
            ImageIdsAndNotes := _OrderValues.GetValue('ImageCapture');


            MobMedia.AddImageToMediaQueue(ImageIdsAndNotes);
        end;
    end;



 ImageCapture Step in Pick


Go to Business Central > "Mobile WMS Media Queue" -page

 The picture and note were saved in Mob Wms Media Queue



See also