Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

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.

share|improve this question
    
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 '13 at 10:47

1 Answer 1

up vote 0 down vote accepted

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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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