H3.DataModel.IWorkflowInstanceManager
序号 | 接口名称 | 说明 |
1 | CreateInstance | 创建一个流程实例 |
2 | CreateInstanceByDefault | 创建一个默认的流程实例 |
3 | GetWorkflowInstance | 获取一个流程实例 |
4 | GetWorkflowInstancesByBizObject | 根据业务对象ID获取流程实例集合 |
5 | GetParentInstanceInfo | 获得父流程的工作流信息 |
6 | RemoveInstance | 删除流程实例 |
7 | SendMessage | 发送消息给流程实例,以驱动流程实例的运行 |
上述清单中的接口均归属在this.Engine.WorkflowInstanceManager
下,如要获取一个流程实例,可使用如下代码形式:
H3.Workflow.Instance.WorkflowInstance instance = this.Engine.WorkflowInstanceManager.GetWorkflowInstance("XXX");
其他接口使用方式与此类似。
创建一个流程实例。
参数名 | 说明 |
bizObjectId | 业务对象ID |
schemaCode | 表单编码 |
workflowVersion | 流程版本号 |
instanceId | 流程实例ID,如果为空则会自动生成 |
originator | 发起人 |
isChildInstance | 是否是子实例 |
parentInstanceID | 如果是子实例,则该项为父实例的ID |
parentActivityName | 如果是子实例,则该项为发起该实例的父实例的活动ID |
parentActivityTokenId | 如果是子实例,则该项为发起该实例的父实例的TokenID |
notify | 发送消息提醒标志,默认为 |
类型 | 说明 |
string | 创建的实例ID |
创建一个默认的流程实例。
参数名 | 说明 |
bizObjectId | 业务对象ID |
schemaCode | 表单编码 |
originator | 发起人 |
类型 | 说明 |
string | 创建的实例ID |
获取一个流程实例。
参数名 | 说明 |
instanceId | 实例ID |
类型 | 说明 |
H3.Workflow.Instance.WorkflowInstance | 流程实例对象 |
根据业务对象ID获取流程实例集合。
参数名 | 说明 |
schemaCode | 表单编码 |
bizObjectId | 业务对象ID |
类型 | 说明 |
H3.Workflow.Instance.WorkflowInstance[] | 流程实例对象集合 |
获得父流程的工作流信息。
参数名 | 说明 |
instanceId | 实例ID |
类型 | 说明 |
H3.Workflow.Instance.ParentInstanceInfo | 父流程模板的基本信息 |
删除流程实例。
参数名 | 说明 |
instanceId | 要删除的流程实例ID |
autoUpdateBizObject | 删除之后,是否需要更新业务对象关联的流程实例ID |
类型 | 说明 |
无 | 无 |
发送消息给流程实例,以驱动流程实例的运行。
参数名 | 说明 |
message | 发送给流程实例的消息,详见 |
类型 | 说明 |
H3.Workflow.Messages.WorkflowInstanceChangeSet | 消息处理结果 |
重新激活流程:
H3.Workflow.Messages.ActivateInstanceMessage actInsMessage = new H3.Workflow.Messages.ActivateInstanceMessage("流程Id"); this.Engine.WorkflowInstanceManager.SendMessage(actInsMessage);
结束流程:
H3.Workflow.Instance.WorkflowInstance instance = this.Engine.WorkflowInstanceManager.GetWorkflowInstance("流程Id"); H3.Workflow.Messages.FinishInstanceMessage cancelMessage = new H3.Workflow.Messages.FinishInstanceMessage("流程Id",(int)instance.FinalTokenId); this.Engine.WorkflowInstanceManager.SendMessage(cancelMessage);
取消流程:
H3.Workflow.Messages.CancelInstanceMessage cancelMessage = new H3.Workflow.Messages.CancelInstanceMessage("流程Id", false); this.Engine.WorkflowInstanceManager.SendMessage(cancelMessage);