Description
This describes Line steps used in Planned Functions.
You can set Default Value or Help Label etc. based on some conditions.
Dynamically Insert Values
Line steps in Planned functions are define in Reference Data. This makes them static to a degree.
Example
In this example we will make a step more dynamic by changing values on it, using "RegisterExtraInfo".
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('CustomPickSteps');
// Create steps and set default values
_Steps.Create_TextStep(35, 'TextStep', 'HeaderText');
_Steps.Create_DateStep(45, 'DateStep', 'HeaderText');
_Steps.Create_InformationStep(55, 'InfoStep', 'HeaderText', 'Label', 'HelpLabel');
end;
Step 2
Include the step in "...OnAddStepsToAnyLine"-event
Use one of these event:
// 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
_BaseOrderLineElement.Create_StepsByReferenceDataKey('CustomPickSteps');
if (_RecRef.Number = Database::"Warehouse Activity Line") then begin
_RecRef.SetTable(WarehouseActivityLine);
// Overwrite Step values with information from pick line
_BaseOrderLineElement.SetValue('RegisterExtraInfo', STRSUBSTNO('CustomPickSteps{[InfoStep][helpLabel][Description is: "%1"][DateStep][defaultValue][%2][TextStep][defaultValue][%3]}',
WarehouseActivityLine."Description", // Info step
MobToolbox.Date2TextResponseFormat(20300101D), // Date step
WarehouseActivityLine."Description")); // Text step
end;
end;
- Set value "RegisterExtraInfo".
- Using this syntax
'StepsConfigurationKey { [StepName] [StepProperty] [Value] }
- Tip: You must use the same "configurationkey" and "step name" that you choose in the 1st step.
Result on Mobile
See also