Имя: Пароль:
1C
 
СКД: Чудеса округления в СКД?
0 detec
 
17.08.09
13:34
Доброго времени суток!

Столкнулся со следующей ситуацией в СКД.

В моём запросе из набора данных для СКД выполняется деление - вычисляю объём товара в кубических метрах на основе справочных данных. Заметил, что на разных СУБД по-разному отображается результат деления: на моей личной базе округляет автоматически до 4-го или 5-го знака после запятой, а на других базах, в т.ч. и продакшене, там, где в результате деления получается число в периоде - именно это дурацкое в периоде и выводится, с 10-15 знаками после запятой.

Версия платформы одинаковая - 8.1.13.42.
У меня база крутится на MS SQL 2008 Ent SP1 с последними обновлениями.
Другие базы крутятся на Postgres, причём разных версий.
Запускал клиента на 3-х разных системах, под 2-мя разными пользователями.
Запускал отчёт как внешний и встроенный в конфигруацию.  Но чудеса деления воспроизводятся!

Более того, чтобы побороть эту ситуацию, в запросе я поместил результаты деления в функцию ВЫРАЗИТЬ (<деление> КАК ЧИСЛО(14, 4)). После чего в моей базе чётко наблюдается максимум 4 знака после запятой, а на Postgres - всё то же число в периоде.

Вопрос: это я что-то ручками своими не то делаю или глюки СУБД/платформы?
1 hhhh
 
17.08.09
13:41
(0) делит ИМХО SQL. Причем здесь платформа?
2 detec
 
17.08.09
13:49
То, что делит MS SQL. Я до этого делал отчёты руками и с построителем, на тех же самых системах - и подобных "приколов" не заметил.

И ещё. Конфа самописная.
3 detec
 
17.08.09
13:49
(10 То, что делит MS SQL - это понятно.
4 hhhh
 
17.08.09
14:09
и он никуда не округляет. Там так и хранится 14-15 знаков. Это на экран выводятся 5.