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

Step 1  – Sales Order Selection

Let’s investigate the ERASalesProcessGuidePromptSalesIdPageBuilder class first. The two main methods that are used here are addDataControls() which is responsible for the main display fields and addActionControls() which is responsible for adding actionable controls like buttons and filters. For the main fields, we add an input for Sales ID and some additional fields for the details panel (this part is optional). For actionable controls, we add an OK button and a cancel button.

    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)

    {

        #ProcessGuideActionNames

        _page.addButton(step.createAction(#ActionOK), true);

        _page.addButton(step.createAction(#ActionCancelExitProcess));

    }

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);

 

        return SalesTable::exist(salesId);

    }

 

    protected void validateControls()

    {

        SalesId salesId = processingResult.fieldValues.lookupStr(ProcessGuideDataTypeNames::SalesId);

 

        if (!SalesTable::exist(salesId))

        {

            throw error(strFmt("@MCR10331", salesId));

        }

 

        super();

    }

The result of this step is the following:

Sales Order Selection Mobile Device Development in Dynamics 365 Finance & Supply chain
Figure 1. Step 1: Sales order selection and details

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 service@1ClickFactory.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.