尝试为销售订单项设置金额的套件脚本会导致"unexpected error"



理论上,我有这样的代码可以更改Netsuite中销售订单子列表上的金额,但由于某种原因,它会告诉我发生了意外错误。我所看到的没有任何东西对特别有帮助

编辑:要明确的是,错误发生在我去保存的大规模更新并执行它时,而不是在保存时

/**
*@NApiVersion 2.1
*@NScriptType MassUpdateScript
*/
define(['N/record'], (record) => {
function each(params) {
let rec = record.load({
type: params.type,
id: params.id
});
var quant = rec.getValue('custrecordeconomcap');
rec.setCurrentSublistValue({
sublistId: 'item',
filedId: 'quantity',
value: quant
});
rec.save();
}
return {
each: each
};
});

这里可能存在一堆问题。

代码没有选择行。

代码似乎假定只有一行。

有一个拼写错误。

类似这样的东西:

/**
*@NApiVersion 2.1
*@NScriptType MassUpdateScript
*/
define(['N/record'], (record) => {
function each(params) {
let rec = record.load({
type: params.type,
id: params.id
});
var quant = rec.getValue('custrecordeconomcap');
if (isNaN(quant) || quant < 1) return;
// if(!quant) return; // if custrecordeconomcap is an integer field
var targetItemId = 123; // Your target id here
/* answer assumes only one line item should be updated. 
* Use your target item. Even if your search for the mass update 
* filters for orders with the item it pays to be defensive.
*/
var targetIdx = rec.findSublistLineWithValue({
sublistId: 'item',
fieldId: 'item',
value: targetItemId
});
if (targetIdx == -1) return;
rec.setSublistValue({
sublistId: 'item',
fieldId: 'quantity', // OP has filedId
line: targetIdx,
value: quant
});
rec.save();
}
return {
each: each
};
});

最新更新