Netsuite 永远转换项目接收循环
我不知道为什么,但是日志一直在循环,然后我执行了一个时间错误 这是代码Netsuite 永远转换项目接收循环,netsuite,suitescript2.0,Netsuite,Suitescript2.0,我不知道为什么,但是日志一直在循环,然后我执行了一个时间错误 这是代码 function checkForQuantity(irList, irRec, poId) { try { var sublistId = 'item' var count = irRec.getLineCount('item') log.debug('irList', irList); log.debug('count', count); He
function checkForQuantity(irList, irRec, poId) {
try {
var sublistId = 'item'
var count = irRec.getLineCount('item')
log.debug('irList', irList);
log.debug('count', count); Here count = 5
for (var i = 0; i < count; i++) {
log.debug('i', i) Here i get only logs of i = 1 and i = 2
var irData = irList[i];
log.debug('checkForQuantity | irData ' + i, irData);
irRec.setSublistValue(sublistId, 'quantity', i, '')
var itemId = getItemId(irData.item)
var quantity = irData.quantity
for (var i = 0; i < count && quantity; i++) {
var item = irRec.getSublistValue(sublistId, 'item', i)
if (item == itemId) {
var qtyRem = irRec.getSublistValue(sublistId,
'quantityremaining', i)
var diff = qtyRem - quantity
if (diff >= 0) {
irRec.setSublistValue(sublistId, 'quantity', i, quantity)
break;
} else {
quantity -= qtyRem
irRec.setSublistValue(sublistId, 'quantity', i, qtyRem)
}
}
}
}
} catch (e) {
log.error('checkForQuantity (for poId: ' + poId + ')', e)
}
功能检查数量(irList、irRec、poId){
试一试{
var sublistId='item'
变量计数=IREC.getLineCount('项目')
log.debug('irList',irList);
log.debug('count',count);此处count=5
对于(变量i=0;i=0){
IREC.SetPublistValue(子列表“数量”,i,数量)
打破
}否则{
数量-=qtyRem
IREC.SetPublistValue(子列表'quantity',i,qtyRem)
}
}
}
}
}捕获(e){
log.error('checkForQuantity(对于poId:'+poId+'),e)
}
在debug.log上('i',i)
我只得到i=1,i=2
计数是5,但我仍然不能在3和4上循环。这是为什么?在本期Brian所说的内容中,我们将第二个循环控制变量更改为
j
function checkForQuantity(irList, irRec, poId) {
try {
var sublistId = 'item'
var count = irRec.getLineCount('item')
log.debug('irList', irList);
log.debug('count', count); Here count = 5
for (var i = 0; i < count; i++) {
log.debug('i', i) Here i get only logs of i = 1 and i = 2
var irData = irList[i];
log.debug('checkForQuantity | irData ' + i, irData);
irRec.setSublistValue(sublistId, 'quantity', i, '')
var itemId = getItemId(irData.item)
var quantity = irData.quantity
for (var j = 0; j < count && quantity; j++) {
var item = irRec.getSublistValue(sublistId, 'item', j)
if (item == itemId) {
var qtyRem = irRec.getSublistValue(sublistId,
'quantityremaining', j)
var diff = qtyRem - quantity
if (diff >= 0) {
irRec.setSublistValue(sublistId, 'quantity', j, quantity)
break;
} else {
quantity -= qtyRem
irRec.setSublistValue(sublistId, 'quantity', j, qtyRem)
}
}
}
}
} catch (e) {
log.error('checkForQuantity (for poId: ' + poId + ')', e)
}
函数检查数量(irList、irRec、poId){
试一试{
var sublistId='item'
变量计数=IREC.getLineCount('项目')
log.debug('irList',irList);
log.debug('count',count);此处count=5
对于(变量i=0;i=0){
IREC.SetPublistValue(子列表“数量”,j,数量)
打破
}否则{
数量-=qtyRem
IREC.SetPublistValue(子列表'quantity',j,qtyRem)
}
}
}
}
}捕获(e){
log.error('checkForQuantity(对于poId:'+poId+'),e)
}
快速查看:您正在将i
用于外部和内部用于
循环。不要这样做。谢谢!这很有效