Workflows in Microsoft Dynamics NAV 2016
In this section, we will learn how to create and use Workflow in Microsoft Dynamics NAV 2016. This section will explain the new basic workflow functionality of Microsoft Dynamics NAV 2016, which is awesome.
We will cover the following steps to make you better understand the workflow functionality:
- Introduction to the workflow functionality
- Set up the prerequisites for a workflow
- Workflow demo
Introduction to workflow
Workflow enables you to understand modern life business processes along with the best practices or industry standard practice, for example, ensuring that a customer credit limit has been independently verified and the requirement of two approvers for a payment process has been met.
Workflow has these three main capabilities:
- Approvals
- Notifications
- Automation
Workflow basically has three components, that is, Event, Condition, and Response. When Event defines the name of any event in the system, whereas On Condition specifies the event, and Then Response is the action that needs to be taken on the basis of that condition. This is shown in the following screenshot:
Note
We need to differentiate between a workflow, which is a collection of one or more Event. Response is designed and managed through a designer (as shown in the preceding screenshot) and workflow Template, which is a mechanism to deliver the workflow process to the NAV System.
Setup required before using workflow
The following setup is a prerequisite for the workflow functionality, which I will just discuss briefly:
- SMTP Mail setup
- Job queues
- Approval User setup
- Workflow User group
- Notification setup
SMTP Mail setup
For SMTP setup, go to the SMTP Mail Setup page from the RTC client, and fill in the SMTP Server name, SMTP Server Port number, and the Authentications option. You just need to make sure that your e-mail setup is working, as shown in this screenshot:
Job queues
We will use the default job queue just to make sure that the actions run in the background. Just click on Start Job Queue:
Approval User setup
Just make sure you have a well-defined Approver Setup. Microsoft Dynamics NAV 2016 has a very easy user setup process. You can take a look at the following screenshot to see how it can be done:
Workflow User Group
The Workflow User Group window is new in Dynamics NAV 2016. It introduces the possibility to create a user group for approvals. It includes a sequence number. As shown in the following screenshot, both users have the same sequence, which means that both users will get the notification at the same time. If it were different, then the notifications would be sent as per the sequence:
Notification Setup
In Microsoft Dynamics NAV 2016, we not only find different notification templates, but we can also create new ones. For example, by default, the standard notification for approvals is an e-mail. We can change the schedule as per our need. Open Notification Setup, and refer to the following screenshot to change the schedule:
Workflow demo
We can use the workflow functionally for various operations. Let's take an example of the Customer Approval workflow. Here we will need to approve the customer if the credit limit is changed. We will set up our workflow accordingly to show a better picture of the process.
Setting up the conditions
Let's set up the scenario for testing the workflow functionality of Microsoft Dynamics NAV 2016.
Following are the steps to set up the conditions:
- Follow this link for workflow in Role Tailored Client of Microsoft Dynamics NAV 2016:
Departments | Administration | Application Setup | Workflow | Workflows
Or you can directly type
workflow
in the Search pane. - Create a new workflow. Let's use New Workflow from Template. This will create a workflow with a template, which we can modify later. Refer to the following screenshot:
The workflow steps will appear in the window, and now we can modify as per our requirements.
- To see how the workflow functionality works, let's take an example where a credit limit greater than 1,000 will trigger an event, which will generate some response.
For this, click on the AssisEdit button in the On Condition column on the first line Approval of a customer is Requested.. Add the condition Credit Limit(LCY) is > 1,000 in a new window:
Note
We can add more responses just by clicking on the AssistEdit button of a record in the Then Response column. Then click on Add More Responses. You can also assign recipient information for that response.
- Edit the reponses of the line. In the Workflow Responses window in Approver Type, select Workflow User Group, which we created for this demo. Now select the MYWFUSERGROUP code in the Workflow User Group Code field:
- Click on the Enable Boolean button, and then you are done with configuring the workflow setup:
Testing the workflow
Now we will run the system to test the workflow functionality and get impressed.
Following are the steps to test the workflow:
- Go to a customer card-for example, customer number 2000, and change the credit limit to a value greater than 1,000( here, 1,200.00):
Here we set 1,200.00 as the credit limit value, and click on the Send Approval Request button on the ribbon bar.
Now we will see how the whole logic works in the system.
Note
Here the customer will be restricted, since it violates the workflow rules. Just make sure your workflow is set to active, or else no response will be observed.
- Now we will create a Sales Invoice page with Sell-to Customer, the customer whose credit limit we just changed, that is, customer number 2000, and Post the Sales Invoice page:
Output of the workflow
The steps that we performed in the previous section will create lines in the Approval Request Entries page, one for Approver 1 and one for Approver 3, with the same sequence number as to which our setting was defined.
This will also create notifications for both users, which can be seen in the Notification Entries page.
Once the approver approves the customer, the process can move further, but until then, the customer will be blocked for any kind of similar transactions.
Hopefully, you must've understood how the workflow feature can be utilized to make our process flow more precisely, and to restrict any unauthorized activity.