0

I am developing a sequence workflow. It contains a Replicator and its InitialChildData property is bound to the list of strings representing users. The activity that gets replicated is the workflow task creation and the users from the list are the ones to whom the tasks are assigned to. So, I am getting multiple tasks workflow (similar to one illustrated here).

On certain workflow task update, I need to close that task and to have another one created. Since the Replicator workflow node is in charge of creating workflow tasks, how do I tell it to create an additional one? Thanks.

1
  • I'm having a similar requirement and have not been able to solve this one yet. A parallell Replicator is creating the initial tasks and while loops with OnTaskChanged are waiting to complete the activity, and I want it to add/clone another task into this as a Replicator child in the same activity scope. I'm able to use a modification form to add a new task from inside the Replicator, but this is not managed as a Replicator child, which I want to.. Anyone solved a case similar to this? Did you get any further on your issue Boris?
    – user17154
    May 22, 2013 at 10:47

1 Answer 1

0

I actually solved it.

Here's the code which does the trick:

internal static void AddTask(ReplicatorActivity replicator, ReplicatorChildEventArgs args, string assignedTo)
{
  SPTaskActivity taskActivity;

  taskActivity = args.Activity as SPTaskActivity;
  replicator.CurrentChildData.Add(assignedTo);
  replicator.InitialChildData.Add(assignedTo);
}

So the idea is to modify the child data property in the replicator (which is used to generate multiple wokrflow tasks). It is necessary to add the new user to both CurrentChildData collection and the InnitialChildData collection to make it work; and that, for me, was very difficult to resolve. I am still not 100% sure why it needs to be done that way.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.