套打.二开案例.逐单多模板导出一个文件
【场景】针对每个单据生成一个文件,一个文件里面包含多个模板
【案例】采购订单,针对每个单据内码,生成一个PDF,里面包含[中]、[繁]、[英]三个模板
<1>参考代码
```csharp
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.List.PlugIn;
using Kingdee.BOS.Core.NotePrint;
using Kingdee.BOS.Util;
using System;
using System.Collections.Generic;
namespace DynamicFormPlugIn.NotePrint
{
[Kingdee.BOS.Util.HotUpdate]
public class TestNotePrintExportPlugIn :AbstractListPlugIn
{
public override void BarItemClick(BarItemClickEventArgs e)
{
base.BarItemClick(e);
if (!string.Equals(e.BarItemKey, "tb_Test_Export", StringComparison.OrdinalIgnoreCase))
return;
IDynamicFormViewService viewService = View as IDynamicFormViewService;
List<string> billIds = new List<string>() { "103120", "103130" };
List<string> templateIds = new List<string>() { "734cffd8-26ef-4131-b0c2-1d26b29d90c0",
"0e05e45a-1368-46fb-86a3-e65669d321ca" ,"1e8cae2e-875d-4a45-a037-4f3be418e6a6"};
List<string> filePathResult = new List<string>();
foreach(var billId in billIds)
{
var curBillIds = new List<string>();
//单据内码重复模板那么多次
templateIds.ForEach(x => curBillIds.Add(billId));
//每个单据生成一个PDF文件,里面包含三个模板
PrintExportInfo pExInfo = new PrintExportInfo();
pExInfo.PageId = this.View.PageId;
pExInfo.FormId = this.View.BillBusinessInfo.GetForm().Id;
pExInfo.BillIds = curBillIds; //单据内码
pExInfo.TemplateIds = templateIds; //套打模板ID
pExInfo.FileType = ExportFileType.PDF; //文件格式
pExInfo.ExportType = ExportType.ByPage; //导出格式
string fileName = Guid.NewGuid().ToString() + ".PDF";
string temppath = PathUtils.GetPhysicalPath("TempfilePath", fileName);
pExInfo.FilePath = temppath; //文件输出路径
//指定动态文件目录和动态文件名
pExInfo.AutoZip = true;
pExInfo.ExportDynamicDirectory = pExInfo.Id;
pExInfo.ExportDynamicFileName = "{FBillNo}";
viewService.ExportNotePrint(pExInfo);
if (pExInfo.ExportFileInfos == null || pExInfo.ExportFileInfos.Count <= 0)
continue;
filePathResult.Add(pExInfo.ExportFileInfos[0].FilePath);
}
this.View.ShowMessage(string.Join("\r\n", filePathResult));
}
}
}
```
【效果】生成两个PDF文件,每个文件包含三个模板
![LWAAGLXVASBIQDOVJ9EH.webp](/download/010005ddd7f3c14045f7b214120e9fe6aed0.webp)
![`I4A`EH9CYG02A5A5LDO.webp](/download/0100550ecb266c72404ba3df6516a749e081.webp)
![image.webp](/download/01000b6adbad7b3e4433a7383dd13ab74cce.webp)
套打.二开案例.逐单多模板导出一个文件
【场景】针对每个单据生成一个文件,一个文件里面包含多个模板【案例】采购订单,针对每个单据内码,生成一个PDF,里面包含[中]、[繁]、[英...
点击下载文档
上一篇:单据问题/方案汇总下一篇:[二开案例] 引出支持移除行
本文2024-09-16 18:35:21发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-23128.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章