【问题标题】:Modifying email templates for Navision 5.0修改 Navision 5.0 的电子邮件模板
【发布时间】:2019-10-02 18:51:11
【问题描述】:

我被要求帮助对 Microsoft Dynamics NAV 5.0(是的,它的旧版本)进行一些急需的更新,他们希望我更新他们的一些销售订单电子邮件模板等。他们希望我做的一件事要做的是将“发件人”字段更新为群组邮箱而不是当前用户,我认为这并不难,但弄清楚 NAV 如何创建电子邮件并不简单。

这篇文章有一些信息,但并没有让我完全了解: http://www.dynamics101.com/2014/02/sending-customized-emails-dynamics-nav/

我找到了包含很多字段的销售表头表...其中没有一个包含“发件人”。我发现一个名为“Assigned User”的字段指向用户设置。

【问题讨论】:

    标签: email templates navision


    【解决方案1】:

    您是指销售订单批准/拒绝时发送的邮件,还是客户卡中的“新邮件消息”小按钮?在这些情况下使用的库是不同的,它们依赖于不同的自动化对象来创建电子邮件。 无论如何,在这两种情况下都没有设置来更改“发件人”字段 - 您必须对其进行一些自定义。

    首先,您需要在设置表中创建一个新字段来存储电子邮件地址。表“用户设置”可能是最好的地方,但它当然取决于任务。假设,它是 Uset Setup,并且您将新字段称为“FromAddress”

    当您单击客户卡中的电子邮件按钮时,会运行“创建邮件”向导(表格 5148“创建邮件”)。它在代码单元 397 中调用函数“NewMessage”。因此,代码单元 397“邮件”就是您要查找的内容。要更改“发件人”地址,您需要在 OSendMail 对象中设置属性“SentOnBehalfOfName”。

    UserSetup.GET(USERID);
    OSendMail.SentOnBehalfOfName(UserSetup.FromAddress);
    

    如果您要更改的消息是文档批准通知,则在 codeunit 400 'SMTP Mail' 中创建电子邮件消息,但所有字段都在 codeunit 440 'Approvals Mgt Notification' 中设置,函数 SetTemplate 和获取电子邮件地址。设置发件人地址的是 GetEmailAddress。你需要替换这行代码:

    SenderAddress := UserSetup."E-Mail";
    

    用新的

    SenderAddress := UserSetup.FromAddress;
    

    但请注意 - 此更改将影响所有模板和所有用户。如果您需要更改某些模板而保留其他模板不变,则在负责特定模板的函数中重新定义此变量的值会更安全。但同样,这一切都在 codeunit 440 中。

    【讨论】:

    • 谢谢!我慢慢地找到了这些信息,但花了很多时间挖掘。感谢您的回答
    猜你喜欢
    • 1970-01-01
    • 2023-04-04
    • 2019-11-21
    • 2015-01-22
    • 1970-01-01
    • 1970-01-01
    • 2013-08-12
    • 2021-09-12
    • 2021-09-21
    相关资源
    最近更新 更多