在 Netsuite 中,如何在从项目履行生成的电子邮件中包含跟踪号列表?
Posted
技术标签:
【中文标题】在 Netsuite 中,如何在从项目履行生成的电子邮件中包含跟踪号列表?【英文标题】:In Netsuite how can I include a list of tracking numbers in an email generated from an Item Fulfillment? 【发布时间】:2018-12-28 05:18:09 【问题描述】:我需要从 Netsuite 中的项目履行记录发送自定义“已发货”电子邮件。我正在使用 freemarker 制作电子邮件模板。我想在电子邮件中包含与项目履行相关的包裹的跟踪号。
我尝试过使用:
<#list transaction.package as pkg>$pkg.packagetrackingnumber </#list>
但是,当我从项目履行的通信选项卡发送电子邮件模板(具有多个带有跟踪号的包裹)时,我在电子邮件中看不到任何内容。
然后我尝试了:
<#list transaction.package as pkg>TEST</#list>
但仍然什么也没看到(我本来希望看到“TEST”的次数与有多少个包一样多),所以看起来包列表是空的,尽管我可以在这个项目的 UI 中看到很多包履行。
如何将跟踪号添加到从项目履行发送的电子邮件模板中?
【问题讨论】:
【参考方案1】:要获取有关商品配送的所有跟踪号,您应该考虑所有可能的跟踪号。 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>
下面是一些有助于列出所有跟踪号的示例代码。请注意示例中的几件事:
我列出了每个包裹跟踪号,并使用 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&brand=DHL">$pkg.packagetrackingnumber</a>
<#else>$pkg.packagetrackingnumber
</#if>
<#if pkg?is_last>
<#else>,
</#if>
</#list>
【讨论】:
【参考方案2】:解决方案是使用transaction.packagefedex
引用包裹并使用transaction.packagefedex.packagetrackingnumberfedex
作为跟踪号
【讨论】:
以上是关于在 Netsuite 中,如何在从项目履行生成的电子邮件中包含跟踪号列表?的主要内容,如果未能解决你的问题,请参考以下文章
报告中的 Netsuite 字段为空白,并保存了转移单的搜索
NetSuite - 从一个估算(又名报价)生成多个销售订单