一文读懂-如何实现附件面板内容从上游单据下推携带到下游单据原创
金蝶云社区-云社区用户n0uK7566
云社区用户n0uK7566
4人赞赏了该文章 2,043次浏览 未经作者许可,禁止转载编辑于2021年07月21日 16:31:08

如何实现附件面板内容从上游单据下推携带到下游单据

 

相信大家都接触过单据转换,在单据转换的过程中如何将附件面板的内容从上游带到下游呢?

首先新建两张包含附件的简单单据,

image.png


打开业务控制-参与单据转换

image.png


配置单据转换规则:

image.png


发现字段映射并没有附件的属性,所以我们单纯通过转换规则是无法携带上游附件到下游中的

 

我们通过插件干预,在转换后将原单据的附件查出来,赋值在转换后的单据对应的字段即可。

 

查阅单据转换的文档(https://dev.kingdee.com/index/docsNew/f45e5446-cdd4-4ae9-a89c-da93fd27c844),我们按照文档说明继承AbstractConvertPlugIn父类,重写afterConvert事件:

查阅附件相关文档(https://dev.kingdee.com/index/docsNew/d1c44bdf-4af9-410d-96c4-a18165610f10),文档比较简陋,我们猜测加尝试编写附件取值和赋值逻辑

 image.png


 

注册插件:

image.png


原单增加下推按钮,绑定操作代码为push:

image.png


新建单据,上传附件,保存

image.png


点击下推:

image.png


可以看见附件成功被携带至下游单据!

 

总结:

1.        附件面板的取值和赋值跟普通的单据属性不同,它和单据通过表关联进行映射

2.        附件面板是控件类,没有数据模型,数据库表为t_bas_attachment,不支持在单据体中使用

3.        单据转换插件基类AbstractConvertPlugIn,afterConvert 事件在目标单据生成完毕后触发,插件可以在这个事件对生成的目标单数据进行最后的调整

4.        附件常用帮助类:AttachmentServiceHelper


注:该种实现方式上游单据删除附件后,下游单据也会不可用,如需互不影响,请查看https://club.kdcloud.com/article/181059364914786048


赞 4