作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 NetSuite 中有一个用户事件脚本,它循环遍历所有销售订单行项目,并根据一些条件自动添加存款。它适用于除最后一行之外的所有行。
几乎可以工作的代码:
for(var i=0;i<=lineCount;i++){
var sub_field2 = load_so.getSublistValue({
sublistId: 'item',
fieldId: 'item',
line: i
});
log.debug({
title:"Item ID",
details: sub_field2
});
var sub_field1 = load_so.getSublistValue({
sublistId: 'item',
fieldId: 'custcol_vcc_deposit_item',
line: i
});
log.debug({
title:"Deposit Item?",
details: sub_field1
});
var isclosed = load_so.getSublistValue({
sublistId: 'item',
fieldId: 'isclosed',
line: i
});
if(sub_field1 == true && isclosed !== true){
var linkeddepitem = load_so.getSublistValue({
sublistId: 'item',
fieldId: 'custcol_vcc_ldi',
line: i
});
log.debug({
title:"Linked Item ID",
details: linkeddepitem
});
var depqty = load_so.getSublistValue({
sublistId: 'item',
fieldId: 'quantity',
line: i
});
log.debug({
title:"Qty",
details: depqty
});
load_so.insertLine({
sublistId: 'item',
line: i+1
});
load_so.setSublistValue({
sublistId: 'item',
fieldId:'item',
line: i+1,
value: linkeddepitem
});
load_so.setSublistValue({
sublistId: 'item',
fieldId:'quantity',
line: i+1,
value: depqty
});
var lineCountduringloop = load_so.getLineCount({ sublistId: 'item' });
log.debug({
title:"Line Count Before Return",
details: lineCountduringloop
});
};
};
如何确保循环确实经过最后一行?日志表明脚本在未达到应有位置的情况下停止了一行,即检查插入的最后一行是否有条件,但它正确地失败了,然后脚本退出循环;它甚至不在最后一行运行。
感谢您的任何意见!
最佳答案
如果 lineCount
是总行数,则最后一行(在 SS 2.0 中)的索引将为 lineCount - 1
。所以你的 for
语句的第一行应该是:
for(var i=0;i<lineCount;i++){
不是
for(var i=0;i<=lineCount;i++){
(注意删除的“=”)
看起来发生的情况是脚本正在尝试对不存在的行进行操作;因此出现错误。这通常称为 off by one error.
关于javascript - 如何让 for 循环包含 NetSuite 中用户事件脚本的最后一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60227655/
我是一名优秀的程序员,十分优秀!