电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

botp调用下推服务携带附件面板附件

来源:金蝶云社区作者:金蝶2024-09-235

botp调用下推服务携带附件面板附件

botp调用下推服务保存附件面板

1 业务场景


背景介绍:调用botp下推服务,拿到下推结果之后,下推结果中包含了生成的附件面板信息,但保存目标单附件面板信息,附件面板属于控件,不属于字段类型,需要调用方在保存目标单之后,再去保存附件面板信息。


2 下推服务地址


服务类:kd.bos.servicehelper.botp.ConvertServiceHelper

方法:push


3 下推服务参数


请求参数

参数

描述

类型

是否必填

appId

需要鉴权的应用

String

sourceEntityNumber

源单单据标识

String

targetEntityNumber

目标单单据标识

String

ruleId

指定转换规则id

String

buildConvReport

是否输出报告(true输出,false不输出)

Boolean

customParams

自定义参数,可以在整个下推流程中获取

Map<String,String>

defOrgId

设置下推默认设置的主组织

Long

ruleIds

限定可用的转换规则范围,如果为空,则即时到数据库取所有可用的转换规则进行下推

Set<String>

hasRight

下推时是否不需要验权,默认为不验权(兼容大部分插件代码自动下推),(true不鉴权,false鉴权)

Boolean

autoSave

是否下推自动保存,在转换规则和参数都启用的情况下才有效(true并且转换规则开启自动保存才会自动保存,false则不会自动保存)

Boolean


返回参数:

参数

描述

类型

是否为空

sourceEntityNumber

源单单据标识

String

targetEntityNumber

目标单单据标识

String

targetBillFormId

下推成功后,打开目标单使用的布局

String

targetMobFormId

移动端下推成功后,打开目标单使用的移动端布局

String

success

是否下推成功(true成功false失败)

Boolean

message

提示消息

String

billReports

源单转换报告,主要包含转换失败的行报告,转换成功的行,自动略过

List<SourceBillReport>

cachePageIds

下推成功后,生成的数据包,是放在Redis缓存中的,以pageId为标识存取,(下推自动保存时该值为空

List<String>

cacheTargetObjStr

下推生成的目标单,序列化后的字符串内容(下推自动保存时该值为空

Map<String, String>

dataMutexSrcBillIds

申请网控成功的源单:需要在保存目标单后及时释放网控

Set<String>

targetBillIds

下推大单并保存,保存成功,输出目标单内码(下推自动保存时才有值

Set<Object>

startTime

下推引擎,开始执行时间

Date

finishedTime

下推引擎,完成执行时间

Date



4代码示例

// 创建下推参数
PushArgs pushArgs = new PushArgs();
// 必填,源单标识
pushArgs.setSourceEntityNumber(sourceBill);
// 必填,目标单标识
pushArgs.setTargetEntityNumber(targetBill);
// 可选,传入true,不检查目标单新增权
pushArgs.setHasRight(false);
// 可选,传入目标单验权使用的应用编码

pushArgs.setAppId("");
// 可选,传入目标单主组织默认值
pushArgs.setDefOrgId(orgId);
//可选,转换规则id
pushArgs.setRuleId(ruleId);
// 可选,是否输出详细错误报告
pushArgs.setBuildConvReport(true);
// 必填,设置需要下推的单据,或分录行
List<ListSelectedRow> selectedRows = new ArrayList<>();
//第一行
ListSelectedRow row1 = new ListSelectedRow();
//必填,设置源单单据id
row1.setPrimaryKeyValue(sourceBillId1);
//可选,设置源单分录标识
row1.setEntryEntityKey("entryentry");
//可选,设置源单分录id
row1.setEntryPrimaryKeyValue(entryId1);
//第二行
ListSelectedRow row2 = new ListSelectedRow();
//必填,设置源单单据id
row2.setPrimaryKeyValue(sourceBillId2);
//可选,设置源单分录标识
row2.setEntryEntityKey("entryentry");
//可选,设置源单分录id
row2.setEntryPrimaryKeyValue(entryId2);
selectedRows .add(row1);
selectedRows .add(row2);
// 必选,设置需要下推的源单及分录内码
pushArgs.setSelectedRows(selectedRows);
// 调用下推引擎,下推目标单
ConvertOperationResult pushResult = ConvertServiceHelper.push(pushArgs);
// 判断下推是否成功,如果失败,提炼失败消息输出
if (!pushResult.isSuccess()) {
String errMessage = pushResult.getMessage(); // 错误信息
for (SourceBillReport billReport : pushResult.getBillReports()) {
// 提取各单错误报告
if (!billReport.isSuccess()) {
String billMessage = billReport.getFailMessage();
}
}
throw new KDBizException("下推失败:" + errMessage);
}

// 获取生成的目标单数据包
MainEntityType targetMainType= EntityMetadataCache.getDataEntityType(targetBill);
List<DynamicObject> targetBillObjs = pushResult.loadTargetDataO

botp调用下推服务携带附件面板附件

botp调用下推服务保存附件面板1 业务场景背景介绍:调用botp下推服务,拿到下推结果之后,下推结果中包含了生成的附件面板信息,但保存目...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信