打印模板中数据行排序与单据分录排序不一致问题

1 案例介绍
项目启动单据的供应商分录为例,供应商分录不是项目启动的分录,而是根据单据项目编号读取过来的另外一张表单的数据,打印的时候需要通过关联数据源进行打印。

打印结果:单据中分录顺序与打印模板中分录顺序不一致。

案例分析:
供应商分录的数据不是通过界面正常录入的,而是通过插件或者其他方式生成插入的。在打印标的供应商时与单据页面顺序显示不一致。因为关联数据源会关联出多张单,标准产品对多张单的排序是按照创建时间降序来的。这种场景现在只能增加插件对其进行重新排序,以下介绍打印时如何调整排序。
2 适用版本
金蝶云苍穹V4.0.012及以上
3 模板配置
1. 模板设计
为了打印项目启动单据的标的供应商的标的名称和供应商,根据表单的关联关系,打印模板中关联上标的供应商这张表单:

2. 注册插件
创建插件类PrintDsSamplePlugin,并继承AbstractPrintPlugin打印插件基类。(基类全路径kd.bos.print.core.plugin.AbstractPrintPlugin)
4 插件开发
在打印模板中需要在打印插件的afterLoadData事件获取关联数据源数据包,遍历每条数据,针对分录进行重新排序。
Java | |
public class PrintDsSamplePlugin extends AbstractPrintPlugin { //关联数据源标识 private static final String DSNAME = " src_itemsupplier"; //关联数据源分录的标识 private static final String ENTRYENTITY= "entryentity"; @Override public void afterLoadData(AfterLoadDataEvent evt) { //获取关联数据源 if(DSNAME.equals(evt.getDataSource().getDsName())){ //获取关联数 | |
打印模板中数据行排序与单据分录排序不一致问题
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



