Use this event to
...
Using _Steps-parameter | Using 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 lines | No performance cost per additional step |
Minimum requirements are Mobile WMS 5.39 and Android App 1.8 | 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://docstaskletfactory.taskletfactoryatlassian.comnet/wiki/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
...