I've created a Workflow and I configured a IPC-Event to call a Sub-Workflow where different Users have to approve.
The IPC-Event is configured for Synchronous and in the Destination Rule I've told the event Plan per Destination -> All at once.
I also configured the Event for Create a slot for each destination and Resolve all roles and groups to users.
The users are stored in a SharePoint-List with a ; seperator.
The Problem is now, that when I start the Event the users get the task and they can approve it.
But from the moment the first user have approved the workflow will go forward and don't wait for the other users.
I tried already to set up a Succeding rule "All of ActivityInstanceDesStatus = Completed". But with this rule, the Workflow will not run forwad.
After all users have approved the task will marked as done and nothing happens.
It looks like that the Succeding rule is not fulfilled.
Does anyone have a idea where the configuration error is?
Thank you for your help in advanced.
Kind Regards
Alexander
Best answer by Kran
Hi A_Christ.
Correct me if i am wrong, you are calling a child process using Plan per Destination -> All at once and configured the Event for Create a slot for each destination and Resolve all roles and groups to users. And in child workflow (called using IPC), client event having rule "All of ActivityInstanceDesStatus = Completed".
Observation:
Let suppose u have 5 users in group, then IPC event will create 5 child processes one for each user, when 1st user will take action on task, the rule ("All of ActivityInstanceDesStatus = Completed".) used at client level will pass, and this will complete the child process.
Once any one of the child process is completed your parent process ipc event will expire. As you are not using success rule at your parent process activity to check if all child process are completed or not.
To achieve this follow below steps in parent Process:
Take a data field of type int set default value as 0
Below your IPC process in same activity add a Data event to increment data field by one
Now add a succeeding rule to check count is equal to number of slots created
Correct me if i am wrong, you are calling a child process using Plan per Destination -> All at once and configured the Event for Create a slot for each destination and Resolve all roles and groups to users. And in child workflow (called using IPC), client event having rule "All of ActivityInstanceDesStatus = Completed".
Observation:
Let suppose u have 5 users in group, then IPC event will create 5 child processes one for each user, when 1st user will take action on task, the rule ("All of ActivityInstanceDesStatus = Completed".) used at client level will pass, and this will complete the child process.
Once any one of the child process is completed your parent process ipc event will expire. As you are not using success rule at your parent process activity to check if all child process are completed or not.
To achieve this follow below steps in parent Process:
Take a data field of type int set default value as 0
Below your IPC process in same activity add a Data event to increment data field by one
Now add a succeeding rule to check count is equal to number of slots created
This has solved my problem. Sometime it can be so easy.
But for me it is a little bit strange that this doesn't work out-of-the-box. I thought when I start this synchronious that the Process will wait for all instances.
We use 3 different kinds of cookies. You can choose which cookies you want to accept. We need basic cookies to make this site work, therefore these are the minimum you can select. Learn more about our cookies.