并传递变量)
NocoBase 工作流如何调用子工作流调用工作流节点并传递变量【免费下载链接】nocobaseNocoBase is an open-source AI no-code platform for building business systems fast. Instead of generating everything from scratch, AI works on top of production-proven infrastructure and a WYSIWYG no-code interface, so you get both speed and reliability.项目地址: https://gitcode.com/GitHub_Trending/no/nocobase在 NocoBase 中如果你希望一个工作流复用另一段流程逻辑例如发送邮件、短信等通用步骤或者把一个复杂流程拆成多个子流程来维护就可以用“调用工作流”节点调用其他工作流把当前流程的变量作为子流程的输入再把子流程的输出作为当前流程的变量供后续节点使用。本文按“先配被调用的子流程、再配主流程、最后触发验证”的顺序给出完成这套调用关系的具体操作路径。前提你已通过顶部菜单栏的插件配置菜单进入工作流插件的管理页面参考 工作流快速开始。该功能对应的节点由插件nocobase/plugin-workflow-subflow提供节点清单见 工作流节点概述。调用工作流的基本规则在动手之前先明确文档给出的几条规则来源调用工作流节点文档工作流不区分“主流程”和“子流程”任意一个工作流都可以被其他流程调用也可以调用其他流程只存在调用和被调用的关系。未启用的工作流也可以作为子流程被调用所以子流程不要求处于启用状态。当前工作流为同步模式时只能调用同步模式的子流程。执行模式由触发类型决定数据表事件、操作后事件、自定义操作事件、定时任务事件和审批事件默认异步操作前事件默认同步详见 高级配置。使用分两个位置主流程中用“调用工作流”节点作为调用方子流程中用“流程输出”节点保存需要输出的变量供调用方使用。因此实际操作需要准备两个工作流一个作为被调用的子流程一个作为发起调用的主流程。第一步在子流程中配置“流程输出”节点先打开被调用的工作流的配置界面在流程末尾添加“流程输出”节点参考 流程输出节点文档在流程中点击加号“”按钮选择“流程输出”节点。在节点的“输出值”配置项中输入常量或选择变量。输出值可以是任意类型字符串、数字、逻辑值、日期或自定义 JSON 等常量也可以是流程中其他节点的结果变量。保存配置。注意如果在一个被调用的工作流中添加了多个“流程输出”节点调用该工作流时会按最后一个执行到的“流程输出”节点的值输出。如果子流程不配置“流程输出”节点或输出值为空调用方在使用该节点结果时只能得到一个空值null这是文档明确说明的行为。第二步在主流程中添加“调用工作流”节点并选择工作流回到主流程的配置界面点击流程中的加号“”按钮添加“调用工作流”节点。在节点配置中选择要调用的工作流可以通过搜索框快速查找。这里受上面规则约束未启用的子流程可以被选中调用但主流程是同步模式时只能选择同步模式的子流程。第三步配置触发器变量把变量传给子流程选定工作流后还需要配置该工作流触发器所需的变量作为触发子流程的输入数据可以直接填写静态数据也可以选择当前流程中的变量触发上下文数据、上游节点结果数据等变量的来源与路径规则参考 使用变量。不同类型的触发器所需的变量不同在表单上按提示完成配置即可。这样主流程的变量就完成了向子流程的传递。第四步在主流程中使用子流程的输出子流程执行完毕后它的输出会作为“调用工作流”节点的结果回到主流程。在主流程中该节点下方的其他节点里把要引用的值设置为调用工作流节点的结果时简单值字符串、数字、逻辑值、日期其中日期为 UTC 格式的字符串可以直接使用。复杂对象如数据表中的对象需要先通过 JSON 解析节点进行映射后才能使用其中的属性否则只能按整个对象使用。可用的节点有JSON 计算JSON 解析节点基于 JMESPath、JSONPath Plus 或 JSONata 引擎对 JSON 做计算或结构变换并可用“属性映射”把对象属性映射为子级变量JSON 变量映射节点v1.6.0 起提供不支持自定义表达式仅把 JSON 结构中的属性值映射为变量配置更简单适合只做属性取值映射的场景。第五步触发并查看执行历史验证完成两侧配置后将主流程切换为启用状态然后按实际触发方式触发它。验证方式参考 执行计划历史记录文档回到工作流管理界面列表中出现一条执行历史点击次数链接打开该工作流的执行历史列表。进入某次执行的详情页可以看到每个节点的执行状态和结果数据点击对应卡片右上角的状态按钮可以展开查看节点的结果数据。判断依据当主流程分支中的节点全部以“完成”状态执行到流程终点时整个执行计划以“完成”状态结束。若出现“失败”“出错”等终态执行计划会提前终止可以展开节点执行结果查看失败原因。在详情页中分别检查“调用工作流”节点主流程侧和子流程执行中“流程输出”节点的结果数据即可核对变量是否按配置传递、输出值是否返回到了主流程。限制与注意事项子流程无需启用即可被调用同步主流程只能调用同步子流程。子流程未配置“流程输出”节点或无输出值时调用方拿到的结果是null。多个“流程输出”节点并存时以最后一个执行到的节点的值为准。复杂对象输出必须先经 JSON 解析/映射类节点拆出属性才能按属性使用。如需进一步了解节点变量路径与数组映射的细节可继续阅读 使用变量 与 执行计划历史记录。【免费下载链接】nocobaseNocoBase is an open-source AI no-code platform for building business systems fast. Instead of generating everything from scratch, AI works on top of production-proven infrastructure and a WYSIWYG no-code interface, so you get both speed and reliability.项目地址: https://gitcode.com/GitHub_Trending/no/nocobase创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考