Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 5 Next »

Minimum Requirements

  • Android App 1.8.1.1

Description

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

  • Adds an extra ImageCapture step during posting.
  • The collected image is then saved in Mob Wms Media Queue.
  • In the Mobile Document Queue List, a PostMedia Request will  appear after adding the Header Steps - for these examples, after PostPickOrder or PostAdHocRegistration.

Behaviour 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.

Examples

This document contains two examples.

The following examples are made for an unplanned (Adjust Quantity) and a planned step (Pick), respectively.


Example 1: Add header ImageCapture step for Planned function (Pick)

Step 1.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 1.2 - Handle the header step

  // 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 OnPostPickOrder_OnBeforePostWarehouseActivityOrder(var _OrderValues: Record "MOB Common Element"; var _WhseActivityHeader: Record "Warehouse Activity Header")
    var
        MobWmsLanguage: Codeunit "MOB WMS Language";
        MobMedia: Codeunit "MOB WMS Media";
        ImageIdsAndNotes: Text;
    begin
        ImageIdsAndNotes := _OrderValues.GetValue('ImageCapture', true);

        if ImageIdsAndNotes = '' then
            Error(MobWmsLanguage.GetMessage('NO_PICTURE_TO_ATTACH'));

        MobMedia.AddImageToMediaQueue(ImageIdsAndNotes);
    end;


Example 1: ImageCapture Step in Pick

Example 1: The picture and note were saved in Mob Wms Media Queue



Example 2: Add header ImageCapture step for Unplanned function (Adjust Quantity)

Step 2.1 - Create an adhoc header step 

 //Step 1: Create a simple ImageCapture header step
    [EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Adhoc Registr.", 'OnPostAdhocRegistration_OnAddSteps', '', true, true)]
    local procedure MyOnPostAdhocRegistration_OnAddSteps(_RegistrationType: Text; var _RequestValues: Record "MOB NS Request Element"; var _Steps: Record "MOB Steps Element"; var _RegistrationTypeTracking: Text)
    var
        MobWmsToolbox: Codeunit "MOB WMS Toolbox";
    begin
        if _RegistrationType <> MobWmsToolbox."CONST::AdjustQuantity"() then
            exit;


 //Already collected, break to avoid adding the same new step indefinitely
        if _RequestValues.HasValue('ImageCapture') then
            exit;

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

Step 2.2 - Handle the header step

//Step 2: Handle the ImageCapture step. The picture taken will be saved in the MOB Wms Media Queue
    [EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Adhoc Registr.", 'OnPostAdhocRegistration_OnAfterPost', '', true, true)]
    local procedure MyOnPostAdhocRegistration_OnAfterPost(_MessageId: Guid; _RegistrationType: Text; var _RequestValues: Record "MOB NS Request Element"; var _XmlResponseDoc: XmlDocument; var _RegistrationTypeTracking: Text)
    var
        MobMedia: Codeunit "MOB WMS Media";
        MobWmsToolbox: Codeunit "MOB WMS Toolbox";
        Image: Text;
    begin
        if _RegistrationType <> MobWmsToolbox."CONST::AdjustQuantity"() then
            exit;

        if _RequestValues.HasValue('ImageCapture') then begin
            Image := _RequestValues.GetValue('ImageCapture', true);

            // Set the tracking value displayed in the document queue
            _RegistrationTypeTracking := ('Saved image: ' + Image);

            MobMedia.AddImageToMediaQueue(Image);
        end;
    end;


Example 2: ImageCapture Step in Adjust Quantity



 Example 2: The picture and note were saved in Mob Wms Media Queue


See also 


  • No labels