What is the error you are receiving? Are you starting the workflows from another workflow, or manually starting them? And are you starting the 2nd workflow on the same list item or a different item?
- Error message: workflow XY is already running
- I have started one workflow from another workflow
- and Yes, I have tried to run both of them on the same Item (that is why the error message)
Work around could be, create new list item for each cost center and run the workflow on that newly created item, but I think it could be easier solved than that...
Yes, you can't have the same workflow running twice on an item. I'm not sure I fully understand your scenario as to why you're trying to run the same workflow on an item at multiple times. The cost centers that you mention having 1 or more of, are these all on the same item? How are these cost centers stored? Do you have a different column for each one, or are you using a choice field with multiple selections?
Well,
I have a Collection list with one to z-Cost centers, since I don’t know in advance, how many will be in the SharePoint list - Item, I can’t design a stiff Approval-Tasks. and in order to shorten the total Processing time I thought of a Flexible Parallel Processing Approval Tasks.
The Problem is that, I can’t run the Workflow on the same List (SharePoint List).
I need a help how do I start Approval Process in a parallel manner
I'm sorry but I'm still not exactly following your process, so it's hard to recommend a solution. If you could explain the process from beginning to end, or provide some screen shots that would help. I understand you have a list that has cost centers in it. I'm assuming you have a separate item in the list for each cost center. But I'm not sure where the approval part comes into play.
You can build dynamic approval processes that vary the number of tasks that get assigned. You would do this by creating a variable that go into the Assignees field in your task action. I'd recommend using the flexi-task. You can select the option to "create individual tasks for all group members" to have the workflow assign separate tasks to each person.
The dynamic piece would come in earlier in your workflow in how you populate the Assignees variable. I'm going to assume your cost center list is setup like this, with a single entry for each cost center with a corresponding approval manager.
Cost Center | Approving Manager |
---|
123 | Big Bird |
456 | Ernie |
789 | Cookie Monster |
So if you're doing an approval for these 3 cost centers, first you'd need to capture those cost centers in a collection. Once you have that you could then use a For Each to loop through each cost center to get the approving manager, which you would store in the Assignee variable. When the Flexi-Task runs it will create a task for each manager, regardless if there is 1 or 5 or 10.
I think this thread might help you
Yes
That is exactly what I thought would be my Plan B, BUT when one of the task rejected all of the remaining Tasks should be closed too, and due to the complicity of the whole I was hoping to get an another approach (UDA? Or a Site Workflow?).
I have a List of Managers they all have to Approve (the Deputies might approve too) or reject the invoice (Flexi Task). If one (manager or his deputy from the cost center - z) rejected the Task (invoice), all other Tasks are to be rejected and the Workflow should be (after logging) closed.
i.e.
Cost center “A” manager “b” deputy “c”
Cost center “X” manager “y” deputy “z”
…
The Tasks one after the other to start will take too long for 10 or 15 Managers (although for one cost center and one invoice would be OK),
Using the manager and his deputy where one should approve will work, again if only these two got the Task, but this will not work when I put all the managers and all there deputies in only one Task not even if I have created individual Tasks, then I can’t say either the manager “b”or his deputy “c” from this cost center “A” might approve (or reject) the Task (Invoice). That’s why I can’t use the creation of individual Tasks for all of them in the same Flexi-Task (or could I?).
Any more ideas?
can't you design your workflow as multi-level approval process?
ie. if CC-A approves, request approval from CC-B. if CC-A rejects, workflow ends.
if CC-B approves, request approval from CC-C. if CC-B rejects, workflow ends.
etc
That ist the Point, if you have only one CC, there would be no Problems at all. But having 10, 15 or even more CC's, the whole approval will just take A G E S ....
does the time to approve really matters? you can never ensure when someone will reply to task.
you can only setup some organizational rules that task should be replied until (eg) XX days and/or setup some escalations process - if that is not replied until that XX days then notify some superior manager(s) and/or escalate task to him as well.
if that's still not an option for you then I think you will have to do some compromise.
- eg let to take care of delegation primary responsible and do not assign task to delegates
- or terminate not yet answered tasks in case of reject
etc
didn't you blog about this?
Not sure, possibly this one.
Like most, I'm still not entirely sure of the requirement here, but depending on the number of cost centres, could a workflow per cost centre work with a "master" workflow deciding which workflows start based on a set of conditions.