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

In Netsuite how can I include a list of tracking numbers in an email generated from an Item Fulfillment?

我需要从 Netsuite 中的项目履行记录发送自定义 "Order Shipped" 电子邮件。我正在使用 freemarker 制作电子邮件模板。我想在电子邮件中包含与 Item Fulfillment 关联的包裹的跟踪编号。

我试过使用:

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

然而,当我从项目履行(有多个包裹和跟踪编号)的通信选项卡发送电子邮件模板时,我在电子邮件中看不到任何内容。

然后我尝试了:

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

仍然什么也没看到(我希望看到 "TEST" 的次数与包裹的数量一样多),所以看起来包裹列表是空的,尽管我可以在UI 完成此项目。

如何将跟踪编号添加到从商品配送发送的电子邮件模板中?

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

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

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

实际跟踪 link 在 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 标签来确定这是最后一个跟踪号(所以放一个句号)还是有更多(所以放一个逗号和 space).这个逻辑并不完美,因为您可能会列出 UPS 包裹并走到最后,而不是放一个 space 然后列出 Fedex 包裹,并且您会在最后一个 Fedex link 旁边看到第一个 Fedex link UPS link。我想你可以说这是假设每次履行只使用一个承运人:)
  • 对于非 UPS、非 Fedex links,我使用 if 语句并引用 shipmethod 字段来确定 link 应该是什么.
  • 为了便于阅读,我已自动设置代码格式,但您显然可以删除 newlines/whitespace 以使该段落正确显示。
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>