Исходные данные:
Стояла платформа 1С 8.2.16.368
Обновлена до 8.2.17.169
1. Из свое базы 8.2 соединяюсь к другой базе(тоже 8.2 на том же кластере)
2. Создаю обработку Универсальный обмен данными XML через COM соединения
3. Загружаю в нее правила методом "ЗагрузитьПравилаОбмена()"- все ОК.
4. Выполняю метод "ВыполнитьВыгрузку()" в результате получаю ошибку "Ошибка сетевого доступа к серверу (Windows Sockets - 10054 ...)"
До обновления все работало исправно. В изменениях к релизам ничего похожего не нашел.
Если интерактивно зайти в базу из которой выгружаю, загрузить в нее те же правила - все ок.
Делать откат ооочень не хочется (т.к. на клиентах придется перерегистрировать COM коннекторы на старый релиз вручную).
Как всегда, мой вопрос вызвал бурное обсуждение. Спасибо ;)
Докопался до истины с помощью технологического журнала.
Вылет процесса давала строка Сообщить("");
Видимо разработчики что-то изменили в обращении через COM.
Обернул в инструкции препроцессору #Если Клиент и все заработало.
Конечно знал ;) и сравнивал их, когда решил использовать именно Универсальный обмен через XML (различий там действительно не много).
Я согласен, что такой код ошибочный. Странно другое, что он работал на предыдущем релизе.
А отловить баг оказалось совсем не просто, т.к. процесс сервера просто падал и все.