NetSuite - 使用订单项字段自动填充自定义正文字段
Posted
技术标签:
【中文标题】NetSuite - 使用订单项字段自动填充自定义正文字段【英文标题】:NetSuite - Auto-Populate Custom Body Fields with Line Item fields 【发布时间】:2018-01-27 01:27:32 【问题描述】:我是 NetSuite 脚本的新手。我正在尝试在 Item Fulfillment 表单中填充 3 个自定义正文字段,其中包含以下数据:Line Item Name、Line Item Class 和 Line Item Count(履行中的订单项总数形式)。
为此,我使用nlapiGetCurrentLineItemText('item', 'class');
获取订单项的类别,nlapiGetCurrentLineItemText('item', 'item');
获取名称,nlapiGetLineItemCount('item');
获取订单项计数。并 nlapiSetFieldValue
填充字段。
我正在将此脚本设置为在 Page Init 事件 上运行(不确定这是否是适当的事件)。我有两个问题:
-
“履行销售订单”页面运行时,类和项目计数填充正常,但未填充项目名称字段。对此有何想法?
当我执行批量履行(在“履行订单”页面中一次履行多个订单)时,不会填充任何字段。就像脚本只会在手动完成订单时运行,而不是在批量自动完成时运行。对那个有什么想法吗?
第二个问题可能是最关键的,因为当我们每天要完成 100-200 个订单时,必须能够自动完成订单并填充正确的字段。
希望我尽可能清楚地解释自己。谢谢你的帮助!!
这是当前脚本:
function pageInit()
var category = nlapiGetCurrentLineItemText('item', 'class');
var sku = nlapiGetCurrentLineItemText('item', 'item');
var count = nlapiGetLineItemCount('item');
nlapiSetFieldValue('custbody_itemcategory', category);
nlapiSetFieldValue('custbody_itemsku', sku);
nlapiSetFieldValue('custbody_skucount', count);
【问题讨论】:
【参考方案1】:对于#1,您得到的是 ItemText 而不是值。我假设 custbody_itemsku 是 Item 的 List/Record 字段。如果是这种情况,请使用:
var sku = nlapiGetCurrentLineItemValue('item', 'item');
对于 #2,您的客户端脚本在批量履行时不会被触发。请改用用户事件脚本。您可以填写beforeSubmit
上的字段。
【讨论】:
这成功了!不过改用nlapiGetLineItemValue
。在用户事件的 beforeSubmit 函数中加载它。非常感谢!以上是关于NetSuite - 使用订单项字段自动填充自定义正文字段的主要内容,如果未能解决你的问题,请参考以下文章
如何在自定义 Zapier 应用程序中从 Xero 访问特定订单项值?
NetSuite:如何使用高级 PDF/HTML 模板在分组发票中引用自定义字段