Skip to content

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