集成服务调用苍穹BOTP的方法案例
集成服务调用BOTP的方法
限定场景:金蝶苍穹BOTP
方法一:脚本调用集成云预置的IERP_BOTP函数
// 第一个参数是源单元数据编码,第二个参数为目标单元数据编码,第三个参数为源单ID,还可以输入第四个参数,填入一个map, 可选的key有proxy_user(代理用户)、ruleId(botp规则ID)
var result = IERP_BOTP("isc_demo_basedata_1", "isc_demo_basedata_2", 1077487058685017088L);
结果返回目标对象的ID
"1313016617797456896"
注意:该函数只能生成一张单,如果生成多张目标单,会抛异常。
方法二:脚本调用BOTP的微服务(复杂BOTP转换推荐使用)
var obj = { "sourceEntityNumber": "isc_demo_basedata_1",// 必填,源单元数据编码 "targetEntityNumber": "isc_demo_basedata_2",// 必填,目标单元数据编码 "buildConvReport": true,// 选填,是否生成转换报告 "ruleId": 1133313604662089728L,// 选填,botp规则ID,如果不填,将自动寻找id "selectedRows": [{"pkv": 1077487058685017088L}] // 必填,源单ID,注意其key为pkv,全名为primaryKeyValue,反序列化填pkv作为key。 }; var params = FastJsonFormat(obj);// 将map转为string var result = invokeMicroService("bos", "bos", "ConvertService", "pushAndSave", params); var res = flatObjectToMapOrList(result);// 将原始结果转为map或list格式 return res;
注:
如果需要按分录下推行时,selectedRows字段写法如下,key值缩写参考Java类kd.bos.entity.datamodel.ListSelectedRow:
[ { "pkv": 1596666628047645700, // 单据主键 "eek": "billentry", // 单据体标识 "epkv": 1596666628047646700 // 单据体分录主键 }, { "pkv": 1596666628047645700, "eek": "billentry", "epkv": 1596666628047646700 } ]
如果调用的微服务是bos里的微服务,但是业务的botp二开插件类在业务的容器里部署(如scm),那么调用时coudid还是填写bos,appid填写scm(可以在开发平台根据元数据所在应用的标识确定)。
返回的单据转换结果如下:
{ "sourceEntityNumber":"isc_demo_basedata_1", "targetEntityNumber":"isc_demo_basedata_2", "targetBillFormId":"isc_demo_basedata_2", "targetMobFormId":"isc_demo_basedata_2_mob", "success":true, "reports":[ ], "billReports":[ { "billId":"1077487058685017088", "billNo":"unit_botp", "ruleId":"1133313604662089728", "ruleName":"转换规则", "failMessages":[ ], "linkEntityKey":"isc_demo_basedata_1", "linkEntityName":"基础资料demo1", "rowCount":1 , "failRowCount":0 , "linkEntityRowReports":[ ], "dependEntityRowReports": { }, "success":true, "fullSuccess":true, "failMessage":"", "rowInfo":"单据(unit_botp)" } ], "cachePageIds":[ ], "cacheTargetObjStr": { }, "dataMutexSrcBillIds":[ ], "targetBillIds":[ "1313014662614258688" ], "startTime":"2021-12-17 14:45:45", "finishedTime":"2021-12-17 14:45:45", "headFields":[ ], "runSecond":0 }
其中success字段是成功标识,targetBillIds是生成的目标单ID列表。如果有部分失败,可以通过获取billReports中的failMessage得知具体原因。
集成服务调用苍穹BOTP的方法案例
集成服务调用BOTP的方法限定场景:金蝶苍穹BOTP方法一:脚本调用集成云预置的IERP_BOTP函数// 第一个参数是源单元数据编码,第二个参数为...
点击下载文档
本文2024-09-23 00:50:44发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-142111.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章