集成服务调用苍穹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":[
{
集成服务调用苍穹BOTP的方法案例
集成服务调用BOTP的方法限定场景:金蝶苍穹BOTP方法一:脚本调用集成云预置的IERP_BOTP函数// 第一个参数是源单元数据编码,第二个参数为...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



