让品高工作流牛起来

做一个徘徊在牛A和牛C之间的产品也不错啊

导航

子流程环节的使用

Posted on 2010-08-25 17:43  Brian.KFC  阅读(868)  评论(0编辑  收藏  举报

关于子流程:

子流程环节的Mapping中的source和target不能是ApplicationData之类的内置参数,而

且source和target的值仅支持DateTime,Double,Guid,Integer,String这五种类型。

 

Ø 子流程Mapping的用法:

假如子流程环节的参数Mapping表Source为a,Target为b,其中Source为父流程要传给子流程的参数,Target为子流程中接收该参数值的参数。

 

第一步:在父流程的BeforeDataSave中加入:

this.Parameters.Add("a", "123");

第二步:在子流程中通过下面方法取得参数值:

WorkflowHelper helper = new WorkflowHelper();

helper.OpenWorkflow(CaseID, TaskID);

string b = helper.GetParameter("b").ToString();

或者 string b = CurrentActivity.Owner.DataItems["b"].ToString();

 

Ø 如何取得父子流程CaseID:

1. 子流程取父流程CaseID:

WorkflowHelper helper = new WorkflowHelper();

helper.OpenWorkflow(CaseID, TaskID);

string parentCaseID = helper.GetParameter(SubflowActivity.ParameterParentCase).ToString();

2. 父流程取子流程CaseID:

WorkItemHelper helper = new WorkItemHelper();

string subflowCaseID = helper.GetParameter(CaseID, TaskID, SubflowActivity.ParameterSubflowCase).ToString();

其中TaskID为在父流程中的子流程环节的TaskID。