Appearance
startProcessInstanceWithForm
Flowable 7.1.0 摘要:在使用给定ID的过程定义的精确指定版本中启动一个新的流程实例。
方法签名与说明
ProcessInstance startProcessInstanceWithForm ( String processDefinitionId, String outcome, Map < String , Object > variables, String processInstanceName)
在使用给定ID的过程定义的精确指定版本中启动一个新的流程实例。可以提供业务密钥,以将流程实例与具有明确业务含义的特定标识符相关联。例如,在订单过程中,业务密钥可能是订单 ID。然后可以使用此业务密钥来轻松查找该过程实例,请参阅ProcessInstanceQuery.ProcessInstanceBusinessKey(String)。提供这样的业务密钥绝对是 最佳实践。仅当将表单定义附加到提供的过程定义的开始事件时,仅使用此方法。这将期望启用可流动形式的发动机。一个新的表单实例将 成功启动新的过程实例后创建。 Parameters:
- ProcessDefinitionID-过程定义的ID不能为null。
- 结果 - 起始形式的形式结果可能为无效。
- 变量 - 要通过的变量可以为null
- ProcessInStanCename-要启动的过程实例的名称可以为null。
Throws:
- FlowableObjectNotFoundException-当没有给定ID部署过程定义时。
常见使用场景
- 创建新的流程实例,驱动业务工单生命周期。
- 结合业务键、租户信息构建多租场景。
- 官方摘要:在使用给定ID的过程定义的精确指定版本中启动一个新的流程实例。
Kotlin 调用示例
kotlin
val processDefinitionId = "PROCESSDEFINITIONID"
val outcome = "OUTCOME"
val variables = mutableMapOf("flag" to true)
val processInstanceName = "PROCESSINSTANCENAME"
runtimeService.startProcessInstanceWithForm(processDefinitionId, outcome, variables, processInstanceName)注意事项
- 启动流程前确认模型已部署且可用。
- 建议传入业务键,方便后续查询定位。
- 调用前请确认当前用户具备相应的任务/流程操作权限。
- 本文基于 Flowable 7.1.0 Javadoc。
相关 API
- startProcessInstanceWithForm
- startProcessInstanceByKey
- startProcessInstanceById
- startProcessInstanceByMessage