Use this event to
Excerpt |
---|
Add steps to be displayed at the mobile device when collecting values for indented lines representing 'Consumption' |
(derived from Assembly Line).
Description
New steps defined at line level (collected for each individual line) are merged with steps from your existing workflow defined in application.cfg
You may add custom steps using either the _Steps-parameter or a ConfigurationKey (to be declared in Reference Data).
Using the _Steps-parameter is the easiest and most flexible, but you may consider using a ConfigurationKey when performance or backwards compatibility with older Android Apps is more important to you.
...
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Assembly", 'OnGetAssemblyOrderLines_OnAddStepsToConsumptionLine', '', true, true)]
localprocedure OnGetAssemblyOrderLines_OnAddStepsToConsumptionLine(_AssemblyLine: Record "Assembly Line"; _TrackingSpecification: Record "Tracking Specification"; 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_OnAddStepsToConsumptionLine', '', true, true)]
localprocedure My01OnGetAssemblyOrderLines_OnAddStepsToConsumptionLine(_AssemblyLine: Record "Assembly Line"; _TrackingSpecification: Record "Tracking Specification"; 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_OnAddStepsToConsumptionLine', '', true, true)]
localprocedure My02OnGetAssemblyOrderLines_OnAddStepsToConsumptionLine(_AssemblyLine: Record "Assembly Line"; _TrackingSpecification: Record "Tracking Specification"; var _BaseOrderLineElement: Record "MOB NS BaseDataModel Element")
begin
_BaseOrderLineElement.Create_StepsByReferenceDataKey('CustomAssemblyConsumptionSteps');
// 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('CustomAssemblyConsumptionSteps');
_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
...