How-to: Modify Custom Line Step dynamically
Description
This describes Line steps used in Planned Functions.
You can conditionally update a steps properties like Visible, Default value or Help label. See the complete list of properties here: Step Configuration Matrix
Dynamically Insert Values
Line steps in Planned functions are defined in Reference Data. This makes them static to a degree.
Example
In this example, we will make a Line step dynamic by changing it's properties:
Step 1
Create Steps in "ReferenceData".
Using event OnGetReferenceData_OnAddRegistrationCollectorConfigurations
- We name the configuration key "CustomPickSteps". We name each step like Text or Date step.
- You can use any naming.
// Step 1
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Reference Data", 'OnGetReferenceData_OnAddRegistrationCollectorConfigurations', '', true, true)]
local procedure OnGetReferenceData_OnAddRegistrationCollectorConfigurations(var _Steps: Record "MOB Steps Element")
begin
// Define a key for the step(s)
_Steps.InitConfigurationKey('CustomPickStep');
// Create steps and set default values
_Steps.Create_InformationStep(5, 'InfoStep', 'HeaderText', 'Label', 'HelpLabel');
end;
Step 2
Include the step in "...OnAddStepsToAnyLine"-event
Use one of these events:
// Step 2
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Pick", 'OnGetPickOrderLines_OnAddStepsToAnyLine', '', true, true)]
local procedure MyOnGetPickOrderLines_OnAddStepsToAnyLine(_RecRef: RecordRef; var _BaseOrderLineElement: Record "MOB Ns BaseDataModel Element")
var
WarehouseActivityLine: Record "Warehouse Activity Line";
begin
if (_RecRef.Number = Database::"Warehouse Activity Line") then begin
_RecRef.SetTable(WarehouseActivityLine);
// Overwrite Step values with information from pick line
_BaseOrderLineElement.Create_StepsByReferenceDataKey(STRSUBSTNO('CustomPickStep{[InfoStep][helpLabel][Description is: "%1"]}', WarehouseActivityLine."Description"));
end;
end;
- Set value "RegisterExtraInfo".
- Using this syntax
'StepsConfigurationKey { [StepName] [StepProperty] [Value] }
- You must use the same key CustomPickStep and step name InfoStep, which you choose earlier.
See the complete list of properties: Step Configuration Matrix
Result on Mobile
When the example code above has been deployed the Mobile WMS App must be restarted to read the new reference data created from the events (is loaded only once on login). By then the result on the mobile device is:
See also