我不熟悉脚本编写,我正在尝试在Netsuite中创建一个脚本,该脚本将查看销售订单中的各行,并验证是否有折扣商品。如果存在折扣项目,则脚本将在它之前查看该项目,获取字段类的值并更新折扣项目的类。我收到无法将未定义的方法“ split”调用为错误,并且不确定原因。
/**
* @NApiVersion 2.x
* @NScriptType UserEventScript
* @NModuleScope SameAccount
*/
define(["N/record"], function (r){
function afterSubmitUpdateDiscountClass(context) {
var currentRecord = context.currentRecord;
var numLines = currentRecord.getLineCount({
sublistId: 'item'});
for(var i=0; i < numLines; i++) {
var currentItemType = currentRecord.getCurrentSublistValue ({
sublistID: 'item',
fieldID: 'itemType',
line: i});
if (currentItemType == 'discountitem') {
var newClass = currentRecord.getCurrentSublistValue ({
sublistID : 'item',
fieldID: 'class',
line: i-1});
currentRecord.selectLine({
sublistID: 'item',
line: i })
currentRecord.setCurrentSublistValue ({
sublistID : 'item',
fieldID: 'class',
value : newClass });
currentRecord.commitLine({
sublistID: 'item' });
}
}
}
return {
afterSubmit: afterSubmitUpdateDiscountClass
}
})
尝试删除脚本记录并重新创建。 Slack最近有关于该错误的报道,重新创建脚本记录对此有所帮助。
前几天碰到过,由于找不到解决方法,我刚刚向NetSuite提交了支持案例。
您使用的currentRecord.getCurrentSublistValue不正确。 getCurrentSublistValue没有line属性,在record.selectLine
之后用于动态记录。在用户事件上下文中,您应该调用currentRecord.getSublistValue