打印多张关联单据图片

1. 案例介绍
在打印采购申请单时,希望同时能够打印上游单据中多张图片,并且每张图片展示一页纸,该案例将介绍如何通过二开插件实现此类场景。
2. 适用版本
金蝶云苍穹 V5.0.011及以上版本
3. 模板配置
1. 模板设计


2. 注册插件
创建插件类PrintRefBillImagePlugin,并继承AbstractPrintPlugin打印插件基类。(基类全路径kd.bos.print.core.plugin.AbstractPrintPlugin),随后在打印模板中注册该插件。
4. 插件开发
Java |
|
public class PrintRefBillImagePlugin extends AbstractPrintPlugin { //主数据源标识(采购订单formId) private static final String MAIN_DS = "kd_cgdd"; //自定义数据源标识 private static final String CUSTOM_DS = "imageDs"; //关联上游单据formId(采购申请单formId) private static final String REF_BILL = "kd_cgsqd"; @Override public void beforeLoadData(BeforeLoadDataEvent evt) { PrtDataSource dataSource = evt.getDataSource(); //在加载主数据数据之前,添加查询字段,这样后续的主数据源DataRowSet中将会查询出源单ID字段 if (MAIN_DS.equals(dataSource.getDsName()) && dataSource instanceof MainDataSource) { MainDataSource mainDataSource = (MainDataSource) dataSource; //查询字段添加源单ID mainDataSource.getQueryField().add("sourcebill"); } } @Override public void loadCustomData(CustomDataLoadEvent evt) { final List<DataRowSet> customDataRows = evt.getCustomDataRows(); //加载自定义数据源,根据关联关系查询出上游单据中图片地址,构造自定义数据源数据包 if (CUSTOM_DS.equals(evt.getDataSource().getDsName())) { //获取主数据源数据 DataRowSet mainRowSet = this.getMainDataVisitor().getDataRowSet(); //拿到源单ID Object sourceBill = mainRowSet.getFi | |
打印多张关联单据图片
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



