flowable中调用子流程(调用活动),如何给发起人生成提交表单申请的待办(目前是直接进入到审批环节了)?

新手上路,请多包涵

image.png
image.png

主流程中调用子流程,采用CallActivity可以实现,但子流程直接进入到了审批环节,发起人需要填写表单信息,怎么样才能给发起人创建待办,并且可以提交表单信息,然后再进入到审批环节。

参考https://juejin.cn/post/7327831782702252083,这个地址可以实现设置子流程的发起人,但是这时候子流程已经直接进入到了审批环节了,想实现给子流程的发起人创建可以提交表单信息的待办事件。

阅读 1.3k
avatarAI BotBETA

在Flowable中,如果你想要在主流程中调用子流程时,首先给发起人生成一个可以提交表单信息的待办(Task),然后再进入审批环节,你需要结合使用几个Flowable的功能点,包括用户任务(User Task)、表单(Forms)以及流程变量(Variables)。

解决方案概述

  1. 定义表单:首先,在Flowable的模型编辑器中,为子流程的开始用户任务(User Task)定义一个表单。这个表单将用于收集发起人的信息。
  2. 设置子流程的开始任务:确保子流程的第一个任务是用户任务,并且这个用户任务配置了表单。
  3. 在调用活动(Call Activity)后设置待办:在主流程中,调用子流程(Call Activity)之后,你可能需要添加一些逻辑来确保在子流程开始之前或同时,给发起人分配一个待办。然而,通常Call Activity本身不直接支持这种逻辑,因为它只是简单地调用子流程。因此,你可能需要在子流程中直接处理待办的创建。
  4. 子流程处理待办:在子流程的第一个用户任务中,使用Flowable的API(比如通过监听器或任务服务)来确保任务被分配给正确的用户(即发起人),并且该用户能够看到一个待办项。
  5. 提交表单后继续审批:一旦发起人提交了表单,用户任务完成,子流程将继续执行后续的审批流程。

细节实现

  • 表单定义:在Flowable Modeler中,为子流程的第一个用户任务添加一个表单定义,这可以通过“表单属性”来完成,并指定表单的字段和提交方式。
  • 调用活动:在主流程中,使用Call Activity来调用子流程,确保传递了所有必要的流程变量(如发起人ID)。
  • 监听器或脚本:如果需要在子流程开始之前或之后执行特定逻辑(如创建待办),可以考虑在子流程的第一个用户任务上使用监听器(Task Listener)或脚本(Script Task)。监听器可以监听任务的创建、完成等事件,并执行相应的逻辑。
  • 任务分配:确保子流程的第一个用户任务正确设置了任务的候选人或分配者(通常是流程的发起人)。

注意事项

  • 确保子流程的设计能够处理从主流程传递过来的所有必要信息。
  • 如果需要,可以使用Flowable的API(如TaskService)在流程执行期间动态地管理任务和待办项。
  • 考虑到性能和安全性,确保任何自定义脚本或监听器都经过充分测试。

通过上述步骤,你应该能够实现在Flowable中调用子流程时,首先给发起人生成一个可以提交表单信息的待办,并在提交表单后继续进入审批环节的功能。

1 个回答
新手上路,请多包涵

子流程需要创建一个用户任务(userTask),然后这个任务的处理人分配给发起人,最后任务要设置属性(skipExpression)为false,不让其自动通过。

推荐问题
宣传栏