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

打印模板生成附件保存在单据中

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

打印模板生成附件保存在单据中

1. 接口使用场景

单据需要生成打印模板并绑定在当前单据附件面板上,如下图,当点击生成打印模板附件时,可自动在附件面板实时绑定该单据根据打印模板生成的pdf。

2. 适用版本

金蝶云苍穹V4.0.014以上

3. 解决方案

单据点击生成打印模板附件时,调用打印服务接口,根据模板生成附件,获取生成的pdf在文件服务器中的路径,将其绑定目标单据附件面板,调用附件服务的绑定接口,根据绑定接口返回结果,成功刷新界面,即可绑定当前pdf至附件面板上。

代码示例:

Java

 

@Override

    public void itemClick(ItemClickEvent evt) {

//点击生成打印模板附件

        if("getprtattach".equals(evt.getItemKey())){

            //1.根据模板生成附件

            //通过模版编码获取模版ID    

            String tplId

            = BosPrintServiceHelper.getTplIdByNum("im_purreceivebill_test_prtpl");        

            //构造打印服务接口需要的参数 PrintWork

            PrintWork work = new PrintWork();

            //设置打印语言

            work.setPrintLang("zh_CN");

            //设置类型:1代表pdf

            work.setExpType("1");

            List<PrintTask> printTasks = new ArrayList<>();

            PrintTask printTask = new PrintTask();

            printTask.setTplId(tplId);//设置模板ID

            //获取当前单据PKID

            Object id = getModel().getValue("id");

            //设置当前单据PKID

            printTask.setPkIds(new ArrayList<Object>(Arrays.asList(id)));

            printTasks.add(printTask);

            work.setTaskList(printTasks);

            //调用打印服务接口

            PrtAttach prtAttach = BosPrintServiceHelper.execPrint(work);

            //获取生成的pdf在文件服务器中的路径

            String path = prtAttach.getAttachDetail().get(0).getFilePath();

             //因为打印生成的临时文件,后续会自动清理,故而需要业务上传的文件服务器转存。

            FileService fileService = FileServiceFactory.getAttachmentFileService();

            InputStream inputStream = BosPrintServiceHelper.getFileInputStream(path);  

            path = fileService.upload(new FileItem("文件名.pdf","/租户ID/数据中心ID/20230425/xxx/文件名.pdf",inputStream));

            try{

               //2.附

打印模板生成附件保存在单据中

1. 接口使用场景单据需要生成打印模板并绑定在当前单据附件面板上,如下图,当点击生成打印模板附件时,可自动在附件面板实时绑定该单据根...
点击下载文档文档为doc格式

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

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