Имя: Пароль:
1C
 
Перенос номенклатуры в Аптеку c диска ИТС
, ,
0 unikon
 
09.09.16
09:09
Всем доброе время суток.
Пытаюсь занести новую номенклатуру с диска ИТС. Нажатии "Передать" в 1С вылазит сообщение об ошибке следующего содержания:
Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm:
по причине:
Соединение с сервером баз данных разорвано администратором
2201B: ERROR:  invalid regular expression: invalid character range

P.S. База серверная. СУБД PostgreSQL. На файловой базе пробовал, все работает.
1 unikon
 
09.09.16
09:11
Еще пишет: Соединение с сервером БЗ разорвано администратором.
2 Фрэнки
 
09.09.16
09:31
ну вот поиск что дает
Квадратные скобки в отборе
3 tabarigen
 
09.09.16
09:35
(0)Почему у вас не хватает мозгов указать конфигурацию?
4 tabarigen
 
09.09.16
09:35
Все равно что зайти на форум механиков и заявить "у меня машина не заводится, что делать?"
5 Фрэнки
 
09.09.16
09:37
(3) там еще и версия СУБД будет важна и платформа, с которой идет запрос к базе
6 Фрэнки
 
09.09.16
09:40
вот еще ссыль есть нужная для саппорта с постгри

http://postgresql.ru.net/manual/errcodes-appendix.html
7 tabarigen
 
09.09.16
09:42
(6) От конфы зависит. В конфигурациях Розниц Аптека 2, и Управление Аптечной сетью загрузка с ИТС проходит на ура.
Есть еще Управление Аптекой, но там я не пробовал.
8 Фрэнки
 
09.09.16
09:50
(7) тс пишет, что в файловом режиме работы ошибки нет.

мне-то понятно, что там открывается форма обработки в ней процедура, в процедуре запрос, а в запросе некие скобочки - и вот они именно на постгри не прокатывают. Хотя может быть и на MS SQL они тоже не прокатят. Но в файловой базе запрос срабатывает нормально. Версию постгри надо глянуть обязательно.
9 ansh15
 
09.09.16
11:03
http://downloads.v8.1c.ru/content//Comm/Platform/Err_8_1_14_72.htm
"10023650  Запрос со сравнением ПОДОБНО
Проблема:
В клиент-серверном варианте информационной базы с использованием СУБД PostgreSQL при выполнении запроса, содержащего сравнение ПОДОБНО с шаблоном, содержащим префиксированные символы [ и ], может происходить ошибка

Ошибка СУБД:
ERROR:  invalid regular expression: invalid character range

и аварийное завершение работы программы.
Дата публикации: 2009-10-08"
Не думаю, правда, что у автора темы все такое древнее...
10 Фрэнки
 
09.09.16
11:10
(9) вероятно, что постгри какой-то не такой: или совсем случайно выбранный, или без патча.

Хватанули версию не глядя, под винду установили и насилуют ее.
11 unikon
 
09.09.16
11:25
(3) Медицина. Больничная аптека, редакция 1.1. Версия платформы 8.3.8.1933. Postgresql 9.4.2.
12 unikon
 
09.09.16
11:27
Делал эту же базу в файловом варианте и загрузка происходила без проблем.
13 ansh15
 
09.09.16
11:40
(11) Посмотри параметр standard_conforming_strings= в postgresql.conf
Если там стоит on, поставь off, перезапусти PostgreSQL и попробуй.
А так, вот - http://its.1c.ru/db/metod8dev/content/5866/hdoc
Весьма подробно
14 unikon
 
13.09.16
07:55
(13) К сожалению это не помогло.
15 unikon
 
13.09.16
08:10
Как то странно работает. Он ошибку выдает только на одном лекарстве. Все остальные переносятся нормально.
16 Фрэнки
 
13.09.16
10:49
(15) ничего странного.

В сообщении об этой ошибке указывается, что это invalid character range

- в какие-то поля в этом лекарстве (вероятней всего, что это может быть всего одно индексируемое поле из всех остальных, например, Наименование или как-то оно там может быть названо в таблице) попался некий, возможно, что всего один invalid character, не попадающий в разрешенные для СУБД значения символов.

Не утверждаю на 100%, но значения символов могут не попадать в заданные диапазоне и в том случае, когда объявлена какая-то странная кодовая таблица для всей базы.
17 ansh15
 
13.09.16
12:42
(15) Номенклатура лекарств вручную вводится или грузится откуда?
Как вариант - удалить заново ввести эту запись, на копии, конечно.
В лог PostgreSQL что пишет? Там подробнее должно быть, что за символы и выражения. Примерно так - "SELECT regexp_matches('123-A' , E'(3[A-Z\- ])');
> ERROR: invalid regular expression: invalid character range"
18 unikon
 
14.09.16
09:44
Вот что в логе:
2016-09-13 11:17:47 NOVT STATEMENT:  SELECT
    T1._IDRRef
    FROM _Reference42 T1
    WHERE ((T1._Fld742)::mvarchar SIMILAR TO ('Инсулин-изофан \\\\[человеческий генно-инженерный\\\\]\\* \\(Insulin-isophan \\\\[human biosynthetic\\\\]\\*\\)'::mvarchar) ESCAPE ('\\'::mvarchar))
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший