在Netsuite中,如何在通过“项目履行”生成的电子邮件中包含跟踪编号列表?

时间:2018-07-20 00:01:27

标签: netsuite freemarker

我需要从Netsuite的“项目履行”记录中发送自定义的“已发货订单”电子邮件。我正在使用freemarker制作电子邮件模板。我想在电子邮件中包含与“商品履行”相关的包裹的跟踪号。

我尝试使用:

<#list transaction.package as pkg>${pkg.packagetrackingnumber} </#list>

但是,当我从商品履行的通讯选项卡(具有多个带有跟踪编号的包裹)发送电子邮件模板时,在电子邮件中什么也看不到。

然后我尝试:

<#list transaction.package as pkg>TEST</#list>

却什么也没看到(我本来希望看到“ TEST”的次数与安装包的次数一样多),所以即使我可以在该项目的用户界面中看到很多安装包,它的列表也似乎是空的实现。

如何将跟踪编号放到通过商品配送发送的电子邮件模板上?

2 个答案:

答案 0 :(得分:0)

解决方案是使用transaction.packagefedex来引用包裹,并使用transaction.packagefedex.packagetrackingnumberfedex来获取跟踪号码

答案 1 :(得分:0)

要获取商品配送的所有跟踪编号,您应该考虑所有可能的跟踪编号。 NetSuite 使用了三个:

  1. transaction.package
  2. transaction.packageups
  3. transaction.packagefedex

FreeMarker 引用了实际的跟踪链接,如下所示:

  1. <#list transaction.package as pkg>${pkg.packagetrackingnumber}</#list>
  2. <#list transaction.packageups as pkg>${pkg.packagetrackingnumberups}</#list>
  3. <#list transaction.packagefedex as pkg>${pkg.packagetrackingnumberfedex}</#list>

下面是一些可以证明有助于列出所有跟踪号码的示例代码。请注意示例中的一些内容:

  • 我列出了每个包裹的追踪编号,并使用 FreeMarker ?is_last 标签来确定这是最后一个追踪编号(所以输入句点)还是还有更多(所以输入逗号和空格)。这种逻辑并不完美,因为您可能会列出 UPS 包裹并走到最后,而不是放置空格,然后列出 Fedex 包裹,并且您会在最后一个 UPS 链接旁边拥有第一个 Fedex 链接。我想你可以说这是假设每次履行只使用一个承运人:)
  • 对于非 UPS、非 Fedex 链接,我使用 if 语句并引用 shipmethod 字段来确定链接应该是什么。
  • 我已经自动格式化了代码以提高可读性,但您显然可以删除换行符/空格以使段落正确显示。
We have made a shipment against your PO ${transaction.createdfrom.otherrefnum}, with tracking number(s) <#list
    transaction.packagefedex as pkg> <a
        href="https://www.fedex.com/fedextrack/?trknbr=${pkg.packagetrackingnumberfedex}">${pkg.packagetrackingnumberfedex}</a>
    <#if pkg?is_last>
        <#else>,
    </#if>
</#list>
<#list transaction.packageups as pkg><a
        href="https://www.ups.com/track?tracknum=${pkg.packagetrackingnumberups}">${pkg.packagetrackingnumberups}</a>
    <#if pkg?is_last>
        <#else>,
    </#if>
</#list>
<#list transaction.package as pkg>
    <#if transaction.shipmethod?contains("DHL")><a
            href="https://www.dhl.com/en/express/tracking.html?AWB=${pkg.packagetrackingnumber}&amp;brand=DHL">${pkg.packagetrackingnumber}</a>
        <#else>${pkg.packagetrackingnumber}
    </#if>
    <#if pkg?is_last>
        <#else>,
    </#if>
</#list>