调用下推服务后获取目标单数据包的方法

问题描述:
二开在调用下推服务得到返回的下推结果后,无法方便地拿到生成的目标单数据包,也就无法对数据做二开干预。
怎么才能通过下推结果简单的获取到生成的目标单数据包呢?
版本
4.0.012+
解决方法:
因为下推结果中针对自动保存和未保存的目标单数据返回的数据形式不一样,所以我们需要针对这两种数据做不同方式的加载。
下推过程中自动保存的目标单通过id返回
// 从转换结果中获取目标单id
ConvertOperationResult result = this.getConvertResult();
// 此处取第一个目标单id做示例,需要全部目标单数据可以依此遍历处理
Object pk = result.getTargetBillIds().iterator().next();
// 从数据库读取单据数据包
DynamicObject targetObject = result.loadAutoSavedDataObjects(new IDataProvider() {@Override
public DynamicObject loadReferenceData(DynamicObjectType dynamicObjectType, Object o) {return BusinessDataServiceHelper.loadSingle(o, dynamicObjectType);
}
@Override
public Map<Object, DynamicObject> loadReferenceDataBatch(DynamicObjectType dynamicObjectType, Object[] objects) {DynamicObject[] datas = BusinessDataServiceHelper.load(objects, dynamicObjectType);
Map<Object, DynamicObject> result = new HashMap<>(16);
for (DynamicObje
调用下推服务后获取目标单数据包的方法
问题描述:二开在调用下推服务得到返回的下推结果后,无法方便地拿到生成的目标单数据包,也就无法对数据做二开干预。怎么才能通过下推结果...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



