我需要从Netsuite的“项目履行”记录中发送自定义的“已发货订单”电子邮件。我正在使用freemarker制作电子邮件模板。我想在电子邮件中包含与“商品履行”相关的包裹的跟踪号。
我尝试使用:
<#list transaction.package as pkg>${pkg.packagetrackingnumber} </#list>
但是,当我从商品履行的通讯选项卡(具有多个带有跟踪编号的包裹)发送电子邮件模板时,在电子邮件中什么也看不到。
然后我尝试:
<#list transaction.package as pkg>TEST</#list>
却什么也没看到(我本来希望看到“ TEST”的次数与安装包的次数一样多),所以即使我可以在该项目的用户界面中看到很多安装包,它的列表也似乎是空的实现。
如何将跟踪编号放到通过商品配送发送的电子邮件模板上?
答案 0 :(得分:0)
解决方案是使用transaction.packagefedex
来引用包裹,并使用transaction.packagefedex.packagetrackingnumberfedex
来获取跟踪号码
答案 1 :(得分:0)
要获取商品配送的所有跟踪编号,您应该考虑所有可能的跟踪编号。 NetSuite 使用了三个:
transaction.package
transaction.packageups
transaction.packagefedex
FreeMarker 引用了实际的跟踪链接,如下所示:
<#list transaction.package as pkg>${pkg.packagetrackingnumber}</#list>
<#list transaction.packageups as pkg>${pkg.packagetrackingnumberups}</#list>
<#list transaction.packagefedex as pkg>${pkg.packagetrackingnumberfedex}</#list>
下面是一些可以证明有助于列出所有跟踪号码的示例代码。请注意示例中的一些内容:
?is_last
标签来确定这是最后一个追踪编号(所以输入句点)还是还有更多(所以输入逗号和空格)。这种逻辑并不完美,因为您可能会列出 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}&brand=DHL">${pkg.packagetrackingnumber}</a>
<#else>${pkg.packagetrackingnumber}
</#if>
<#if pkg?is_last>
<#else>,
</#if>
</#list>