УНФ 3.0.13.210 - исправление работы обмена (синхронизации) после перехода на 8.5 через com-соединение (нет CLSID)
Интеграция - Перенос данных 1C
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
УНФ 3.0.13.210: не работает синхронизация (обмен) через COM после перехода на платформу 8.5
Проблема
После обновления платформы 1С:Предприятие до версии 8.5 в конфигурации УНФ 3.0.13.210 перестаёт работать синхронизация данных через COM-соединение.
При попытке выполнить обмен возникает ошибка:
Не задан CLSID для класса v85.COMConnector
или аналогичная ошибка, связанная с отсутствием идентификатора COM-компоненты.
Причина
В типовой конфигурации УНФ 3.0.13.210 в функции ИдентификаторCOMСоединителя общего модуля ОбщегоНазначения не добавлен CLSID для нового COM-коннектора платформы 8.5 (v85.COMConnector).
Функция используется системой контроля безопасности для проверки разрешённых COM-компонент. Поскольку v85.COMConnector отсутствует в списке — платформа блокирует подключение.
Решение для специалистов
Необходимо дополнить функцию ИдентификаторCOMСоединителя в общем модуле ОбщегоНазначения.
Исходный код:
Функция ИдентификаторCOMСоединителя(Знач ИмяCOMСоединителя)
Если ИмяCOMСоединителя = "v83.COMConnector" Тогда
Возврат "181E893D-73A4-4722-B61D-D604B3D67D47";
КонецЕсли;
ВызватьИсключение(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Неверное значение параметра %1 функции %2. Не задан CLSID для класса %3.'"),
"ИмяCOMСоединителя", "ОбщегоНазначения.ИдентификаторCOMСоединителя", ИмяCOMСоединителя),
КатегорияОшибки.ОшибкаКонфигурации);
КонецФункции
Исправленный код:
Функция ИдентификаторCOMСоединителя(Знач ИмяCOMСоединителя)
Если ИмяCOMСоединителя = "v83.COMConnector" Тогда
Возврат "181E893D-73A4-4722-B61D-D604B3D67D47";
ИначеЕсли ИмяCOMСоединителя = "v85.COMConnector" Тогда
Возврат "BBAB44B3-6C80-43B1-AFEC-3094B12122BE";
КонецЕсли;
ВызватьИсключение(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Неверное значение параметра %1 функции %2. Не задан CLSID для класса %3.'"),
"ИмяCOMСоединителя", "ОбщегоНазначения.ИдентификаторCOMСоединителя", ИмяCOMСоединителя),
КатегорияОшибки.ОшибкаКонфигурации);
КонецФункции
Добавленный блок:
ИначеЕсли ИмяCOMСоединителя = "v85.COMConnector" Тогда
Возврат "BBAB44B3-6C80-43B1-AFEC-3094B12122BE";
Варианты внесения изменений
- Расширение конфигурации (рекомендуется) — не требует снятия с поддержки, легко устанавливается и удаляется
- Правка конфигурации — требует снятия модуля с поддержки
Готовое решение
Для тех, кто не хочет вносить изменения самостоятельно, доступно готовое расширение, которое устанавливает исправление без снятия конфигурации с поддержки.
Расширение использует аннотацию &Вместо для перехвата функции ИдентификаторCOMСоединителя и добавляет поддержку v85.COMConnector.
Применимость
- Конфигурация: УНФ (Управление нашей фирмой) 3.0.13.210
- Платформа: 1С:Предприятие 8.5
- Область: Синхронизация данных, обмен через COM-соединение
Вступайте в нашу телеграмм-группу Инфостарт