|
|
#1 |
|
Участник
|
Операция присваивания или сравнения вызывает потерю точности.
dax2012
При работе с числовыми значениями, при записи в поле типа Integer, Axapta может предупредить Цитата:
Операция присваивания или сравнения вызывает потерю точности.
Понятно, что тут следует использовать разные функции конвертации типов вроде any2int(). Но что делать, если такое сообщение возникает при работе с групповыми командами вроде insert_recordset и update_recordset? Ну, например, в шапке документа есть поле для хранения количества строк. Тип Integer. Для подсчета строк использую count(RecId), но RecId - это int64. Получаю предупреждение о возможной потере точности условный код примерно такой Код: insert_recordset MyTab (NumOfLines) select count(RecId) from MyLine where (...) Как для таких команд подавить предупреждение Best Practices о потере точности?
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
|
|
#2 |
|
Участник
|
Цитата:
Может быть сделать count(RECVERSION) и его значение вставить. Там тип как раз int32 Но я не пробовал. X++: insert_recordset MyTab (NumOfLines) select count(recVersion) from MyLine where (...) Последний раз редактировалось Logger; 09.06.2026 в 22:33. |
|
|
|
| За это сообщение автора поблагодарили: Владимир Максимов (5). | |
|
|
#3 |
|
Участник
|
Стоит взвесить издержки:
- Сменить тип переменной с int на int64 = рост занимаемого дискового пространства x2; - Осуществлять runTime-конвертацию (не для случая вставки при выборке) = снижение быстродействия, что критично для вычислительных операций; - Закрыть глаза на данное BP = риск ошибок, которые проявятся только в runTime. С count нужно постараться, чтобы превысить int, но это если функция выполняет, например, sum/max - переполнение реальное. Использование иного типа данных является правильным решением, но не во всех случаях уместным. |
|
|
|
|
#4 |
|
Участник
|
Про то, что кроме RecId есть еще RecVersion забыл. Все примеры-то через RecId. А через RecVersion проще делать подсчет количества
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
|
|
| Опции темы | Поиск в этой теме |
| Опции просмотра | |
|