工作流复制器活动:如何确定任务是否被批准或拒绝

时间:2014-08-21 13:12:33

标签: sharepoint workflow

我有基本的工作流程,里面有复制器活动。 Replicator包含我的标准创建任务的自定义序列活动 - > ontaskchanged - >完成任务序列。

现在:创建任务并且可以毫无问题地完成任务。事情是我无法找到获得完成任务值的方法。它被批准还是被拒绝了?

请提供复制器的ChildCompleted事件的几行代码,以便从Sequence活动实例(或任何其他方式)中获取任何内容。

感谢

更新:为了在工作流实例之间交换值,您需要使用DependencyProperty。所以这里的解决方案是:
1)将DependencyProperty添加到父工作流并添加您将用于存储值的属性,如下所示:

public static DependencyProperty childStatusProperty = 
System.Workflow.ComponentModel.DependencyProperty.Register("childStatus", 
typeof(string), typeof(parentWorkflowTypeName));

public string childStatus
    {
        get
        {
            return (string)base.GetValue(childStatusProperty);
        }
        set
        {
            base.SetValue(childStatusProperty, value);
        }
    }

2)在自定义序列活动中访问父实例并使用已定义的DependencyProperty将属性设置为值,如下所示:

private void completeTask1_MethodInvoking(object sender, EventArgs e)
    {
        var replicator = this.Parent;
        var workflowParent = (parentWorkflowTypeName)replicator.Parent;
        workflowParent.childStatus = "my custom status value";
    }

3)使用普通属性读取此值:

//from parent workflow
string status = childStatus;

1 个答案:

答案 0 :(得分:0)

问题是你必须在某处创建所有创建任务的列表。我猜你是在并行创建任务(不是顺序)。 我有同样的问题,我花了一段时间才解决这个问题。

请将此链接视为一个很好的起点:http://rmanimaran.wordpress.com/2010/12/02/sharepoint-workflow-replicator-parallel-approval-problem-solution/