Имя: Пароль:
1C
1С v8
Ошибка СУБД
0 Nicholas
 
13.11.14
16:52
Платформа: 1С:Предприятие 8.3 (8.3.5.1248)
Конфигурация: Управление торговлей, редакция 11.1 (11.1.9.51) (http://v8.1c.ru/trade/)
Copyright © ООО "1C", 2003-2013. Все права защищены
(http://www.1c.ru)
Режим: Серверный (сжатие: усиленное)
Приложение: Тонкий клиент
Локализация: Информационная база: русский (Россия), Сеанс: русский (Россия)
Вариант интерфейса: Такси
СУБД: PostgreSQL 9.2.4-1.1C(x64)

Ошибки:
--------------------------------------------------------------------------------
13.11.2014 19:15:55
Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/cmi/command/0:b30ab4da-73b4-49e5-ab62-cf53befafb52:
по причине:
Ошибка СУБД:
ERROR:  CASE/WHEN could not convert type mvarchar to bytea at character 1180

С чем может быть связана такая ошибка? Возникает при попытке запустить обмен с сайтом Битрикс.
1 Господин ПЖ
 
13.11.14
16:53
написано же

could not convert type mvarchar to bytea at character 1180
2 olegves
 
13.11.14
16:54
ТИИ что говорит?
3 Господин ПЖ
 
13.11.14
16:59
>С чем может быть связана такая ошибка?

с тем что связка с PostgreSQL - это риск, ибо ошибок в описаниях релизов >> чем по MSSQL
4 Nicholas
 
14.11.14
07:02
(1) Первое, что приходит в голову по этому поводу - это проблема с кодировкой. Но тут вроде все в порядке. Локаль UTF8, кодировка 1251. Символ с кодом 1180 - это какая-то закорючка. Сомневаюсь, что где-то он у меня используется в значениях реквизитов.
Пробовал при помощи технологического журнала получить текст запроса к базе, но безуспешно. В логах только описание ошибки как в (0), дамп пустой.

(2) ТИИ говорит, что все хорошо.

(3) Попробовать откатиться к предыдущему релизу платформы? Или вернуться на MSSQL? База изначально была скульная, но есть мысль перенести ее в облако, под линукс и соответственно постгри. Поэтому и начал экспериментировать. В общем-то все работает, за исключением обмена с сайтом.
5 McSim78
 
14.11.14
14:43
(3) В данном случае виноват не PostgreSQL. На MS SQL2008 R2 SP3 такая же беда.

(4) Проблема кроется в запросе по адресу ОбщиеМодули.Б_МодульОбменаССайтомСервер.СформироватьВременныеТаблицыПоИнформацииОТоварахПакета()
В частности в местах, типа этого:
ВЫБОР КОГДА ВариантыКомплектацииНоменклатурыТовары.Характеристика ЕСТЬ NULL ТОГДА "" ИНАЧЕ ВариантыКомплектацииНоменклатурыТовары.Характеристика.ВерсияДанных КОНЕЦ КАК ВерсияДанныхХарактеристики,

Я написал в саппорт Битрикса, но у себя пока исправил (для настройки и тестов) вот так:
Это:
ВариантыКомплектацииНоменклатурыТовары.Характеристика ЕСТЬ NULL ТОГДА ""
заменил на это:
ВариантыКомплектацииНоменклатурыТовары.Характеристика ЕСТЬ NULL ТОГДА НЕОПРЕДЕЛЕНО
6 McSim78
 
14.11.14
14:45
Скорее всего битриксы тестировали этот запрос на файловой версии. Там такие конструкции пролетают со свистом. В случае с СУБД - не проходят.
7 Nicholas
 
16.11.14
11:23
В файловом варианте ошибка тоже есть:

Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/cmi/command/0:b30ab4da-73b4-49e5-ab62-cf53befafb52:
по причине:
Ошибка СУБД:
Ошибка SQL: Несовместимые типы в выражении
по причине:
Ошибка SQL: Несовместимые типы в выражении
8 Nicholas
 
16.11.14
11:34
Кстати, а почему в данном случае нельзя использовать конструкцию ТОГДА ""?
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.