首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SuiteScript2.0请为Amount增值

SuiteScript2.0请为Amount增值
EN

Stack Overflow用户
提问于 2020-05-26 09:32:23
回答 1查看 53关注 0票数 0

我有一个正在创建订单的suitelet。大多数情况下,这是有效的,但有时,可能50个中有1个失败,并出现此错误。“请为金额输入一个值。”

在执行此操作时,会抛出错误。

代码语言:javascript
复制
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)
    });
}

执行失败时的日志为

代码语言:javascript
复制
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%有效。

EN

回答 1

Stack Overflow用户

发布于 2020-06-02 06:53:06

这就是问题所在。我假设日志记录在我发布的行上,但结果是它试图添加数量为0的另一行。JavaScript中的JavaScript将0视为false

代码语言:javascript
复制
 if(orderLine.amount)

因此,数量从未添加到行中。我将if语句更改为read

代码语言:javascript
复制
if(orderLine.amount || orderLine.amount == 0)

这就解决了问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62013274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档