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 模板在分组发票中引用自定义字段

netsuite 库存明细子记录

Netsuite 将搜索保存到 Suitelet 子列表

Woocommerce 订单 API 订单项 ID 在更新时更改

Netsuite 将自定义字段添加到交易列字段