流程设计器介绍
变更记录
产品版本 | 更新内容 | 更新日期 |
V5.0.020 | 增加WebAPI调用节点 | 2023年4月17日 |
V6.0.2 | 循环节点增加变量映射 | 2023年10月30日 |
V6.0.10 | 增加分单节点 | 2024年4月19日 |
V6.0.14 | 增加数据流调用节点 | 2024年6月05日 |
1 简介
1.1 功能介绍
集成服务云流程设计主要包含流程属性设置和流程图绘制两部分,其中流程属性主要包括流程基本信息、流程变量信息和流程依赖资源引入功能,流程图主要包括开始节点、中间节点以及节点间转移流程设计功能。
功能列表:流程属性、流程图、启用/禁用/发布、导出图片/导出全图、操作帮助等。
1.2 应用场景
用于流程编辑,调用流程内部元素,并通过配置界面完成流程设计。
1.3 系统路径
【集成管理】→【服务流程】→【流程设计】→【服务流程】
1.4 字段/按钮说明
字段说明
字段名称 | 详细解释 |
编码 | 服务流程编码 |
名称 | 服务流程名称 |
启动方式 | 服务流程启动执行的方式,包括人工启动、事件触发、消息启动和定时启动 |
日志级别 | 控制流程执行过程中日志输出的多少 |
方案分类 | 在自定义分类中选择合适的节点将服务流程进行分类,以便管理服务流程 |
流程摘要模版 | 用于提取流程中的关键内容,方便在“流程实例”列表中快速查找流程内容 |
禁止记录追溯信息 | 打开此开关后,流程实例中无法查看集成任务调用各项资源的链路 |
按钮说明
按钮名称 | 详细解释 |
流程属性 | 在流程图页面中显示该按钮,点击跳转至流程属性页面 |
流程图 | 在流程属性页面中显示该按钮,点击跳转至流程图页面 |
启用/禁用 | 启用/禁用服务流程 |
发布 | 发布服务流程 |
导出图片 | 导出流程图,其中节点块仅作为单个节点展示,不包含细节 |
导出全图 | 导出完整流程图,包括节点块内其他节点和转移细节 |
操作帮助 | 服务流程操作提示 |
2 主要操作
2.1 流程属性
基本信息
首先填写服务流程编码、名称、分类等基本信息。
启动方式:包括人工启动、定时启动、事件触发、消息启动4种类型,分别对应4个开始节点。
人工启动的流程如果有“输入变量”,则点击“立即执行”按钮,需要填写参数值;
定时启动的流程不允许有“输入变量”,可以立即执行;
事件触发/消息启动的流程不允许有“输入变量”,立即执行时需要提供启动节点期望的数据。
日志级别控制流程执行过程中日志输出的多少,其中:
“错误”级别仅输出导致流程中断的错误日志;
“警告”级别可输出流程错误转移时的异常日志;
“信息”级别输出最多的日志,主要是流程变量的变化情况。
在生产环境不建议启用“信息”级别,此选项会严重影响执行性能
自动保存时间间隔:用于控制保存服务流程当前状态的时间间隔,默认为5秒,小于5秒以5秒计算。
服务流程用于大规模数据集成时,可适当加大时间间隔,避免频繁保存流程,导致数据库压力过大。
最大记录日志数:超过最大限制时(默认500条),虽流程继续执行,但不记录后续的日志,即日志不再保存到数据库中。
依赖资源
依赖资源可以选择数据源、集成方案、启动方案、值转换规则、集成对象、自定义函数、外部系统API、自定义API、消息订阅主题、消息发布主题、自定义函数、苍穹微服务、服务流程等集成云已有服务,并作为流程元素的组件引用进来。
依赖资源用于声明流程运行过程中需要访问的外部资源;在流程中,各节点通过这些资源与被集成的系统进行交互(例如:获取数据、执行SQL、执行单据操作等)。
流程变量
流程变量用于保存流程运行期间需要暂存的数据,方便在前后节点间传递数据(即:将前面节点获取或修改过的数据作为后面节点的参数)。
流程变量作为流程内部执行的运行参数,需要提前定义,把外部资源赋值给流程变量才能够在流程中运行,这是很重要的概念。
目前可以设置两类:简单值和集成对象。其中“控制参数”包括“是否多值”、“输入参数”、“输出参数”等。
2.2 开始节点
人工启动
使用“人工启动”节点,需要将流程启动方式设置为“人工启动”。流程通过“立即执行”或“API调用”的方式来启动执行。
定时启动
使用“定时启动”节点,需要将流程启动方式设置为“定时启动”。该节点支持修改标题、设置开始和介绍时间、调度任务的执行计划和执行作业的用户,如果执行作业的用户为空,则取当前用户。
事件触发
使用“事件触发”节点,需要将流程启动方式设置为“事件触发”,通过监听源集成对象的操作来触发启动流程。
消息启动
使用“消息启动”节点,需要将流程的启动方式设置为“消息启动”,通过消息订阅主题中的消息内容更新来触发流程。该流程不支持立即执行。
2.3 数据集成
数据集成方案
使用“数据集成-集成方案类型”节点,可以“同步执行”对应的数据集成方案,此类型适合用作数据转换和同步,且无日志记录的场景。
配置项:“方案类型”选择集成方案,选择具体的数据集成方案,“过滤条件”为非必填项,“结果输出”为非必填项。
启动方案
使用“数据集成-启动方案类型”节点,可以“异步执行”对应的数据集成方案,此类型适合于做大批量的数据集成,有完整的日志记录的场景。
配置项:“方案类型”选择启动方案,选择具体的启动方案,“过滤条件”为非必填项,“结果输出”为非必填项。
2.4 数据获取
使用“数据获取”节点,调用集成对象(实体、数据表、视图、查询类API)进行取数,然后暂存到流程赋值变量中。
配置项:集成对象(下拉列表),赋值变量(下拉列表),过滤条件(分录),排序字段(分录),取数字段(分录)。
新增开关【结果行以map形式展示】,此开关默认关闭:
对于取数集成对象为“数据表”和“视图”类型时,可以通过此开关将赋值变量的结果由“Datarow”转为“map”形式进行展示。即当此开关开启时,赋值变量的结果行是“map对象”形式,可进行对其进行“读取”和“修改”操作;当此开关关闭时,赋值变量的结果行为“可读”模式,且不可修改。
2.5 字段映射
使用“字段映射”节点,可以将源对象变量和目标对象变量的字段进行映射,类似数据集成方案的“字段映射”。
配置项:源对象变量(下拉列表),目标对象变量(下拉列表),字段映射(分录)。
安全模式:默认打开。字段映射节点执行时会先将目标变量设置为null再进行字段映射,减少由于变量在循环中使用带来的误用风险。如果需要从多个数据映射节点组装映射数据,可以把安全模式关闭。
2.6 数据加载
使用“数据加载”节点,可以调用集成对象(实体、数据表、服务类API)完成目标系统数据的“保存”或“删除”操作。
注:
1、当“目标数据分批大小”设置大于1的值时,采用批处理模式(仅支持表或实体),代理用户不能引用目标数据的变量值。
2、目标数据操作可以通过json和变量传入操作参数。
2.7 数据对比
使用“数据对比”节点,可以调用集成管理功能中的“数据对比方案”,也可以将对比结果输出到任务消息中。通过该节点获取源单与目标单的数据差异并存储至流程变量中,方便在后续节点中使用,例如进行选择性补偿、对存在差异的单据进行特定操作。
注意:必须选择带有方案参数的数据对比方案,从而限定源单数据过滤的范围。
基本信息:标题(节点标题)、对比方案(仅支持选择带有方案参数的数据对比方案,用于过滤源单数据范围)。
参数过滤:自动读取所选数据对比方案中的方案参数,支持输入常量或表达式对源单数据进行范围过滤。
结果输出:将对比详情中的源单数据赋值给配置变量,同时将结果日志输出至任务消息中。
2.8 API调用
“API调用”节点支持将服务流程中引用的“苍穹微服务”、“自定义API”、“外部系统API”和“自定义函数”这四种类型的依赖资源,作为当前流程的一部分运行。
基本信息:标题(节点标题)、类型(包含苍穹微服务、自定义API、外部系统API和自定义函数)、函数&API(选择对应类型的依赖资源)、调用者(集成云API调用者编码,当选择的API需要授权时此项必填)。
输入:根据所选依赖资源(函数或API)的输入列表自动带出,需补充常量或流程变量进行值映射,以便将常量或流程变量的值赋给输入参数。
输出:根据所选依赖资源(函数或API)的输出列表自动带出,需补充流程变量进行值映射,以便将函数&API的输出结果赋值给流程变量。
2.9 节点块
“节点块”节点支持将服务流程中需要多次重复执行的多个操作节点打包,作为当前流程的一部分进行运行。
点击“节点块”将打开一个新的流程编辑器,其基本内容与流程编辑器相同,但节点块内不支持进行“补偿转移”,在流程运行时无单独的运行实例,并且运行过程中或完毕后不支持在主流程中执行“忽略”、“撤销”操作。
2.10 子流程
“子流程”支持在服务流程中引用已有的服务流程,将其作为流程中的一个节点来运行。
创建子流程节点:
1、在服务流程的流程属性中引入其他服务流程作为“依赖资源”。
2、创建“子流程”节点,选中刚才引入的服务流程,自动带出子流程的输入输出参数。
注:子流程执行需遵循以下原则:
1、子流程“执行”或“失败”时,则子流程节点处于“等待”状态;
2、子流程处于“等待”时,不会阻塞父流程其他分支运行;
3、子流程“撤销”则父流程“撤销”,父流程“撤销”则子流程“撤销”。
2.11 脚本
“脚本”节点用于执行自定义脚本。
注:在脚本中可以通过别名访问流程资源和通过变量名访问流程变量,数据源支持别名.属性获取连接信息。
使用场景示例 - 通过脚本节点调用服务流程:
1、在流程属性-依赖资源中,定义需要用到的其他服务流程作为依赖资源
2、根据上述依赖资源中服务流程的变量,依次填写流程变量,用于后续脚本调用
3、在脚本中按照如下格式:”依赖资源别名(变量名,变量名);“。例如,依赖资源的别名为HD3C,用到A和B两个变量,则在脚本中通过该别名调用该资源:HD3C(A,B) 即可。
注意:
a、仅支持异步调用其他服务流程;
b、目前仅支持调用启动方式为“人工启动”的服务流程;
c、不推荐多层级调用,调用流程中嵌套调用的其他流程不支持导出;
d、由于执行的是异步调用,被调用流程输出的结果变量,也可以在其流程实例中进行查看。
2.12 消息发布
"消息发布“节点支持通过”消息发布主题“将流程变量(集成对象)中的数据作为消息发布出去。
基本信息:标题、消息发布主题、流程变量、批量大小、发布字段
设置:首先需要在流程属性中引入发布主题,定义相关流程变量(集成对象),然后在此节点选择引入的发布主题和定义的流程变量,并选择需要发布的字段
注意:当引入的发布主题的数据结构不为空时,发布的字段需要与该数据结构一致。
2.13 通知发送
基本信息:标题,消息接收系统(下拉框),通知方式(下拉框,支持的选项由连接器提供)
消息接收人设置:支持四类消息接收人的配置,包括
固定消息接收人-苍穹用户(F7)
固定消息接收人-非苍穹用户(姓名和手机号码)
接收人变量-苍穹用户(选择流程变量中苍穹用户用于动态获取单据上的苍穹用户,如创建人、审核人、修改人等)
接收人变量-非苍穹用户(选择流程变量中手机号属性用于动态获取单据上的手机号码来发送短信通知)
以上四类需至少配置其中一个,可同时配置多种类型。
注意:短信消息需要购买苍穹的短信服务包,按照短信发送次数收费。
消息设置:消息标题(字符串,通过#{var}引用变量),消息内容(字符串,通过#{var}引用变量)
2.14 时间等待
使用”时间等待“节点,可以暂停流程的执行,并按等待计划等待指定的时长后,满足结束条件时,继续执行流程。
等待计划可以设置的示例格式:[10分钟, 30分钟, 2小时] 或[30Second, 10Minute, 2Hour]
2.15 流程终止
使用”流程终止“节点,则当运行到该节点时,将撤销整个流程实例,流程的执行被立即终止。
2.16 结束节点
使用”结束“节点,用于标记流程结束执行。
2.17 连线说明
1、普通转移
“普通转移”连线用于指定节点之间的执行顺序和转移的前提条件。
2、错误转移
“错误转移”连线用于当指定节点执行“失败”时,执行后续的错误处理分支。
错误对象用 $error 表示,通过 message, type, code 可以分别访问错误消息、错误类型、错误编码(注意:有些错误没有编码)。
错误条件示例:$error.code == "REQUEST_SEND_ERROR@CommonError"
注:数据集成节点中的集成方案设置为“错误时忽略”不会触发错误转移,当设置为“错误时中止”时可以正常触发。
3、补偿转移
“补偿转移”连线用于当流程撤销时,对成功执行的前置节点进行补偿(需自行配置业务补偿逻辑的节点),抵消前置节点带来的业务影响。
如果补偿转移的来源节点业务已成功执行,则流程撤销时自动执行该转移的目标节点,以消除影响并确保业务的完整性。例如:某节点扣预付款N元,流程撤销时必须返还预付款,那么“扣款节点”与“返款节点”可以用补偿转移连接起来。
2.18 事件等待
使用“事件等待”节点,可以依据配置的相应条件,在监听到单据的相应操作后才继续执行后续流程。
1、节点配置说明
选择“事件等待”节点,进行配置项填写,主要配置项:
单据事件:选择对应单据需要监听的操作
取值字段:单据对应的取值字段
等待条件:必选的配置项,依据等待条件过滤判断监听的数据
2、等待事件
内含“事件等待”节点的服务流程发布后,将开始监听对应实体的事件,并将该流程相关信息展示于“等待事件”列表中,在该列表中可以查看服务流程基本信息及监听事件。
路径:【服务流程】→【事件等待】→【等待事件】
3、等待数据
事件发布后,会将“等待数据”推送至“等待数据表”中。
路径:【服务流程】→【事件等待】→【等待数据】
4、等待信号
当服务流程执行即等待事件执行后,会注册信号到等待信号表中;
该功能以通过服务流程id、等待节点id、过滤条件为维度计算哈希值,当等待数据与等待信号表中哈希值相同时,执行等待任务;任务执行成功后,后台将清理等待数据和等待信号对应数据。
注意:
1、等待状态下的流程实例不会参与日志清理,其他状态下会定时7天,自动清理日志;
2、“删除”等待信号会撤销流程并且删除该流程的全部等待信号 ;
3、“删除”服务流程需要删除掉对应的等待事件、等待数据、等待信号。
事件等待功能详细说明可查看链接:https://vip.kingdee.com/article/293675896853100288
2.19 循环块节点
“循环块”节点支持输入多值变量,并自动遍历循环其中的每一个值,从而替代手动配置循环。
示例场景:获取多条基础资料demo1的数据,在每条数据的编码后面拼接一个固定单据的编码,并赋值给一个新的多值变量,则可以使用如下配置:
“双击”循环块节点进入该配置界面,“循环变量a”为前置节点取出多条数据并赋值的变量,并将其映射“别名i”,变量i在循环块内表示循环变量a中的每一个元素(如a是[1,2,3],则i依次表示1,2,3)。“输入变量x”为循环块中想要访问的外部变量,“输出变量y”为在循环块中处理并输出的多值变量。
注:
1、循环变量和输出变量必须是“多值”类型;
2、块内修改输入变量的值,不会对外部造成影响。
“单击”进入循环块,在循环块内“循环变量映射的别名”和“输出变量”将作为“单值”使用(在上述案例中,i表示a中的单条数据)。
2.20 MQ发布节点
“MQ发布”节点支持将流程变量中存储的数据通过“消息发布主题”的方式发布出去,供其他系统消费。
注:
1、需要在依赖资源中引入,并在消息发布主题中提前登记好的消息主题;
2、若消息发布主题中定义了数据结构,则发布变量的数据结构应和发布主题中定义的一致;
3、当发布主题勾选了“多值”时,可以在节点中配置“批量大小”进行分批发布。
2.21 WebAPI调用节点
“WebAPI调用”节点支持界面可视化配置【WebAPI登记】中已经登记好的API(需要在依赖资源中引入进来)
注:
1、如果WebAPI登记未开启‘格式化结果’,将返回原始报文的字符串内容;
2、WebAPI中已经给定默认值的参数不支持再次赋值,为空的入参可以选择流程变量作为入参;
2.22 分单节点
分单节点可以通过配置分单依据将一个单据拆分成多个单据,通过配合字段映射的聚合运算使用,可以达到根据分录字段 分与合并单据的目的。(分单合并案例)
注:源单变量可以为单值或多值,目标单变量必须和源单变量是同一个集成对象,且必须是多值。
2.23 数据流调用节点
数据流调用节点中可以配置想要通过服务流程调用的数据流,并将数据流正常执行后的信息记录到状态输出变量供后续使用。
注:将数据流执行后将状态输出到流程变量中,流程变量必须是“简单值(任意值)”类型,且不能选中“是否多值”。
流程设计器介绍
本文2024-09-23 00:47:44发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-141787.html