Versions Compared

Key

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


Info
titleMinimum Requirements
  • Android App 1.8.1.1

...

 [EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Pick", 'OnPostPickOrder_OnAddStepsToWarehouseActivityHeader', '', true, true)]
    localprocedure MyOnPostPickOrder_OnAddStepsToWarehouseActivityHeader(var _OrderValues: Record"MOB Common Element"; _WhseActivityHeader: Record"Warehouse Activity Header"; var _StepsElement: Record"MOB Steps Element")
    begin
        if _OrderValues.HasValue('ImageCapture') then
            exit;

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

Step 1.2 - Handle the header step

...

   [EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Pick", 'OnPostPickOrder_OnBeforePostWarehouseActivityOrder', '', true, true)]
    localprocedure OnPostPickOrder_OnBeforePostWarehouseActivityOrder(var _OrderValues: Record"MOB Common Element"; var _WhseActivityHeader: Record"Warehouse Activity Header")
    var
        MobWmsMediaQueue: Record"MOB WMS Media Queue";
        MobWmsLanguage: Codeunit"MOB WMS Language";

        MOBSessionData: Codeunit"MOB SessionData";

        ImageIdsAndNotes: Text;
        ImageAndNoteList: Listof [Text];
    begin
        ImageIdsAndNotes:=_OrderValues.GetValue('ImageCapture', true);


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

        MobWmsMediaQueue.Init();
        ImageAndNoteList:=ImageIdsAndNotes.Split(';');    //Splits the list into Image Id and Note
        ImageAndNoteList.Get(1, MobWmsMediaQueue."Image Id");
        ImageAndNoteList.Get(2, MobWmsMediaQueue.Note);
        MobWmsMediaQueue."Device ID":=MOBSessionData.GetDeviceID();   //Gets the Device ID
        MobWmsMediaQueue.Description:=format(_WhseActivityHeader.RecordId); // Add the RecordId from the Warehouse Activity Header, to know which pick the picture came from.
        MobWmsMediaQueue.Insert(true);
        MobWmsMediaQueue."Record ID":=MobWmsMediaQueue.RecordId;
        MobWmsMediaQueue.Modify(false)
    end;

...

    //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;

        if _RequestValues.HasValue('ImageCapture') then
            exit;

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


Step 2.2 - Handle the header step

...

  [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
        MobWmsMediaQueue: Record "MOB WMS Media Queue";
        MobWmsLanguage: Codeunit "MOB WMS Language";
        MobWmsToolbox: Codeunit "MOB WMS Toolbox";
        MobSessionData: Codeunit "MOB SessionData";
        ItemImageList: List of [Text];
        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);

            MobWmsMediaQueue.Init();
            ItemImageList := Image.Split(';');  // Splits it into two parts, Image Id and note
            ItemImageList.Get(1, MobWmsMediaQueue."Image Id")
            ItemImageList.Get(2, MobWmsMediaQueue.Note);
            MobWmsMediaQueue."Device ID" := MOBSessionData.GetDeviceID();   // Gets the device ID and adds it to the Device ID field in the MOB Wms Media Queue
            MobWmsMediaQueue.Description := Format(MobWmsMediaQueue."Record ID");
            MobWmsMediaQueue.Insert(true);
            MobWmsMediaQueue."Record ID" := MobWmsMediaQueue.RecordId;
            MobWmsMediaQueue.Modify(false);
        end;
    end;

...