首页 文章

NetSuite SuiteScript 2.0如何更新作为项目组一部分的销售订单项

提问于
浏览
-1

我正在尝试更新NetSuite中销售订单项目行的Term字段 . 我可以在beforeSubmit事件上使用ue(用户事件脚本)来做到这一点 . 当销售订单处于编辑模式时,我点击保存按钮时有效 . 现在,问题是:我正在尝试更新“销售订单项目”字段(“期限”)“按下保存”按钮,但单击“单击添加”按钮,用于“项目组”的组件 .

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

谢谢克里斯

OK ...进一步的研究和解释:这是在非库存项目添加到销售订单时将SKU编号添加到销售订单行时更新单个文件的代码:

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
        });
    }
}

这适用于单个非库存物品 . 另一方面,当我尝试添加项目组(这与KIT不同)时,术语字段(id:custcol_swe_contract_item_term_months)未从其项目更新,术语字段将更新为项目组的值 . 仅供参考 . 项目组由项目组(组头称为组),其组件(其他项类型,即非库存项)和空项(称为结束组 - >通常为空)构成

因此,当您的物料组中包含两个非库存物料并且您尝试将该物料组添加到销售订单时,这两个非库存物料将自动添加到销售订单(以及组和结束组行) . 我试图找出这两个非库存物品被添加到销售订单的事件 .

我希望现在更清楚了 . 谢谢克里斯

1 回答

相关问题