Имя: Пароль:
1C
1С v8
Запуск методов обработки через COM после обновления платформы = проблема
0 Kvestin
 
19.03.13
11:40
Исходные данные:
Стояла платформа 1С 8.2.16.368
Обновлена до 8.2.17.169

1. Из свое базы 8.2 соединяюсь к другой базе(тоже 8.2 на том же кластере)
2. Создаю обработку Универсальный обмен данными XML через COM соединения
3. Загружаю в нее правила методом "ЗагрузитьПравилаОбмена()"- все ОК.
4. Выполняю метод "ВыполнитьВыгрузку()" в результате получаю ошибку "Ошибка сетевого доступа к серверу (Windows Sockets - 10054 ...)"

До обновления все работало исправно. В изменениях к релизам ничего похожего не нашел.

Если интерактивно зайти в базу из которой выгружаю, загрузить в нее те же правила - все ок.

Делать откат ооочень не хочется (т.к. на клиентах придется перерегистрировать COM коннекторы на старый релиз вручную).

Может кто встречался с подобным?
1 Kvestin
 
19.03.13
13:15
Как всегда, мой вопрос вызвал бурное обсуждение. Спасибо ;)

Докопался до истины с помощью технологического журнала.
Вылет процесса давала строка Сообщить("");
Видимо разработчики что-то изменили в обращении через COM.

Обернул в инструкции препроцессору #Если Клиент и все заработало.
2 DimGan
 
19.03.13
13:24
А не обращал внимания, что в типовых для обменов через ком 1с использует не Универсальный обмен, а ОбменДаннымиXML. Почти то же самое, но не совсем...
3 ptiz
 
19.03.13
13:37
(1) Эх, рано спалился, мы уже почти догадались до причины! :)
4 Kvestin
 
19.03.13
13:42
Конечно знал ;) и сравнивал их, когда решил использовать именно Универсальный обмен через XML (различий там действительно не много).
Я согласен, что такой код ошибочный. Странно другое, что он работал на предыдущем релизе.
А отловить баг оказалось совсем не просто, т.к. процесс сервера просто падал и все.
5 KAO111
 
19.03.13
13:48
Вызывает уважение.
Я вот просто решил, что это ошибка платформы.