NetSuite SuiteScript 2.0如何更新属于项目组的销售订单项目

NetSuite SuiteScript 2.0如何更新属于项目组的销售订单项目,netsuite,suitescript,itemgroup,Netsuite,Suitescript,Itemgroup,我正在尝试更新NetSuite中销售订单项目行上的术语字段。 我可以在beforeSubmit事件上使用ue(用户事件脚本)完成这项工作。 当销售订单处于编辑模式时,当我点击保存按钮时,这一点就起作用了。 现在,问题是: 我试图在点击保存按钮之前更新销售订单项目字段(术语),但在点击添加按钮之后,更新项目组组件的销售订单项目字段(术语) 我已经编写了一个函数并添加到postSourcing(scriptContaxt)事件中,该事件执行更新,但它仅适用于非库存项目。 这不适用于项目组。 将项目组

我正在尝试更新NetSuite中销售订单项目行上的术语字段。 我可以在beforeSubmit事件上使用ue(用户事件脚本)完成这项工作。 当销售订单处于编辑模式时,当我点击保存按钮时,这一点就起作用了。 现在,问题是: 我试图在点击保存按钮之前更新销售订单项目字段(术语),但在点击添加按钮之后,更新项目组组件的销售订单项目字段(术语)

我已经编写了一个函数并添加到postSourcing(scriptContaxt)事件中,该事件执行更新,但它仅适用于非库存项目。 这不适用于项目组。 将项目组添加到销售订单时,库存(组件)将自动填充到表单中。
是否有人知道将物料组的组件添加到销售订单表单时会触发什么事件

多谢各位 克里斯

好的。。。进一步研究和解释: 这是将非库存项目添加到销售订单(将SKU编号添加到销售订单行)时更新单个字段的代码:

这对于一个单一的、非库存的项目来说绝对有效。 另一方面,当我尝试添加项目组(这与KIT不同)时,术语字段(id:custcol\u swe\u contract\u Item\u Term\u months)不会从其项目中更新,术语字段将使用项目组上的值进行更新。 仅供参考。物料组由物料组(称为组的组标题)、其组件(其他物料类型,即非库存物料)和空物料(称为最终组->通常为空)构成

因此,当您有一个包含两个非库存项目的项目组,并尝试将该项目组添加到销售订单时,这两个非库存项目将自动添加到销售订单(以及组和最终组行)。 我试图找出这两个非库存项目是在什么情况下添加到销售订单的

我希望这一点现在更清楚。 非常感谢。
克里斯

我下面的答案也适用于此


“使用商品组在NetSuite中创建销售订单”

首先,感谢Darren对此进行研究,非常感谢。我认为我们将尝试将整个功能移动到服务器端,并尝试在用户事件的后提交函数中获取项目术语(无论是非库存项目还是项目组)。我认为在afterSubmit中,所有的值(包括项目组组件的ID)都应该是DB?如果我错了,请纠正我。(顺便说一句,我不知道项目组只是客户端功能)。
function postSourcing(scriptContext) 
{
    setSalesOrderItemTerm(scriptContext.currentRecord);
}

function setSalesOrderItemTerm(salesorder)
{   
    var itemId = salesorder.getCurrentSublistValue({
        sublistId: 'item',
        fieldId: 'item'
    });

    if(!itemId)
        return;

    var result = search.create({
        type: search.Type.ITEM,
        columns: ['custitem_abs_item_term'],
        filters: [{name: 'internalid',operator: search.Operator.IS,values: itemId},
                  {name: 'isinactive',operator: search.Operator.IS,values: 'F'}]
        }).run().getRange({start: 0, end: 1});

    if(result.length > 0)
    {
        var term = result[0].getValue('custitem_abs_item_term');

        salesorder.setCurrentSublistValue({
            sublistId: 'item',
            fieldId: 'custcol_swe_contract_item_term_months',
            value: term
        });
    }
}