我正在尝试更新NetSuite中销售订单项目行上的条款字段。我可以在beforeSubmit事件上使用ue (用户事件脚本)很好地做到这一点。当销售订单处于编辑模式时,当我点击保存按钮时,这是有效的。现在,问题是:我试图在点击Save按钮之前和点击Add按钮之后为Item Group的组件更新销售订单项目字段(Term)。
我已经编写了一个函数并将其添加到执行更新的postSourcing(scriptContaxt)事件中,但它只适用于非库存项目。这不适用于项目组。将项目组添加到销售订单后,库存(组件)将自动填写到表单中。
有人知道在销售订单表中添加Item Group的组件时会触发什么事件吗?
谢谢你克里斯
好的..。进一步的研究和解释:这是在将非库存项目添加到销售订单时更新单个字段的代码(将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
});
}
}这对于一个单独的非库存项目来说是非常好的。另一方面,当我尝试添加item Group (与套件不同)时,Term字段(id: custcol_swe_contract_item_term_months)不是从其Item更新,而是使用Item Group上的值更新Term字段。仅供参考。物料组由物料组(称为组)、其组件(其它物料类型,即非库存物料)和空物料(称为端组->,通常为空)构成
因此,当您的物料组中包含两个非库存物料时,如果您尝试将该物料组添加到销售订单中,这两个非库存物料将自动添加到销售订单中(以及组和结束组行)。我想知道在什么情况下,这两个非库存项目会添加到销售订单中。
我希望这一点现在更清楚了。谢谢你克里斯
发布于 2017-05-17 09:22:09
我下面的回答也适用于此
https://stackoverflow.com/a/44013939/5389329“使用项目组在NetSuite中创建SalesOrder”
https://stackoverflow.com/questions/43748403
复制相似问题