【套打】干预发送邮件操作文件名和套打导出文件原创
5人赞赏了该文章
1,284次浏览
编辑于2020年08月12日 20:45:33
<0>邮件发送操作增加功能:7.5.1.202007增加了对发送邮件的套打导出文件名
对应的调用接口:
挂设在对应的表单上:如采购申请单,则挂设在采购申请单的列表插件或表单插件上
效果:
<1>进阶版,针对发送邮件干预文件名接口自定义套打导出文件进行邮件发送
原理:在支持干预文件名后,只要生成一个同名文件覆盖原目录,就能够在发送邮件操作中作为附件进行发送
在对应表单挂设自定义导出文件名的情况下,干预发送邮件界面实现导出文件替换(以下为使用点击按钮替换文件)
效果:
代码逻辑:
代码:
//列表插件 [Kingdee.BOS.Util.HotUpdate] [Description("发送邮件界面使用自定义套打导出附件")] public class UserDefinePrintExportSample : AbstractListPlugIn { private string fileName = Guid.NewGuid().ToString(); private string directory; public override void OnInitializeSendMailService(InitializeSendMailServiceEventArgs e) { base.OnInitializeSendMailService(e); //发送邮件界面自定义导出文件名,初始化生成目录 e.ExportFileName = fileName; this.View.OpenParameter.SetCustomParameter("UserDefineExportName", fileName); }
//发送邮件界面表单插件 [Kingdee.BOS.Util.HotUpdate] [Description("发送邮件界面使用自定义套打导出附件")] public class SendMailPlugIn : AbstractDynamicFormPlugIn { public override void ButtonClick(ButtonClickEventArgs e) { if (!e.Key.EqualsIgnoreCase("FReplaceExportFile")) return; IListView parentView = this.View.ParentFormView as IListView; if (parentView == null) return; string fileName = ObjectUtils.Object2String(parentView.OpenParameter.GetCustomParameter("UserDefineExportName")); if (fileName.IsNullOrEmptyOrWhiteSpace()) return; string[] ids = parentView.SelectedRowsInfo.GetPrimaryKeyValues(); if (ids.Length <= 0) return; string templateId = GetPdfExportTemplateId(); if (templateId.IsNullOrEmptyOrWhiteSpace()) return; PrintExportInfo exportInfo = new PrintExportInfo() { PageId = parentView.PageId, FormId = parentView.BillBusinessInfo.GetForm().Id, BillIds = ids.ToList(), TemplateIds = new List<string>() { templateId }, FileType = ExportFileType.PDF, ExportType = ExportType.Merge, FilePath = PathUtils.GetPhysicalPath(KeyConst.TEMPFILEPATH, string.Format("{0}.pdf", fileName)), }; (parentView as IDynamicFormViewService).ExportNotePrint(exportInfo); } /// <summary> /// 获取套打模板标识(这里使用的是发送邮件的PDF套打模板) /// </summary> private string GetPdfExportTemplateId() { return ObjectUtils.Object2String(this.Model.GetValue("FCmbPDFTemp")); } }
赞 5
5人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读
您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!
请选择打赏金币数 *
10金币20金币30金币40金币50金币60金币
可用金币: 0