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:
- You can have multiple keys with different steps. But just one key can be assigned to a line.
- So you might need to create multiple keys, for the unique combinations of steps you want to collect.
Template
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 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.11 |
Template
[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 CountReceive", 'OnGetCountOrderLinesOnGetReceiveOrderLines_OnAddStepsToAnyLine', '', true, true)]
localprocedure OnGetCountOrderLines My01OnGetReceiveOrderLines_OnAddStepsToAnyLine(_RecRef: RecordRef; var _BaseOrderLineElement: Record "MOB NS BaseDataModel Element"; var _Steps: Record "MOB Steps Element")
begin
end; // [Example]: Add steps referenced by new RegistrationCollectorConfiguration-Key to line steps collectors // 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, 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 CountReceive", 'OnGetCountOrderLinesOnGetReceiveOrderLines_OnAddStepsToAnyLine', '', true, true)]
localprocedure MyOnGetCountOrderLines My02OnGetReceiveOrderLines_OnAddStepsToAnyLine(_RecRef: RecordRef; var _BaseOrderLineElement: Record "MOB NS BaseDataModel Element")
begin
_BaseOrderLineElement.Create_StepsByReferenceDataKey('CustomCountStepsCustomReceiveSteps');
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('CustomCountStepsCustomReceiveSteps');
_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 History
Version | Changes |
---|---|
MOB5.11 | Introduced |
MOB5.39 | New _Steps parameter introduced |