SuiteScript2.0 Пожалуйста, добавьте ценность к сумме - PullRequest
0 голосов
/ 26 мая 2020

У меня есть люкслет, который создает заказ. В большинстве случаев это срабатывает, но иногда, может быть, в 1 случае из 50 возникает эта ошибка. «Пожалуйста, введите значение суммы».

Ошибка возникает при выполнении этого.

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

amount устанавливается на сумму, но когда я пытаюсь зафиксировать строку, она не работает в 100% случаев.

1 Ответ

0 голосов
/ 02 июня 2020

Итак, вот в чем проблема. Я предположил, что журнал был в строке, которую я опубликовал, но оказалось, что он пытался добавить еще одну строку с суммой 0. JavaScript = JavaScript видел 0 как ложь в

 if(orderLine.amount)

, поэтому сумма никогда не добавлялась к строке. Я изменил этот оператор if на

if(orderLine.amount || orderLine.amount == 0)

Это решило проблему.

...