A client who had recently upgraded to Microsoft Dynamics GP 2016 reported an error when approving a purchase order via Workflow 2.0 Email Actions. The user would click Approve on the email, enter their comment and click Approve and then received the following message:
The server encountered an error processing the request. See server logs for more details.
The purchase order was showing as approved, so Workflow itself was working correctly from this point of view and I couldn’t find any logs which might explain the issue.
However, while I was having a look at the workflow setup, I noticed that the Purchase Order Approval workflow type, did not have a manager set. There had been a workflow manager defined or the workflow process could not have been activated, but at some point it disappeared.
Adding a manager for the workflow type, saw the error message stop appearing.
The manager’s disappearance could be related to the upgrade, but I’ve upgraded some other clients who were using workflow and not had his same problem.
I have worked on a number of projects for clients implementing Workflow 2.0 where being able to set one step with multiple parents would greatly reduce the work involved in creating the workflow.
For example I have recently worked with a client who has a Function segment in the chart of accounts, which requires approval by the Function Approver, which is a different person for each Function, and then a second level of approval by a Finance Panel, which is always the same five people.
When we create the workflow for POs we need to create forty Steps, one for each Function with it’s set of approvers, and then forty Finance Panel Approval Steps after each of the Function approval steps.
Step for Function = "IT" followed by a Finance Panel approval step. Step for Function = "HR" followed by a Finance Panel approval step. Step for Function = "TRAINING" followed by a Finance Panel approval step. Step for Function = "SALES" followed by a Finance Panel approval step. Step for Function = "ADMIN" followed by a Finance Panel approval step. Step for Function = "OPERATIONS" followed by a Finance Panel approval step.
If we could define the Finance Panel step and assign it to follow multiple steps instead of only the one parent which can be assigned at the moment, it would save so much time and effort when creating and maintaining the workflow.
MS Connect Suggestion: Allow Parenthesis in Workflow Step Conditions
I would like to request the facility to use parenthesis in Workflow Step Conditions in order to simplfy the creation of the conditions.
For example, currently a condition may need to be entered as:
VendorClass = “EU” and ItemClass = “IT” and CostCentre = “NEWCASTLE”
VendorClass = “EU” and ItemClass = “IT” and CostCentre = “LONDON”
VendorClass = “EU” and ItemClass = “IT” and CostCentre = “EDINBURGH”
And that is with only an or clause on one of the parameters. I might have 6 VendorClasses and 20 ItemClasses; it gets real big, real quick.
If parenthesis could be used, as in a mathematical equation, I could enter the condition as:
VendorClass = “EU” and ItemClass = “IT” and (CostCentre = “NEWCASTLE” or CostCentre = “LONDON” or CostCentre = “EDINBURGH”)
This would shrink the amount of work required to create anything but the simplest of workflow processes enormously.
This is an update to the original Workflow 2.0 book I wrote a couple of years ago. This edition includes coverage of the new functionality introduced in Microsoft Dynamics GP 2016, a new chapter on adding table joins to workflow to allow additional conditions to be created, and some chapters and sections have been rewritten to either expand or make clearer the topics being covered.
Dynamics GP includes a variety of tools and modules to assist in controlling processes and data; one of the major modules for this was the Dynamics Workflow module. However, this module had major flaws which very much limited its usefulness; it was slow, clunky and difficult to install, configure and maintain.
Everything had been fine until this point, but after creating a simple example approval workflow, I clicked the Submit button on the Purchase Requisition Entry window and nothing happened; I tried again through the navigation list, again without success.
I promised to figure out the issue in the next break and moved onto discussing other ways of interacting and then called the break.
It occurred to me that this might be another manifestation of an issue I have encountered previously, but without the visible error message.
I ran the script against the system database which redeploys the .NET Assemblies used by Workflow:
It took a few minutes to run through, but I was then able to approve the requisition without further problem.
With the release of Microsoft Dynamics GP 2016 R2 it’s time for a series of “hands on” posts where I go through the installation of all of it’s components; the index for this series can be found here.
Over the last few posts, I have covered the installation of the web client as a scale-out deployment. After a few different Hands On… posts I have finally got the order of posts right by posting the web client installation before that of the Web Servies; this is important as there is a step of the Web Services which asks if you are using the Web Client.
If you are installing the Web Services and are using the Web Client, or plan to, then go back to this post, and it’s successors, and install the web client before proceeding with this post.
If you’re ready to install the Web Services for Microsoft Dynamics GP then launch the setup utility and, under Additional Products, click on Web Services Runtime:
Workflow 2.0 has workflow types for both purchase requisitions (PRs) and purchase orders (POs). When Workflow 2.0 first came out there was a bit of talk about how you could only use one or the other, but not both.
This is not true; you can have approval workflows enabled for both PRs and POs at the same time without having to approve at both stages.
This is done by building up a condition on a workflow step which include the PO line origin. Microsoft have a blog post which covers how to do this step-by-step. There is only one problem; the blog post is incorrect in one critical point:
The problem with the blog, is that Microsoft show the Purchase Order Line field Line Origin being set to Manual. However, Line Origin is a numeric field which does not allow a word like Manual to be entered.
But, all is not lost; you can follow Microsoft’s blog post, but check for the numeric values for Purchase Order Line.Line Origin:
- 1 = line manually entered on a purchase order
- 10 = line created from a purchase requisition.
This information has come in very handy recently for two different clients where we assisted them in creating workflows which required approval of purchase requisiitons and purchase orders where lines had not come from a purchase requisition.
We created a new Payables Transaction approval workflow for a client last week and during UAT they reported that tasks were not escalating when they went overdue.
I verified the workflow and did some testing and was able to confirm that tasks were not escalating correctly.
This was not something I had seen before so I spent a little time doing other things to divert my mind before the realisation struck that a scheduled process has to be checking for tasks to escalate. So off to SQL Server Agent I went.
Or at least tried to. The client does not have SQL Server Agent installed; rather they use an alternate third party tool (I don’t know why).
We passed details of the jobs through to them which are usually created in SQL Server Agent (Scan For Overdue Workflow Tasks For All Companies and Scan For Invalid AD Users and Expired Delegations For All Companies) so that they could create them in the third party tool.
The additional thought which occurred is that Dynamics GP is supported on Microsoft SQL Server Express which does not contain SQL Server Agent, so users on this SQL Server platform cannot use escalations in Workflow 2.0 (unless they use a third party equivalent of SQL Server Agent).
The second session was on Troubleshooting Workflow and was run by current Microsoftie, Dan Peltier. Dan’s name is one which has shown up a few times when we have logged calls so it was good to meet him.
Dan’s session was spoilt a little bit by virtual machine issues which meant he lost his pre-created examples just before the session started. He did get through everything on the agenda. I’ll be honest on this one; I know workflow well enough (having implemented workflow a few times for clients and written a book about it; which I am currently updating for Dynamics GP 2016) that I half expected not to learn anything new, and if I am honest that was the case.
That said, some of Dan’s explanations were clearer (especially around the and/or clauses of step conditions) than the ones which I have given in the past and which I had included in the first edition of my Workflow 2.0 book; I will need to roll some of these into the second edition of the Microsoft Dynamics GP Workflow 2.0 book which I am currently writing (hoping to publish by end of October.
The final session of the day I attended, was on Custom Workflow Creation. I was interested in this session, as we need to create some new Workflow Types. One which is needed, is a Workflow Type of EFT Bank.
The Vendor Change Workflow Approval is good, but does not do anything when the EFT Bank Details are changed and this is a major requirement for many of our clients in the UK.
The session showed how the new Workflow Type is created, tables updated, buttons added to windows and I took the opportunity to discuss wider requirements such as the need to update code elsewhere to respect the new Workflow Types created.
The changes for new Workflow 2.0 Types must be done in Dexterity.
There is a lot of scope for creating new Workflow Types in addition to EFT Bank Details such as SOP Transactions, Bill of Materials, and there my mind goes blank. Been in this airport too long.
The session on custom workflow creation was one of my favourites due to my interest in Workflow 2.0 (did I mention I am doing a second edition of my Workflow 2.0 book?).