Use this event to
Excerpt |
---|
Add steps to be displayed at the mobile device when collecting values for each individual document line. |
Description
Steps New steps defined at line level (collected for each individual line) requires a collectorConfiguration-Key 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).
This is unlike steps at header level, that allows steps to be declared directly in the OnGetCountOrderLines_OnAddStepsToAnyHeader event.
...
Line-level step are:
- ..merged with existing workflow steps
- ..declared as part of Reference Data
- ..added by calling the Create_StepsByReferenceDataKey-function
- ..sorted by Id. Sorting can be changed using the
<orderLineConfiguration><extraInformationConfiguration stepSorting="ById"/><orderLineConfiguration/>
in mobile configuration.
Only one key per order line:
...
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.
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 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.11 |
Template
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Count", 'OnGetCountOrderLines_OnAddStepsToAnyLine', '', true, true)]
localprocedure OnGetCountOrderLines_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 Count", 'OnGetCountOrderLines_OnAddStepsToAnyLine', '', true, true)]
localprocedure My01OnGetCountOrderLines_OnAddStepsToAnyLine(_RecRef: RecordRef; var _BaseOrderLineElement: Record "MOB NS BaseDataModel Element"; var _Steps: Record "MOB Steps Element")
begin
// if not (_BaseOrderLineElement.Get_UnitOfMeasure() in [Example]: Add steps referenced by new RegistrationCollectorConfiguration-Key to line steps collectors'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, 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. |
// Prerequisites: Mobile WMS 5.11
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Count", 'OnGetCountOrderLines_OnAddStepsToAnyLine', '', true, true)]
localprocedure MyOnGetCountOrderLines My02OnGetCountOrderLines_OnAddStepsToAnyLine(_RecRef: RecordRef; var _BaseOrderLineElement: Record "MOB NS BaseDataModel Element")
begin
_BaseOrderLineElement.Create_StepsByReferenceDataKey('CustomCountSteps');
// Example: Modify attribute values for steps defined by the ReferenceDataKey used above (i.e. defaultValue)
// See: https://taskletfactory.atlassian.net/wiki/display/TFSK/How-to:+Modify+Custom+Line+Step+dynamically
end;
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Reference Data", 'OnGetReferenceData_OnAddRegistrationCollectorConfigurations', '', true, true)]
localprocedure MyOnGetReferenceData My02OnGetReferenceData_OnAddRegistrationCollectorConfigurations(var _Steps: Record "MOB Steps Element")
begin
_Steps.InitConfigurationKey('CustomCountSteps');
_Steps.Create_DecimalStep(1000020000, '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
Steps are generally sorted by Id. This can be changed using the <orderLineConfiguration><extraInformationConfiguration stepSorting="ById"/><orderLineConfiguration/>
in application.cfg
Filter by label (Content by label) | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
Version | Changes |
---|---|
MOB5.11 | Introduced |
MOB5.39 | New _Steps parameter introduced |