我正在尝试更新 NetSuite 中销售订单项目行上的术语字段。我可以在 beforeSubmit 事件上使用 ue(用户事件脚本)来做到这一点。当销售订单处于编辑模式时,我点击保存按钮时有效。现在,问题是:我正在尝试在单击“保存”按钮之前更新销售订单项目字段(期限),但在单击“添加”按钮之后,对于项目组的组件。
我编写了一个函数并添加到 postSourcing(scriptContaxt) 事件中进行更新,但它仅适用于非库存项目。这不适用于项目组。将项目组添加到销售订单时,库存(组件)会自动填充到表单中。
有人知道将项目组的组件添加到销售订单表单时会触发什么事件吗?
谢谢克里斯
好的......进一步研究和解释:这是在将非库存项目添加到销售订单时更新单个文件的代码(将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)没有从其项目中更新,术语字段使用项目组上的值进行更新。供参考。项目组由项目组(组标题称为组)、其组件(其他项目类型,即非库存项目)和空项目(称为结束组 -> 通常为空)构成
因此,当您有一个包含两个非库存项目的项目组并且您尝试将该项目组添加到销售订单时,这两个非库存项目将自动添加到销售订单(以及组和结束组行)。我试图找出这两个非库存项目添加到销售订单的事件。
我希望这现在更清楚了。谢谢克里斯