projectSequence中Replicator中的多个任务

时间:2014-04-17 06:08:26

标签: sharepoint-2010 workflow ms-project-server-2010

我想创建将在创建新项目时开始的工作流程。工作流程应为用户组创建批准任务。组中的用户数可能会发生变化。因此,我使用ReplicatorActivity并将InitialChildData设置为此组。在Replicator内部,我有一个createTaskActivity,可以为组中的每个用户创建任务。    I follow the microsoft tutorial on msdn它工作正常。我的工作流程图与教程图相同。

在Replicator中,ChildInitialized方法我为在TaskActivity中传递的审批任务设置了属性

 private void replicateTasks_ChildInitialized(object sender, ReplicatorChildEventArgs e)
    {
        spTaskActivity1.TaskTitle = "New Project Approve";
        spTaskActivity1.TaskDescription = "Approve the project";
        spTaskActivity1.TaskAssignedTo = e.InstanceData.ToString();
        spTaskActivity1.TaskDueDate = DateTime.Today.AddDays(7);
    }

在TaskActivity中,我为创建

的任务设置了此属性
  private void CreateApprovalTask_Invoking(object sender, EventArgs e)
    {
        //Create Task
        TaskId = Guid.NewGuid();
        TaskProp.Title = TaskTitle;
        TaskProp.Description = TaskDescription;
        TaskProp.AssignedTo = TaskAssignedTo;
        TaskProp.StartDate = DateTime.Today;
        TaskProp.DueDate = TaskDueDate;
    }

一切正常。创建任务并且所有属性都是正确的而不是空的。

当我在工作流程中添加projectSequence并在其中移动ReplicatorActivity时出现问题,因为我希望工作流程将从项目创建开始。在这种情况下,工作流程从项目创建开始,复制器创建具有空属性的任务!任务数量正确且等于用户数。

在调试时,我看到所有属性都为null,尽管已经执行了ChildInitialized方法。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

复制器ExecutionType是否并行?如果是这样,我猜你应该创建一个包含其中所有属性的自定义活动,然后将其放入复制器中。它适用于我,但我仍在寻找另一种方法而不构建自定义活动。