我有基本的工作流程,里面有复制器活动。 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;
答案 0 :(得分:0)
问题是你必须在某处创建所有创建任务的列表。我猜你是在并行创建任务(不是顺序)。 我有同样的问题,我花了一段时间才解决这个问题。
请将此链接视为一个很好的起点:http://rmanimaran.wordpress.com/2010/12/02/sharepoint-workflow-replicator-parallel-approval-problem-solution/