Welcome to the third part of our WHS mobile device development series where we walk through a three-step process to ...Learn more
Advanced WHS Mobile Device Development: [Part 2] – How to Select the Sales Order
Monday, July 13, 2020
Reading time: 3 minutes
Welcome to the second part of our WHS mobile device development series where we will dive into how you can improve your mobile device development experience in Dynamics 365 Finance & Supply Chain management by building new process windows using the process guide framework.
Throughout this blog post, we will walk through the first step – Sales order selection. This consists of the Sales ID input field and details panel.
Dynamics 365 WHS Mobile Device Development - How to Select the Sales Order
To create a new process, you will need to make some adjustments to the standard so that you can create a Mobile device menu item record that has a process guide framework enabled. The first thing you need to do is to extend a few enums for your process: WHSWorkExecuteMode and WHSWorkActivity or WHSWorkCreationProcess, depending on what kind of process you are creating (Work-related or indirect).
Once you have extended the standard enums, you can now enable the process guide functionality for the process by modifying WHSRFMenuItemTable.workActivityMustUseProcess GuideFramework() method:
protected void addDataControls(ProcessGuidePage _page)
_page.addTextBox(ProcessGuideDataTypeNames::SalesId, “@MCR12613“, extendedTypeNum(SalesId));
//Fill details panel
_page.addLabel(ProcessGuideDataTypeNames::RFTitle, ‘Instructions:‘, extendedTypeNum(Description));
_page.addLabel(ProcessGuideDataTypeNames::RFDescription1, “@MCR35828“, extendedTypeNum(Description));
protected void addActionControls(ProcessGuidePage _page)
As for ERASalesProcessGuidePromptSalesIdStep class, we must make sure that the value entered by the user is a valid one. The isComplete() method is used to evaluate if the step is completed and the validateControls() method is used to handle what we should do if the step is not valid.
protected boolean isComplete()
WhsrfPassthrough pass = controller.parmSessionState().parmPass();
SalesId salesId = pass.lookup(ProcessGuideDataTypeNames::SalesId);
protected void validateControls()
SalesId salesId = processingResult.fieldValues.lookupStr(ProcessGuideDataTypeNames::SalesId);
throw error(strFmt(“@MCR10331“, salesId));
The result of this step is the following:
We hope that you have found these insights useful and that they help you to improve your Dynamics 365 Finance & Supply Chain WHS mobile device development process. Don’t hesitate to contact our team at email@example.com if you have any questions or need help with development!
In case you missed part 1 of the blog series, check it out now to learn more about the process guide framework
Stay tuned for part three of this four-part blog series on Dynamics 365 Finance & Supply Chain Management WHS mobile device development process.