При обновлении платформы 1С:Предприятие часто перестает работать межбазовый обмен через COM-соединение (COMConnector). При попытке подключиться к другой информационной базе возникает ошибка с сообщением Invalid class string (недопустимая строка класса). Разберем причины возникновения этой ошибки и пошаговые способы восстановления работоспособности интеграции.
Проанализируем ситуацию: для выполнения прямого подключения к базе 1С из внешнего скрипта, другой базы или стороннего приложения используется внешняя библиотека comcntr.dll. Во время инсталляции нового релиза платформы пути к зарегистрированным COM-классам могут перезаписаться некорректно, либо вовсе остаться привязанными к каталогу старой версии, что и приводит к невозможности инициализировать объект V83.COMConnector.
Выясним причину: если системная утилита regsvr32 была вызвана без прав администратора или для неверной разрядности, в реестре Windows сохраняются устаревшие или поврежденные параметры ProgID.
Рассмотрим по шагам, как правильно зарегистрировать библиотеку вручную:
%SystemRoot%\System32\regsvr32.exe "C:\Program Files\1cv8\8.3.XX.YYYY\bin\comcntr.dll"
%SystemRoot%\SysWOW64\regsvr32.exe "C:\Program Files (x86)\1cv8\8.3.XX.YYYY\bin\comcntr.dll"
Обратим внимание: вместо 8.3.XX.YYYY необходимо указать точный номер установленного релиза платформы 1С.
Проанализируем частую проблему взаимодействия 32-битных и 64-битных процессов. Если приложение-клиент (например, 32-битная платформа 1С) пытается вызвать 64-битную библиотеку comcntr.dll напрямую (или наоборот), Windows блокирует вызов с ошибкой отсутствия класса. Для обеспечения взаимодействия между процессами разной разрядности требуется настроить серверное приложение в Службах компонентов (COM+ обертку).
Разберем процесс настройки и обновления COM+ приложения по шагам:
Win + R, введем команду dcomcnfg и нажмем Enter.V83COMConnector или 1CV83_COMConnector).comcntr.dll из папки bin установленной версии платформы.Рассмотрим долгосрочные решения. Механизм COMConnector имеет существенные архитектурные ограничения: жесткая привязка к операционной системе Windows, зависимость от разрядности и необходимость перерегистрации библиотек при каждом обновлении платформы. Чтобы исключить подобные сбои в будущем, рекомендуется переводить межбазовый обмен на современные протоколы: