开发日记:动态表单调用不同打印模板

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

开发日记:动态表单调用不同打印模板

  1. 需要根据不同条件,给当前保单创建打印任务       

           List<PrintJob> result = new List<PrintJob>();

           PrintJob printJob = new Kingdee.BOS.Core.NotePrint.PrintJob();

           printJob.FormId = formId;

           printJob.PrintJobItems = new List<Kingdee.BOS.Core.NotePrint.PrintJobItem>();

         //官方得教程是表单,传入得是单据fid ,  动态表单传入得是固定格式dynamicformpreview,templateId为套打ID

   //这里就可以根据动态表单上不同得条件,传入不同得套打ID

          printJob.PrintJobItems.Add(new PrintJobItem("dynamicformpreview", templateId));         

          result.Add(printJob);

   // printJobsKey随机,任务得KEy,调用需要用

   string printJobsKey = Guid.NewGuid().ToString();

          this.View.Session[printJobsKey]=result 

 2. 启动打印  

    JSONObject jsonObj = new JSONObject();

             jsonObj.Put("pageID", this.View.PageId);

    //当前打印任务

             jsonObj.Put("printJobId", printJobsKey);

    //jsonObj.Put("printerAddress", "Doro PDF Writer"); 打印机地址

    //JSAction.printPreview预览 ,JSAction.print 打印

            this.View.AddAction(JSAction.printPreview, jsonObj);

3.动态表单因为后台没有数据需要自己构建,这里可以根据不同条件构建不同得模板数据

    image.webp


    总结:所有功能都是来源于官方帖子得组合,唯一就是加任务时候遇到难题了,没找到动态表单怎么传入打印任务,后断点取当前界面任务查询到,纪录一下方便后面使用

            printJob.PrintJobItems.Add(new PrintJobItem("dynamicformpreview", templateId));      

开发日记:动态表单调用不同打印模板

需要根据不同条件,给当前保单创建打印任务 List<PrintJob> result = new List<PrintJob>(); ...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息