Имя: Пароль:
1C
1С v8
УТ11 - Неправильная сортировка правил округления цен
0 Sarmen
 
02.06.14
16:35
Здравствуйте!
Типовая УТ11, последний релиз. Столкнулся с такой проблемой:
документ "Установка цен" неправильно округляет цены в клиент-серверной базе. Посмотрел в отладчике - выбирает правила округления в обратном порядке, чем надо: http://c2n.me/idv8ep.png
   Эта же база в файловом варианте округляет правильно. Порядок сортировки границ нижнего диапазона цен в этом месте кода должен быть от меньшего к большему, а клиент-серверном варианте - наоборот, от большего к меньшему. Посмотрел запрос - там просто выбирается табличная часть из справочника и выгружается в таблицу значений. И получается, что эта таблица разная в файловом и в серверном варианте.
   Вопрос: это ошибка в типовом коде или это ошибка сервера PostgreSQL ? может ли это быть из-за неправильных настроек PostgreSQL ? если может - то как проверить и поправить?
1 fisher
 
02.06.14
16:41
В типовом коде, наверное. Я не спец по УТ11.
Но все СУБД не гарантируют сортировку, если она не задана явно (связано с особенностями хранения и выборки). А файловые обычно выбирают в "нативном" порядке.
2 mikecool
 
02.06.14
16:45
(0) ошибка в постгре
3 mikecool
 
02.06.14
16:47
+2 вернее, не ошибка - у него другое представление сортировки по-умолчанию, допиши в запрос упорядочить по и живи спокойно
1с не сильно тестирует конфиги под постгри
4 fisher
 
02.06.14
16:51
(3) Ты хочешь сказать, что в MSSQL такой бяки гарантированно не будет?
5 mikecool
 
02.06.14
16:53
(4) не исключено. я уже сталкивался с сабжем, но в другой ситуации, когда результат среза последних в скуле был нормальный, а в постгри - не упорядочен
6 fisher
 
02.06.14
16:59
Ну а я подобные траблы еще с 7.7 помню.
"Почему на файловой у меня в нужном порядке, а в клиент-серверной фигня". Вполне верю, что в MSSQL где-то может выдать нормально. И в постгре в другом случае тоже.
Но вообще - везде, где упорядочивание существенно - оно должно быть явным. Это как отче наш. Потому как ни MSSQL, ни PostgreSQL не гарантируют определенный порядок при отсутствии явного упорядочивания. Зависит от того, как писалось и как выбиралось.
7 Sarmen
 
02.06.14
17:25
(1)(2) Спасибо.
Может есть какие-нибудь патчи от 1С для PostgreSQL, которые решают эту проблему? Я просто не специалист по PostgreSQL, у нас этим занимается системный администратор, но может есть какие-нибудь возможности исправить это дело? Может обновить версию PostgreSQL или ещё что-нибудь поставить? Например, вот здесь куча всяких дополнительных файлов выложена: http://v8.1c.ru/overview/postgres_patches_notes.htm. Они решают проблему? Как узнать - установлены они или нет?