Joh*_*ohn 1 netsuite suitescript
我目前有一个重新计算功能,如果订单项已更改,则会重置运费成本字段,但如果商品有权重,我真的只需要这样做.如何检索更改的订单项的权重?
这是我现在拥有的:
function recalc(){
nlapiSetFieldValue('shippingcost', '0.00');
}
Run Code Online (Sandbox Code Playgroud)
recalc仅当对行项目的更改影响事务的总计时才会触发,因此,可能不是您要完成的事件的可靠事件.
我建议不要使用,validateLine因为该事件应该用于确定字段的新值是否有效.
我建议您使用它fieldChanged来响应已更改的字段值.就像是:
function fieldChanged(type, name, linenum) {
if (type == 'item') {
if (name == 'item') {
handleItemChange(linenum);
}
}
}
function handleItemChange(linenum) {
var itemWeight = parseFloat(nlapiGetFieldValue('item', 'weight', linenum)) || 0;
if (itemWeight > 0) {
nlapiSetFieldValue('shippingcost', 0);
}
}
Run Code Online (Sandbox Code Playgroud)
您可能还想考虑postSourcing事件而不是fieldChanged,取决于哪些字段应该实际触发此逻辑.