OnWhseInquiry_OnAddSteps
Minimum Requirements
- Extension version MOB5.34
- Android App 1.5.12
Use this event to
Return extra steps based on already collected values.
Description
You can use Whse. Inquiry to perform instant Online Validation of a steps input value.
Use this event to return extra steps based on already collected values.
You may validate the current steps value prior to returning new steps. In this case you must set the includeCollectedValues property in application.cfg (see below).
Template
// [Template]
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Whse. Inquiry", 'OnWhseInquiry_OnAddSteps', '', true, true)]
local procedure MyOnWhseInquiry_OnAddSteps(_DocumentType: Text; var _RequestValues: Record "MOB NS Request Element"; var _Steps: Record "MOB Steps Element"; var _RegistrationTypeTracking: Text; var _IsHandled: Boolean)
begin
end;
// [Example 1]
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Whse. Inquiry", 'OnWhseInquiry_OnAddSteps', '', true, true)]
local procedure Ex01_OnWhseInquiry_OnAddSteps(_DocumentType: Text; var _RequestValues: Record "MOB NS Request Element"; var _Steps: Record "MOB Steps Element"; var _IsHandled: Boolean)
begin
case _DocumentType of
'ValidateMyLotNumber':
begin
_Steps.Create_TextStep(10, 'MyTextStep1');
_Steps.Set_defaultValue('MyTextDefaultValue1');
_Steps.Set_header('MyTextStep1 - ' + _RequestValues.Get_LotNumber()); // Reading value from already collected step
_Steps.Create_TextStep(20, 'MyTextStep2');
_Steps.Set_defaultValue('MyTextDefaultValue2');
_Steps.Set_header('MyTextStep2');
_IsHandled := true;
end;
'ValidateMyQuantity':
begin
_Steps.Create_TextStep(10, 'MyQtySteps1');
_Steps.Set_defaultValue('MyQtySteps1');
_Steps.Set_header('MyQtySteps1 - ' + Format(_RequestValues.Get_Quantity())); // Reading value from already collected step
_Steps.Create_TextStep(20, 'MyQtySteps2');
_Steps.Set_defaultValue('MyQtySteps2');
_Steps.Set_header('MyQtySteps2');
_IsHandled := true;
end;
end;
end;
Related change to application.cfg
Each new DocumentType to be validated must have a related change to a service-section in the application.cfg. In this example, the service for the Pick page is modified. For additional examples, see the links below.
<service id="Pick" type="Order" orderType="Pick"> <requests> <getOrders>GetPickOrders</getOrders> <getOrderLines>GetPickOrderLines</getOrderLines> <postOrder>PostPickOrder</postOrder> </requests> <validation> <lotNumberValidation documentName="ValidateMyLotNumber" online="true" includeCollectedValues="true"/> <quantityValidation documentName="ValidateMyQuantity" online="true" includeCollectedValues="true"/> </validation> </service>
More examples
-
Case: Return Quantity based on scanned lot number — In the planned pick process, the customer want to scan a lot number and get the quantity on inventory proposed in the quantity step.
-
How-to: Online Validation for Line step — Online Validation on Steps can instantly validate the user data, with a call to BC.
-
How-to: Online Validation for Unplanned Step — "onlineValidation" on Steps can instantly validate the entered data, with a call to the back-end
-
Version History
Version | Changes |
---|---|
MOB5.34 | Introduced |
MOB5.36.xxx.208 | _IsHandled parameter added |