我正在尝试使用 NetSuite 中的套件脚本关闭销售订单。
我注意到已经关闭的记录的“状态”设置为“关闭”。我尝试在提交记录之前设置此字段,但这不起作用,记录仍处于“等待履行”阶段。
是否涉及其他领域?
提前致谢!
我正在尝试使用 NetSuite 中的套件脚本关闭销售订单。
我注意到已经关闭的记录的“状态”设置为“关闭”。我尝试在提交记录之前设置此字段,但这不起作用,记录仍处于“等待履行”阶段。
是否涉及其他领域?
提前致谢!
交易记录没有实际的“关闭”等效状态。
您必须遍历所有行项目并设置为关闭,然后重新提交记录以提交更改。
这是一个示例代码:
var obj = nlapiLoadRecord('salesorder', 1);
var count = obj.getLineItemCount('item');
for(var i = 1; i <= count; i++) {
obj.setLineItemValue('item', 'isclosed', i, 'T');
}
nlapiSubmitRecord(obj);
在 suitescript 2.0 中使用 aftersubmit() 尝试以下代码。它会将“已关闭”字段设置为“真”。
var itemcounts = salesorderRecord.getLineCount({
sublistId: 'item'
});
for (var i = 0; i < itemcounts; i++) {
var lineNum = salesorderRecord.selectLine({
sublistId: 'item',
line: i
});
var setclosed = salesorderRecord.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'isclosed',
line: i,
value: true,
ignoreFieldChange: true
});
salesorderRecord.commitLine({
sublistId: 'item',
line: i
});
}salesorderRecord.save();
var count = poRec.getLineCount({
sublistId: 'item'
});
for (var i = 0; i < count; i++) {
poRec.setSublistValue({
sublistId: 'item',
fieldId: 'isclosed',
line: i,
value: true
});
}
套件脚本 2.0 代码片段
我能够通过关闭订单包含的单个行项目来关闭销售订单。
有一个订单项字段“已关闭”,需要为每个订单项设置为 true('T')。
nlapiVoidTransaction('salesorder', id)