Our process is one by which a project manager submits a procurement request. This involves 3 forms:
- a 'main' form that collects overall data about a project
- a second form that is used when a particular set of conditions is triggered regarding what is to be bought
- a third form that is a Manager Approval form for another set of conditions triggered from the second form
The issue is with the second form. This form displays consultant information (name, address, phone, etc.) for a procurement request and is triggered when the initiator selects architectural services with a budget value of less than a particular amount from the main request form.
In the process modeler, I used a sub-process (Pre-Qualified List Selection, image below) to handle the review and approval of the consultant (and my apologies for the loopiness of the model - I've been moving tasks around just trying to troubleshoot where the error may be coming from):
In green is the first time we go into this sub-process. "Select next available consultant" is the workflow that:
- searches the consultant list in Laserfiche and selects the appropriate consultant
- saves this information to a table in SQL
The form itself is configured with a lookup for this table (when the unique ID for the form instance matches that in the table) and pulls into the form the consultant information fields that have been saved to the SQL table (i.e. name, address, etc.). The user task "Accept/Reject" Consultant" notifies the initiator that a consultant selection is ready for his/her review. Their options are to approve/reject the selection.
This process works great the first time around. Let's say that the workflow pulls up AAA Consultant plus related information. If the project manager rejects this selection (and it is not a rejection that involves the "Manager Approval required" path - right now I'm just focusing on the "Rejection reason = valid" path), "Select consultant" gets the next available consultant from the Laserfiche document (e.g. BBB Consultant et al), this information is written to the SQL table (with the previous information deleted so that for any specific process instance there is only ever one row in the table that holds the current consultant selection), their position in the list is amended with "Reset previous..." service task, and we're back to "Accept/Reject" for the initiator.
When the project manager opens up the task, the form should be populated with the information for BBB Consultant but it still shows AAA Consultant. Interestingly enough, when the selection document gets saved to Laserfiche (after the PM approves the selection), it does show the correct consultant - in this case, I'd have two saved documents, one for AAA and one for BBB.
I tried "Wait until workflow finishes before proceeding" options on the various service tasks (thinking the process was jumping ahead before the information was hitting the SQL table) but that didn't work. Should I somehow try to clear the form field values before repopulating them? I have a sneaking suspicion that the answer is some little thing we're doing (or not doing) as we're still getting used to Forms 9.2 but I can't seem to track down what it is.
Any help would be appreciated...as would chocolate. Lots of it. Will pay for shipping.