0

I am trying to create a workflow on SharePoint 2007 that should go like so:

  1. User adds a new item in the "Faults" list. When creating it, he ticks the boxes for whatever departments needs to address the fault.

  2. The appointed representative of each selected department is assigned a task to check the new item.

  3. The represenative marks the task as complete.

  4. All tasks are completed and the workflow is finished.

The problem: if I create a workflow in SharePoint Designer 2007 and create multiple steps checking to see "if X department was ticked then assign task to user", it will wait until the first department marks their task as complete before it assigns a task to the next department. I need all departments to be assigned the task at the same time.

Other options I have considered:

  • If department X was ticked then add the representatives' username to a variable named "userX". Repeat with department Y and variable "userY", and then Z with variable "userZ". Finally, assign a task to userX, userY and userZ. I had hoped it would ignore the blank variables, but instead it assigns a task to nobody and the workflow never finishes.

  • Having the user assign the item to users instead of departments is not possible since they can't be expected to know the appointed representatives of every department.

  • I can create a task through the "Create List Item" action, but the workflow is marked finished after creating the tasks, even through the tasks are not complete.

Does anyone have any ideas?

Torai
  • 404
  • 2
  • 5

1 Answers1

1

If anyone is interested, here is the solution I eventually used:

First step of the workflow:

if [department checkboxes] contains "Department 1"
    store "user1" in [Variable:assignedTo]

One step each for other departments:

if [department checkboxes] contains "Department X"
and [Variable:assignedTo] is empty
    store "userX" in [Variable:assignedTo]
else if [department checkboxes] contains "Department X"
and [Variable:assignedTo] is not empty
    store "[Variable:assignedTo]; userX" in [Variable:assignedTo]

And finally,

assign "Task" to [Variable:assignedTo]

Hope this helps somebody.

Torai
  • 404
  • 2
  • 5
  • Thank you, this was useful for me (a few years later). I believe this can be made quite simpler because it's alright to assign many times to the same user (like `userX; userX; userX`), and Sharepoint parses that and assigns only once. So you can go ahead and append `userX` without checking first if it's empty or not. But I haven't tested thoroughly. – pgr May 11 '15 at 10:20