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

套打.二开案例.后台创建动态表单套打导出

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

套打.二开案例.后台创建动态表单套打导出

【场景】后台创建动态表单套打导出 【前置知识】 (0)[动态表单套打](https://vip.kingdee.com/article/434749865378241536?productLineId=1) (1)[创建单据视图套打导出](https://vip.kingdee.com/article/136780524734740224) 【二开案例】在采购订单套打导出动态表单PDF文件 ![image.webp](/download/0100f874ee09395f4d1fbe5c6fe065599bf0.webp) ```csharp using Kingdee.BOS; using Kingdee.BOS.App.Data; using Kingdee.BOS.Core.Bill.PlugIn; using Kingdee.BOS.Core.DynamicForm; using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.Core.Metadata; using Kingdee.BOS.Core.NotePrint; using Kingdee.BOS.Orm.DataEntity; using Kingdee.BOS.ServiceHelper; using Kingdee.BOS.Util; using Kingdee.BOS.Web.Core; using Kingdee.BOS.Web.DynamicForm; using System; using System.Collections.Generic; using System.Data; namespace DynamicFormPlugIn.NotePrint { [Kingdee.BOS.Util.HotUpdate] [System.ComponentModel.Description("后台创建动态表单进行套打导出")] public class BillPlugIn_ExportDynamicPdf:AbstractBillPlugIn { public override void BarItemClick(BarItemClickEventArgs e) { if (!string.Equals(e.BarItemKey, "tb_ExportDynamic", StringComparison.OrdinalIgnoreCase)) return; string formId = "ka0aa985cfc5d41ed838cde76b833a455"; string tempId = "da156944-0ee7-4d26-a0de-4d21c1b6bdf1"; var sessionManager = CommonSession.GetCurrent(this.View.Context.UserToken).SessionManager; //如果生成的地方没有Http请求,可以直接实例化一个 //SessionManager sessionManager = new SessionManager(); //<0>创建动态表单逻辑 var view = CreateDynamicFormView(this.View.Context, formId, sessionManager); var viewService = view as IDynamicFormViewService; if (viewService == null) return; //<1> 模拟录入部分字典,进行数据查询 view.Model.SetValue("FDate",DateTime.Now); viewService.ButtonClick("FRefresh", ""); //<2> 生成动态表单导出文件 string filePath = string.Empty; try { //<3>mark 生成前要注册视图 sessionManager.GetOrAdd(((AbstractDynamicWebFormView)view).PageId, view.GetType().Name, view); //说明 dynamicformpreview 是动态表单中针对套打的单据内码 filePath = ExportTargetBill(view, formId, "dynamicformpreview", tempId); this.View.ShowMessage(filePath); } finally { view.Close(); //<4>mark 生成完要反注册视图 sessionManager.Remove(((AbstractDynamicWebFormView)view).PageId, view.GetType().Name); } } /// <summary> /// 套打导出逻辑 /// </summary> /// <param name="dynamicFormView"></param> /// <param name="formId"></param> /// <param name="billId"></param> /// <param name="templateId"></param> /// <returns></returns> private static string ExportTargetBill(IDynamicFormView dynamicFormView, string formId, string billId, string templateId) { IDynamicFormViewService viewService = dynamicFormView as IDynamicFormViewService; if (viewService == null) return null; try { List<string> billIds = new List<string>() { billId }; List<string> templateIds = new List<string>() { templateId }; PrintExportInfo pExInfo = new PrintExportInfo(); pExInfo.PageId = dynamicFormView.PageId; pExInfo.FormId = formId; pExInfo.BillIds = billIds; //单据内码 pExInfo.TemplateIds = templateIds; //套打模板ID pExInfo.FileType = ExportFileType.PDF;

套打.二开案例.后台创建动态表单套打导出

【场景】后台创建动态表单套打导出【前置知识】(0)[动态表单套打](https://vip.kingdee.com/article/434749865378241536?productLineId=1...
点击下载文档文档为doc格式

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

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