Use this event to
Add steps to be displayed at the mobile device when collecting values for topmost line representing 'Output' (derived from Assembly Header).
Description
Steps at line level (collected for a line in the OrderLinesList-page) requires a collectorConfiguration-Key to be declared in Reference Data.
This is unlike steps at header level, that allows "on posting" steps to be declared directly in the OnGetAssemblyOrderLines_OnAddStepsToAssemblyHeader event.
Line-level steps are:
- ...declared as part of a collectorConfiguration-Key in Reference Data.
- ...added by calling the Create_StepsByReferenceDataKey-function (Currently only once)
- ...sorted by Id. Sorting can be changed using the
<orderLineConfiguration><extraInformationConfiguration stepSorting="ById"/><orderLineConfiguration/>
in mobile configuration.
Currently Mobile WMS supports only one (custom) referenced key per Order Line, meaning only one customization may subscribe to this event 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 (this will improve in a future version).
Collected values for Steps created from this event is best handled in the OnPostAssemblyOrder_OnHandleRegistrationForAssemblyHeader event.
Template
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Assembly", 'OnGetAssemblyOrderLines_OnAddStepsToOutputLine', '', true, true)]
local procedure OnGetAssemblyOrderLines_OnAddStepsToOutputLine(_AssemblyHeader: Record "Assembly Header"; var _BaseOrderLineElement: Record "MOB Ns BaseDataModel Element")
begin
end;
Example
// [Example]: Add steps referenced by new RegistrationCollectorConfiguration-Key to line steps collectors for 'Output' line derived from Assembly Header
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Assembly", 'OnGetAssemblyOrderLines_OnAddStepsToOutputLine', '', true, true)]
local procedure MyOnGetAssemblyOrderLines_OnAddStepsToOutputLine(_AssemblyHeader: Record "Assembly Header"; var _BaseOrderLineElement: Record "MOB Ns BaseDataModel Element")
begin
// 'Output' is always for an item, no 'Type' check needed
_BaseOrderLineElement.Create_StepsByReferenceDataKey('CustomAssemblyOutputSteps', true);
end;
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Reference Data", 'OnGetReferenceData_OnAddRegistrationCollectorConfigurations', '', true, true)]
local procedure MyOnGetReferenceData_OnAddRegistrationCollectorConfigurations(var _Steps: Record "MOB Steps Element")
begin
_Steps.InitConfigurationKey('CustomAssemblyOutputSteps');
_Steps.Create_DecimalStep(10000, 'CustomGrossWeightGrams');
_Steps.Set_header('Gross Weight (Grams)');
_Steps.Set_label('Gross Weight (Grams):');
_Steps.Set_helpLabel('Total Gross Weight in Grams');
_Steps.Set_minValue(0);
_Steps.Set_maxValue(100000);
_Steps.Set_performCalculation(true);
end;
More examples
-
Case: Add Posting Date step to Production Consumption and Output — A customer wishes to allow mobile users to specify the posting date when posting Production Consumption and Output from the mobile device.
-
Case: Scan ExpirationDate in custom format — Scan ExpirationDate as custom format YYYYMM when goods is received from any Vendor.
-
How-to: Production Output - Implement a Unit of Measure step — For Items with multiple Unit of Measure codes
Version History
Version | Changes |
---|---|
MOB5.24 | Introduced |