Skip to main content
I tried searching for this but didn't see anything that applied.


I've got a workflow that has multiple approval steps in parallel. The following activity depends on all of them being approved. If any one of them is denied, I can reset the approvals on the approvals already given, but how can I cancel the activities that have been initiated but are not yet completed.

I need to do this so that the workflow can be re-routed back to the originator for changes.
Is there a specific reason why the approval activities happen in parallel? One can use a single activity with multiple slots and then use a succeeding rule to test whether the activity should complete - this rule is evaluated each time one of the slots completes their task and if the succeeding rule is true, all remaining tasks will be expired.

The other alternative is to use K2.GoToActivity(ActivityName) in a server event - this will force the process instance to go to a specific activity in the process and in so doing, expire all currently executing activities in the process instance.
Neil,

The activities are in parallel because whether or not they are used is dictated by choices made on an Infopath form. There are 6 different approvals in parallel, of which 1 is mandatory and the other 5 are optional. If the checkbox for an optional approval is checked, then that activity comes into play. Otherwise it is skipped.

But you raise an interesting point - maybe I should look at using one activity with multiple destinations, and add the destinations based on the checkboxes.

Reply