As of October 2016, NAV 2017 is the latest version of the popular ERP system. To complement the brand new features, NAV team worked on enhancing current features.
Let’s delve into creating a simple (yet fit for starting your own) NavigatePage and check it in the Web Client. Additionally, I will suggest a few cases when a NavigatePage is a good candidate to collect data from users and perform some processing in one screen.
The NavigatePage assumes the existence of the following objects (included in the demo):
- Table 90001 “Generic Entity” with the following fields:
- field_1 (Code10)
- Table 90002 “Generic Entity Comment” with the following fields:
- field_1 (Code10)
- Entry No.(integer)
PK: field_1,field_2,field_3,Entry No.
- Page 90001 “Generic Entity Card”
- An action to launch the NavigatePage will be located on this page
And the actions:
Note: To make the actions appear as buttons on the toolbar and the groups as tabs set each action’s InFooterBar property to Yes.
This simple NavigatePage will collect data(the comment) from the user in Step1 and when the user clicks Next will insert a comment and make visible Step2.
When user clicks Next, the system will:
- validate the fields in Step1
- Hide the fields in Step1 group
- Perform Wizard action (generate the comment)
- Show Step2 group
When the user clicks on Finish the page closes.
A few snapshots of the NavigatePage as it appears on the Web Client:
Launching Comment – Wizard action:
Click on Next will move the wizard into Step 2:
Standard NAV has a few NavigatePage pages. Check them out:
- 5077 -> Create Interact
- 5097 -> Create To-do
- 5126 -> Create opportunity
If you have processes in which the users need to go through a few pages to enter data and create different entities, then NavigatePages are a great candidate for improving user efficiency and experience.
I used recently NavigatePages in two instances. Once, when I needed an unified screen to allow users to attach files (word docs, excel files, pdfs) in a Property Management AddOn. The documents were collected and attached to an email sent to the owner at month-end.
Another example was more recent when, with one NavigatePage, I was able to create records similar to a fixed asset, collect mandatory data for a purchase invoice and generate the purchase invoice for that record. Of course you need methods that will take care of generating the purchase invoice, its lines, general ledgers, vendor ledgers, dimensions. Moreover, assertiveness is needed to not end up with half-performed processes … But it’s possible to run your processes through a wizard page with an overall improved user experience and efficiency.
Sample code available here.