如何通过服务流程调用BOTP下推触发工作流
服务流程是集成云推出的面向复杂集成场景的低代码服务编排工具,能够把已有的集成对象、集成方案、消息服务、API接口等集成资源,通过流程化设计编排成全新的应用服务,以支持更加复杂的业务场景。
例如基础数据分发到多个系统、数据消费需要从多源取数、基于某个数据参数处理不同的集成过程等等。
为了帮助大家快速掌握服务流程的使用方法,我们推出了系列文章,通过11个典型案例向大家介绍服务流程的高级技巧。
在上期集成服务流程典型案例系列文章中,我们为大家介绍了服务流程的第8个典型案例:如何通过服务流程进行接口幂等与重试。
本期,小编继续为大家介绍第9个案例:如何通过服务流调用BOTP下推触发工作流,包括以下4个要点:
需求场景介绍-费用申请单同步到EAS;
针对该场景如何配置流程属性与变量;
配置流程节点以调用BOTP触发工作流;
服务流程调用BOTP的应用。
1 需求场景介绍
以苍穹的费用申请单同步到EAS系统为例:
首先,在苍穹工作流节点“审批通过”费用申请单时进行事件监听,把该费用申请单同步到EAS的费用申请单;
然后,调用EAS费用申请单的审核通过操作,并在EAS调用费用申请单时,根据BOTP规则生成费用报销单;
最后,通过EAS费用报销单的“提交”操作,启动费用报销单的工作流。
本文以上述场景为例,简述服务流程在该场景下的应用示例,具体的流程原理如下图所示:
流程原理
2 配置流程属性与变量
2.1启动方式
由于需要监听实体上的事件,因此设置服务流程的【启动方式】为“事件触发”。
启动方式设置
2.2 流程变量
流程变量类别主要有集成对象和简单值两种,其中:
集成对象:
tar_otherBill (EAS端) 用于加载数据;
tar_bizAccountBill(EAS端) 用于加载数据;
src_dailyApplyBill(苍穹端) 用于取数。
简单值:
字符串tar_Otherbill_Id 为目标EAS的费用申请单ID;
任意值wf用于接收工作流启动的流程信息;
字符串tarIds为根据BOTP规则生成的费用报销单id列表等。
流程变量
2.3 依赖资源
在【依赖资源】处引入以下资源:
1. “EAS数据源”:如预置EAS850数据源;
2. “集成对象”:苍穹的费用申请单、EAS的费用申请单。
依赖资源
3 配置服务流程节点
该案例的服务流程如下:
服务流程概览
接下来,小编为大家详细讲解各流程节点的配置方法。
3.1 开始节点 - 事件触发
配置“事件触发(审批通过)苍穹_费用申请”节点时,设置【集成对象(事件源)】为“费用申请单(ierp_dailyapplybill)”,【赋值变量】为“src_费用申请单(src_dailyApplyBill) ”,【单据事件】为“审核通过(audit)”,【取值字段】则选择“自动填充”即可。
开始节点-事件触发配置
3.2 字段映射节点
配置“字段映射(苍穹费用申请单-EAS费用申请单)”时,设置【源对象变量】为“src_费用申请单(src_dailyApplyBill)”,【目标对象变量】为“tar_费用申请单(tar_otherBill)”。
注意事项:
使用字段映射、自动映射后,目标对象字段需要进行手动配置。
本实例服务流程配置部分,对F7字段直接进行赋值,仅供参考。真正运行此服务流程之前,需要选择对应的值转换规则。
字段映射节点配置
3.3 数据加载 - 同步EAS费用申请单
在配置“数据加载-同步EAS_费用申请单(审批通过)”节点的基本信息时,设置【目标集成对象】为“费用申请单(eas_otherBill)”,【目标数据(变量)】为“tar_费用申请单(tar_otherBill)”。
填写【操作列表】的【操作名称】时,选择“审核通过_集成云”,即可自动带出【操作编码】和【操作类型】,其中【操作编码】为“ngisc_audit”,【操作类型】为“update”。
然后,【目标单ID输出变量】设置为“tar_Otherbill_Id”,【候选键(组合候选键)】包括“number”和“entries.seq”。
数据加载-操作列表
数据加载-候选键
3.4 脚本节点 - 调用BOTP
在配置“(生成下游单据)BOTP生成EAS费用报销单”节点时,调用集成云的脚本“EAS_BOTP”,根据EAS的费用申请单BOTP规则“sq-002”生成下游单据费用报销单。相应的脚本如下:
//sq-002为费用申请单生成费用报销单的BOTP;
//由费用申请单生成的费用报销单集合
tarIds = EAS_BOTP(EAS_CN, "sq-002", tar_Otherbill_Id);
脚本节点
3.5 数据获取节点
在配置“数据获取--EAS费用报销单” 节点时,设置【集成对象】为“费用报销单(eas_bizAccountBill)”,【赋值变量】为“费用报销单(tar_bizAccountBill)” ,【取数字段】选择“自动填充”,【过滤条件】为“id在变量名tarIds中”。
数据获取-取数设置
数据获取-过滤条件
3.6 脚本节点 - 计算付现金额 | 收款金额
脚本类型的节点“计算付现金额 | 收款金额”,用于处理业务逻辑并将费用报销单的状态设置为“已提交”,相关脚本如下:
var amountEncashed;
//计算付现金额
for (var i =0;i<tar_bizAccountBill.entries.length;i++){
amountEncashed += tar_bizAccountBill.entries[i].amountOriWithoutTax;
}
//表头的付现金额赋值
tar_bizAccountBill.amountEncashed = amountEncashed;
tar_bizAccountBill.amount = amountEncashed;
//收款信息的付款金额赋值
for (var i =0;i<tar_bizAccountBill.collectionEntries.length;i++){
tar_bizAccountBill.collectionEntries[i].amount = amountEncashed;
tar_bizAccountBill.collectionEntries[i].amountOri = amountEncashed;
}
//设置费用报销单的状态为已提交
tar_bizAccountBill.state = 25;
脚本节点-计算付现金额 | 收款金额
3.7 数据加载 - 提交费用报销单
在配置“数据加载--EAS费用报销单--提交”节点时,将【目标集成对象】设置为“费用报销单(eas_bizAccountBill)”,【目标数据(变量)】为“费用报销单(tar_bizAccountBill)”。
填写【操作列表】的【操作名称】时,选择“ngisc_submit-update”,即可自动带出【操作编码】和【操作类型】,其中【操作编码】为“ngisc_submit”,【操作类型】为“update”。
然后,【目标单ID输出变量】设置为“tar_bizAccountBill_id”,【候选键(组合候选键)】包括以下九个:
“number、entries.seq、accountRecords.seq、collectionEntries.seq、tickeEntries.seq、payEntries.seq、loanCheckEntries.seq、reqCheckEntries.seq、entries.invoiceEntryId.seq”。
数据加载-操作列表
数据加载-候选键
3.8 时间等待节点
在配置该案例的时间等待类型节点时,设置【等待计划】为“30秒”。
时间等待
3.9 脚本节点 - 检查EAS报销单流程是否触发成功
脚本类型的节点“检查EAS报销单流程是否触发成功”用于检查是否触发EAS的工作流,相应脚本如下:
var entity=null;//实体名称
var operation=null;//操作
var idList=[];//单据id列表
idList += tar_bizAccountBill_id;
wf = queryWorkflowState(EAS_CN, entity, operation, idList);
脚本节点-检查EAS报销单流程是否触发成功
3.10 通知发送节点
通知发送类型的节点分为“成功——通知发送”和“失败——通知发送”两种。
若检查到启动了工作流,则发送成功通知,将【通知方式】设置为“系统消息”,【接收人变量-苍穹用户】设置为“src_dailyApplyBill.creator”。
通知发送成功-基本信息
通知发送成功-消息设置
若检查到没有启动工作流,则发送失败通知,将【通知方式】设置为“系统消息”,【接收人变量-苍穹用户】设置为“src_dailyApplyBill.creator”。
通知发送失败-基本信息
通知发送失败-消息设置
4 服务流程应用
4.1 发布服务流程
选中需要发布的服务流程,点击“发布”按钮进行发布。
服务流程发布
4.2 苍穹—费用申请单审批通过
在苍穹【消息中心】→【待办任务列表】,选中待审批费用申请单,对费用申请单进行审批。
批量审批
4.3 服务流程实例
苍穹的费用申请单在审批通过时,事件触发服务流程实例,如下所示:
服务流程实例
服务流程实例中的变量值如下:
流程实例变量值
4.4 EAS — 费用申请单
目标系统EAS的费用申请单如下:
EAS-费用申请单
4.5 EAS — 费用报销单
通过在服务流程中的脚本函数“EAS_BOTP”调用BOTP规则生成的费用报销单。
注意:需要提前确认EAS有可用的“费用申请单生成费用报销单”相关的BOTP规则。
EAS-费用报销单
4.6 EAS — 费用报销单工作流
通过EAS费用报销单提交操作,启动费用报销单工作流。
注意:需要提前确认EAS费用报销单在界面上提交时,也可以正常启动费用报销单的工作流。
EAS-费用报销单工作流
4.7 苍穹 — 消息中心
服务流程的通知消息,可在苍穹【消息中心】进行查看。
苍穹 — 消息中心
5 参考资料
更多关于集成服务云的知识,可参考下述资料:
#往期推荐#
更多精彩内容,“码”上了解!↓
如何通过服务流程调用BOTP下推触发工作流
本文2024-09-23 00:52:40发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-142316.html
- 鼎捷EAI整合規範文件V3.1.07 (集團).pdf
- 鼎捷OpenAPI應用場景說明_基礎資料.pdf
- 鼎捷OpenAPI應用場景說明_財務管理.pdf
- 鼎捷T100 API設計器使用手冊T100 APIDesigner(V1.0).docx
- 鼎新e-GoB2雲端ERP B2 線上課程E6-2應付票據整批郵寄 領取.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A4使用者建立權限設定.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程C3會計開帳與會計傳票.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程E6-1應付票據.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A5-1進銷存參數設定(初階篇).pdf
- 鼎新e-GoB2雲端ERP B2 線上課程D2帳款開帳與票據開帳.pdf