NetSuite - 使用行项目字段自动填充自定义正文字段

时间:2018-01-27 01:27:33

标签: javascript field netsuite suitescript

我是NetSuite脚本新手。我尝试在项目实现表单中填充3个自定义正文字段,其中包含以下数据:行项目名称,行项目类别和行项目计数(行项目总数)履行形式)。

为此,我使用nlapiGetCurrentLineItemText('item', 'class');获取订单项的类,nlapiGetCurrentLineItemText('item', 'item');获取名称,使用nlapiGetLineItemCount('item');获取订单项计数。并nlapiSetFieldValue填充字段。

我将此脚本设置为在 Page Init事件上运行(不确定这是否是相应的事件)。我有两个问题:

  1. 当“实施销售订单”页面运行时,类和项目计数正在填充,但项目名称字段未填充。有什么想法吗?
  2. 当我执行批量履行(在“履行订单”页面中一次履行多个订单)时,不会填充任何字段。就像脚本只会在手动完成订单时运行,而不是在批量自动完成时运行。对那个有什么想法吗?
  3. 第二个问题可能是最关键的问题,因为当我们在一天内完成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 个答案:

答案 0 :(得分:1)

对于#1,您获得的ItemText不是值。我假设custbody_itemsku是Item的List / Record字段。如果是这种情况,请使用:

var sku = nlapiGetCurrentLineItemValue('item', 'item');

对于#2,在执行批量实现时不会触发您的客户端脚本。请改用用户事件脚本。您可以填充beforeSubmit上的字段。