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

引入的应收应付单据如何与上游建立关联关系

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

引入的应收应付单据如何与上游建立关联关系

业务场景:XXX集团公司,下游单据是通过api接口引入的,与源单没有关联关系,现希望能构建上下游单据的关联关系并能正常触发标品的反写规则。(以引入应付单与入库单建立关联为例)

实现分析:在afterImportData方法中创建关联子实体行数据,此方法在引入字段值填写完毕,保存之前触发,构建完关系后即可在保存时正常触发反写规则。(根据平台介绍的实现方式实现)

调用时机:

上传图片

代码示例:

/**

* @param targetBill 目标单据

* @param srcTableDefine     源单单据体表格定义:包含了源单标识、单据体标识、tableid

* @param targetTableDefine  目标单单据体表格定义:包含了源单标识、单据体标识、tableid

* @param srcBillIdKey       源单id标识

* @param srcBillEntryIdKey  源单分录id标识

*/

private void createLinkEntity(DynamicObject targetBill, TableDefine srcTableDefine, TableDefine targetTableDefine, String srcBillIdKey, String srcBillEntryIdKey) {

  //源单实体表格编码

  Long srcTableId = srcTableDefine.getTableId();

  // 拼接处关联子实体标识:如果是单据头下的lk子表,固定使用billhead_lk;如果是单据体下的lk子表,用单据体标识+lk

  String lkEntryKey = targetTableDefine.getEntityKey() + "_lk";

  //引入单据的分录

  DynamicObjectCollection targetEntrys = targetBill.getDynamicObjectCollection(targetTableDefine.getEntityKey());

           for (DynamicObject entry : targetEntrys) {

DynamicObjectCollection linkRows = entry.getDynamicObjectCollection(lkEntryKey);

if (!linkRows.isEmpty()) {

            continue;

}

//创建一条_lk子实体上数据,记录源单内码

DynamicObject linkRow = new DynamicObject(linkRows

引入的应收应付单据如何与上游建立关联关系

业务场景:XXX集团公司,下游单据是通过api接口引入的,与源单没有关联关系,现希望能构建上下游单据的关联关系并能正常触发标品的反写规则...
点击下载文档文档为doc格式

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

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