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

二开案例.套打.套打导出简单账表PDF

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

二开案例.套打.套打导出简单账表PDF

**【应用场景】** 在单据上操作简单账表套打导出PDF。 **【案例演示】** <1>编写列表插件,动态构建简单账表视图并获取数据,代码如下。 ``` csharp using Kingdee.BOS.Core; using Kingdee.BOS.Core.Const; using Kingdee.BOS.Core.DynamicForm; using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.Core.List.PlugIn; using Kingdee.BOS.Core.Metadata; using Kingdee.BOS.Core.NotePrint; using Kingdee.BOS.Core.Report; using Kingdee.BOS.Core.Report.PlugIn; using Kingdee.BOS.Core.ReportFilter; using Kingdee.BOS.ServiceHelper; using Kingdee.BOS.Util; using Kingdee.BOS.Web.Core; using System; using System.Collections.Generic; using System.ComponentModel; using System.IO; namespace Kingdee.BOS.PlugInTest { [Description("【列表插件】在单据列表套打导出简单账表PDF"), HotUpdate] public class ExportReportPDFListPlugIn : AbstractListPlugIn { /// <summary> /// 简单账表标识,这里用【采购订单执行明细表】作为例子 /// </summary> private string _rptFormId = "PUR_PurchaseOrderDetailRpt"; /// <summary> /// 简单账表过滤方案Id,通过T_BAS_FilterScheme查询得到 /// </summary> private string _rptFilterSchemeId = "005056af66a1b9d111e434c01d6d68fa"; /// <summary> /// 账表的套打模板Id /// </summary> private string _rptTemplateId = "29d0a732-f1ea-4859-ae30-e8f07703ae5e"; public override void AfterBarItemClick(AfterBarItemClickEventArgs e) { base.AfterBarItemClick(e); if ("tbExportReportPDF".EqualsIgnoreCase(e.BarItemKey)) { this.ExportReportPDF(); } } private void ExportReportPDF() { ISysReportView rptView = null; ISysReportViewService rptService = null; try { // 获取账表元数据 FormMetadata formMetadata = FormMetaDataCache.GetCachedFormMetaData(this.Context, this._rptFormId); // 获取简单账表资源服务提供器 IResourceServiceProvider provider = GetSysReportServiceProvider(); // 反射创建简单账表View string importViewClass = "Kingdee.BOS.Web.Report.SysReportView,Kingdee.BOS.Web"; var dynService = CreateReportView(this.Context, formMetadata, this._rptFilterSchemeId, provider, importViewClass); rptView = dynService as ISysReportView; rptService = dynService as ISysReportViewService; if (rptView == null || rptService == null) return; // 添加动态创建的账表View this.AddSessionView(rptView); // 创建套打导出参数 var pExinfo = new PrintExportInfo(); pExinfo.PageId = rptView.PageId; pExinfo.FormId = this._rptFormId; pExinfo.BillIds = new List<string>(); pExinfo.TemplateIds = new List<string> { this._rptTemplateId }; pExinfo.FileType = ExportFileType.PDF; pExinfo.ExportType = ExportType.ByPage; // 使用新版导出 pExinfo.UsedCustomExportPDF = true; string dir = PathUtils.GetPhysicalPath(KeyConst.TEMPFILEPATH); pExinfo.FilePath = Path.Combine(dir, string.Format("{0}.pdf", DateTime.Now.ToString("yyyyMMdd_HHmmss"))); rptService.ExportNotePrint(pExinfo); this.View.ShowMessage("导出成功"); } catch (Exception) { throw; } finally { // 移除动态创建的账表View if (rptView != null) this.RemoveSessionView(rptView); } } /// <summary> /// 获取简单账表资源服务提供器 /// </summary> /// <returns></returns> private IResourceServiceProvider GetSysReportServiceProvider() { FormServiceProvider provider = new FormServiceProvider(); Type type = TypesContainer.GetOrRegister("Kingdee.BOS.Web.Report.SysReportView,Kingdee.BOS.Web"); provider.Add(typeof(IDynamicFormView), Activator.CreateInstance(type)); provider.Add(typeof(DynamicFormViewPlugInProxy), new SysReportViewPlugInProxy()); provider.Add(typeof(DynamicFormModelPlugInProxy), new SysReportModelPlugInProxy()); type = TypesContainer.GetOrRegister("Kingdee.BOS.Model.Report.SysReportModel,Kingdee.BOS.Model"); provider.Add(typeof(IDynamicFormModelService), Activator.CreateInstance(type)); type = TypesContainer.GetOrRegister("Kingdee.BOS.Model.ReportFilter.SysReportFilterModel,Kingdee.BOS.Model"); provider.Add(typeof(ISysReportFilterModelService), Activator.CreateInstance(type)); type = TypesContainer.GetOrRegister("Kingdee.BOS.Business.DynamicForm.DefaultValue.DefaultValueCalculator,Kingdee.BOS.Business.DynamicForm"); provider.Add(typeof(IDefaultValueCalculator), Activator.CreateInstance(type)); // 注册IDBModelService type = TypesContainer.GetOrRegister("Kingdee.BOS.Business.DynamicForm.DBModel.DBModelService,Kingdee.BOS.Business.DynamicForm"); provider.Add(typeof(IDBModelService), Activator.CreateI

二开案例.套打.套打导出简单账表PDF

**【应用场景】** 在单据上操作简单账表套打导出PDF。**【案例演示】** <1>编写列表插件,动态构建简单账表视图并获取数据,代码...
点击下载文档文档为doc格式

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

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