我有一个正在创建订单的suitelet。大多数情况下,这是有效的,但有时,可能50个中有1个失败,并出现此错误。“请为金额输入一个值。”
在执行此操作时,会抛出错误。
if(orderLine.amount){
log.debug("itemrate", orderLine.itemrate);
salesOrder.setCurrentSublistValue({
sublistId : 'item',
fieldId : 'rate',
value : Number(orderLine.itemrate ? orderLine.itemrate : (orderLine.amount / orderLine.qty))
});
fieldServices.sleep(1000);
log.debug("Amount", orderLine.amount);
salesOrder.setCurrentSublistValue({
sublistId : 'item',
fieldId : 'amount',
value : Number(orderLine.amount)
});
}执行失败时的日志为
2 View Debug Amount 26/05/2020 11:21 AM -System- 118.0909090909091
3 View Debug itemrate 26/05/2020 11:21 AM -System- 118.0909所以数量是通过数量设置的,但是当我尝试提交这行代码时,它并不是100%有效。
发布于 2020-06-02 06:53:06
这就是问题所在。我假设日志记录在我发布的行上,但结果是它试图添加数量为0的另一行。JavaScript中的JavaScript将0视为false
if(orderLine.amount)因此,数量从未添加到行中。我将if语句更改为read
if(orderLine.amount || orderLine.amount == 0)这就解决了问题。
https://stackoverflow.com/questions/62013274
复制相似问题