套打.二开案例.干预发送邮件操作文件名和套打导出文件

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

套打.二开案例.干预发送邮件操作文件名和套打导出文件

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

image.webp

对应的调用接口:

image.webp


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

image.webp

效果:

image.webp



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

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

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

image.webp

效果:

image.webp


image.webp


代码逻辑:

image.webp


代码:

//列表插件
[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"));
        }
    }


套打.二开案例.干预发送邮件操作文件名和套打导出文件

<0>邮件发送操作增加功能:7.5.1.202007增加了对发送邮件的套打导出文件名。对应的调用接口:挂设在对应的表单上:如采购申请单,则挂设在...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息