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

如何打印关联单据的图片,结合打印模板拼接展示

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

如何打印关联单据的图片,结合打印模板拼接展示

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 = mainR

如何打印关联单据的图片,结合打印模板拼接展示

1. 案例介绍 在打印采购申请单时,希望同时能够打印上游单据中多张图片,并且每张图片展示一页纸,该案例将介绍如何通过二开插件实现此...
点击下载文档文档为doc格式

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

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