Reversal of Finish Assignment and Get Next Work on an Action list.
The UI Action list we are using has 3 steps:
Get Next Work
When it sees a Finish Assignment on an Action list, pushes it to the end of the list, and ensures it will not fire until all of the other actions complete.
If FinishAssignment fires first, then the assignment would be removed from the workbasket, and GetNextWork would not find anything. But this is not happening when there is one (last)WorkObject in the WB it always getting the last WO again and again(Since GetNext calling first and then FinisAssignment).
We saw in the Fiddler trace that because of the reversal of operations, GetNextWork finds the current work object when there are no more objects to be gotten because it is still on the list.
Please suggest the solution and customer is very clear on Submit and GetNext requirement.
I have concern about using finish-assignment in an action list. It will do a commit and hence change the transaction-id. Is there a guarantee that each action will complete before the next starts, AND that new transaction-id's will be properly transmitted to the browser ? I wonder if there's special code to push finish-assignment to the end of the list to avoid this issue ?
If you make your activity sleep for 10 seconds so it takes a really long time, AND you put the finish-activity before the run-activity action, does the finish-assignment still happen after the activity action ? /Eric
As previously discussed, use of FinishAssignment followed by GetNextWork on a UI Action list is completely wrong. FinishAssignment will submit the form, and so it has to be held to fire last, until everything else has fired.
This combination of FinishAssignment and GetNextWork should be taking place on the Server, not the client. Use of Flow Action rules and Post-action activities are the correct way to go.