【套打】干预发送邮件操作文件名和套打导出文件原创
金蝶云社区-_Tmp
_Tmp
5人赞赏了该文章 1,284次浏览 未经作者许可,禁止转载编辑于2020年08月12日 20:45:33

<0>邮件发送操作增加功能:7.5.1.202007增加了对发送邮件的套打导出文件名

image.png

对应的调用接口:

image.png


挂设在对应的表单上:如采购申请单,则挂设在采购申请单的列表插件或表单插件上

image.png

效果:

image.png



<1>进阶版,针对发送邮件干预文件名接口自定义套打导出文件进行邮件发送

原理:在支持干预文件名后,只要生成一个同名文件覆盖原目录,就能够在发送邮件操作中作为附件进行发送

在对应表单挂设自定义导出文件名的情况下,干预发送邮件界面实现导出文件替换(以下为使用点击按钮替换文件)

image.png

效果:

image.png


image.png


代码逻辑:

image.png


代码:

//列表插件
[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