Versions Compared

Key

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

Use this event to

Excerpt

Add steps to be displayed at the mobile device when collecting values for each individual document line.

...

Using _Steps-parameterUsing ConfigurationKey from ReferenceData
Easier syntax (Steps defined on-the-fly)More difficult to use (requires ConfigurationKey in ReferenceData)
Multiple subscribers to same OnAddSteps event is possible

Only a single subscriber must exist to same OnAddSteps event

Performance cost is 5%-10% per step added to order linesNo performance cost per additional step
Minimum requirements are Mobile WMS 5.39 and Android App 1.8
(both to be released Q1 2023)
Minimum requirement is Mobile WMS 5.11

...

    [EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Receive", 'OnGetReceiveOrderLines_OnAddStepsToAnyLine', '', true, true)]
    localprocedure OnGetReceiveOrderLines_OnAddStepsToAnyLine(_RecRef: RecordRef; var _BaseOrderLineElement: Record "MOB Ns BaseDataModel Element"; var _Steps: Record "MOB Steps Element")
    begin
    end;


Example 1: Add line steps by using _Steps-parameter

    // Prerequisites: Mobile WMS 5.39 and Android App 1.8
    [EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Receive", 'OnGetReceiveOrderLines_OnAddStepsToAnyLine', '', true, true)]
    localprocedure My01OnGetReceiveOrderLines_OnAddStepsToAnyLine(_RecRef: RecordRef; var _BaseOrderLineElement: Record "MOB NS BaseDataModel Element"; var _Steps: Record "MOB Steps Element")
    begin
        // if not (_BaseOrderLineElement.Get_UnitOfMeasure() in ['KG', 'GR']) then  // Example: Condition based on input
        //     exit;

        _Steps.Create_DecimalStep(10000, 'CustomGrossWeightGrams');
        _Steps.Set_header('Gross Weight (Grams)');
        _Steps.Set_label('Gross Weight (Grams):');
        _Steps.Set_helpLabel('Gross Weight in Grams per Base Unit of Measure');
        _Steps.Set_minValue(0);
        _Steps.Set_maxValue(100000);
        _Steps.Set_performCalculation(true);
    end;


Example 2: Add line steps by referencing a ConfigurationKey from ReferenceData

Note

Currently Mobile WMS supports only one (custom) referenced key per Order Line is supported, meaning only one customization may create StepsByReferenceDataKey at any time.
This single one subscriber must set a Key that includes all steps for all other intended subscribers as well. This can only be done by knowing other customizations are in place and manually create a new RegistrationCollectorConfigurationKey that includes all steps.


   
// [Example 02]: Append line steps by referencing a RegistrationCollectorConfiguration-Key (ReferenceData)
    // Prerequisites: Mobile WMS 5.11
    [EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Receive", 'OnGetReceiveOrderLines_OnAddStepsToAnyLine', '', true, true)]
    localprocedure My02OnGetReceiveOrderLines_OnAddStepsToAnyLine(_RecRef: RecordRef; var _BaseOrderLineElement: Record "MOB NS BaseDataModel Element")
    begin
        _BaseOrderLineElement.Create_StepsByReferenceDataKey('CustomReceiveSteps');

        // Example: Modify attribute values for steps defined by the ReferenceDataKey used above (i.e. defaultValue)
        // See: https://docstaskletfactory.taskletfactoryatlassian.comnet/wiki/display/TFSK/How-to:+Modify+Custom+Line+Step+dynamically
    end;


Expand
titleClick to see event parameters...

_BaseOrderLineElement


_RecRef

  • RecordRef pointing to the source line being processed.  I.e. Warehouse Activity Line, Purchase Line, Sales Line etc.
  • You can use the SetTable function to make your own Record refer to that of the RecordRef



    [EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Reference Data", 'OnGetReferenceData_OnAddRegistrationCollectorConfigurations', '', true, true)]
    localprocedure My02OnGetReferenceData_OnAddRegistrationCollectorConfigurations(var _Steps: Record "MOB Steps Element")
    begin
        _Steps.InitConfigurationKey('CustomReceiveSteps');

        _Steps.Create_DecimalStep(20000, 'CustomNetWeightGrams');
        _Steps.Set_header('Net Weight (Grams)');
        _Steps.Set_label('Net Weight (Grams):');
        _Steps.Set_helpLabel('Net Weight in Grams per Base Unit of Measure');
        _Steps.Set_minValue(0);
        _Steps.Set_maxValue(100000);
        _Steps.Set_performCalculation(true);
    end;


Event: OnGetReferenceData_OnAddRegistrationCollectorConfigurations

Expand
titleClick to see event parameters...
  • _Steps
    • Accessor table "MOB Steps Element"
      • Use this to create at new Reference Data "ConfigurationKey" that holds a number of steps.
      • Add the steps using "Create_..."-functions. 
      • Change/Set step-properties using "Set_..."-functions

Create Step Example

  • Add the steps using "Create_..."-functions. 
    • Create_TextStep = Create a new step to collect Text
    • Create_TextStep_ItemNumber = Create a new Text step prepared to collect an Item No.
       
    • Create_DateStep = Create a new step to collect Date
    • Create_DateStep_ExpirationDate = Create a new Date step prepared to collect an expiration date
    • Create_ListStep_Variant = Create a new List step prepared to display available Variants of an Item
    • Create_ListStep_UoM = Create a new List step prepared to display available Units of Measure of an Item
    • And many more. Use the VS Code to explore all the options
      Image Added

Set Step Properties Example

  • Set_header('Text header')
  • Set_label('Text label');
  • Set_helpLabel('Text helpLabel');
  • Set_optional(false);
  • Set_defaultValue(1);
  • And many more. Use the VS Code to explore all the options



Sorting Steps for order lines

...