02.07.2021, 11:40 | #1 |
Участник
|
Поле "XXX" (= -0,000) может содержать только положительные числа
dax2012 R3
Поле имеет свойство AllowNegative = No. Т.е. запрет отрицательных значений X++: ttsbegin; qty = ( ); // здесь расчет значения qty = decRound(qty, 3); myTab.MyField = qty; if (myTab.MyField < 0) throw error('Отрицательное значение'); if (myTab.validateWrite()) { myTab.update(); } ttscommit; Иногда! При выполнении этого кода в пакете получаю указанную в названии темы ошибку Цитата:
Поле "XXX" (= -0,000) может содержать только положительные числа
Причем ошибка именно при работе в пакете. Если запускать обработку без пакета, то ошибка ни разу не возникала. Как следствие, сделать корректный тестовый пример для воспроизведения ошибки не получается. Просто не могу поймать, когда она возникает Пока обошел проблему вот так X++: ttsbegin; qty = ( ); // здесь расчет значения qty = decRound(qty, 3); // Если в результате расчет ноль, то явно указать ноль if (qty == 0) { qty = 0; } myTab.MyField = qty; if (myTab.MyField < 0) throw error('Отрицательное значение'); if (myTab.validateWrite()) { myTab.update(); } ttscommit;
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
Теги |
dax2012 |
|
|