Versions Compared

Key

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

Use this event to

...

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% around 50% 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.24

...

    [EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Assembly", 'OnGetAssemblyOrderLines_OnAddStepsToOutputLine', '', true, true)]
    localprocedure OnGetAssemblyOrderLines_OnAddStepsToOutputLine(_AssemblyHeader: Record "Assembly Header"; 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 Assembly", 'OnGetAssemblyOrderLines_OnAddStepsToOutputLine', '', true, true)]
    localprocedure My01OnGetAssemblyOrderLines_OnAddStepsToOutputLine(_AssemblyHeader: Record "Assembly Header"; 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

...

    // Prerequisites: Mobile WMS 5.11
    [EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Assembly", 'OnGetAssemblyOrderLines_OnAddStepsToOutputLine', '', true, true)]
    localprocedure My02OnGetAssemblyOrderLines_OnAddStepsToOutputLine(_AssemblyHeader: Record "Assembly Header"; var _BaseOrderLineElement: Record "MOB NS BaseDataModel Element")
    begin
        _BaseOrderLineElement.Create_StepsByReferenceDataKey('CustomAssemblyOutputSteps');

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

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

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

Sorting Steps for order lines

...