При настройке или выполнении синхронизации данных между конфигурациями «1С:Управление торговлей 11» и «1С:Бухгалтерия предприятия 3.0» через прямое подключение (COM-соединение) пользователи и администраторы нередко сталкиваются с ошибкой: Неизвестный тип объекта метаданных "Документ.ЗаказКлиента". Разберем по шагам, почему возникает эта ошибка и какими способами ее можно исправить.
Проанализируем природу проблемы. Объект метаданных Документ.ЗаказКлиента присутствует в конфигурации УТ, но отсутствует в типовой БП (где аналогичные операции отражаются документами ЗаказПокупателя или СчетНаОплатуПокупателю). Ошибка возникает в тех случаях, когда алгоритм обмена, правила регистрации изменений или обработчики событий пытаются обратиться к структуре метаданных документа напрямую в контексте информационной базы «Бухгалтерия предприятия», а не через внешнее подключение в контексте «Управления торговлей».
Выясним, из какой базы запускается обмен. При прямом подключении через COM-соединитель критически важно, в какой именно базе инициируется сеанс передачи данных:
Документ.ЗаказКлиента) происходит в локальном контексте УТ, где этот объект существует, а в БП передаются уже преобразованные данные универсального формата (EnterpriseData).Рекомендуется запускать регламентную синхронизацию на стороне «1С:Управление торговлей» либо настроить автоматический фоновый запуск по расписанию именно в базе УТ.
После перевода баз с файлового режима на клиент-серверный вариант (например, PostgreSQL) серверные вызовы и регламентные задания начинают выполняться службой ragent. Если сервер 1С 64-разрядный (x64), он требует наличия зарегистрированной 64-битной библиотеки COM-соединителя.
Посмотрим, как правильно зарегистрировать библиотеку в операционной системе Windows. Откроем командную строку от имени администратора и выполним регистрацию библиотеки нужной разрядности:
regsvr32 "C:\Program Files\1cv8\8.3.X.XXXX\bin\comcntr.dll"
regsvr32 "C:\Program Files (x86)\1cv8\8.3.X.XXXX\bin\comcntr.dll"
Важно: убедимся, что версия регистрируемой библиотеки comcntr.dll в точности совпадает с версией платформы, на которой запущен сервер 1С.
Если базы ранее обновлялись или переносились, в таблицах регистрации изменений для узла обмена могли остаться «зависшие» записи по объектам, которые текущая версия правил не может корректно обработать.
Разберем порядок очистки:
Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанные().Проанализируем состояние правил синхронизации. При несовпадении версий правил конвертации в узле обмена база может использовать устаревшие алгоритмы.
Прямое COM-подключение между серверными базами чувствительно к разрядности операционной системы, версиям библиотек и правам системных пользователей. Чтобы полностью исключить ошибки контекста и COM-соединителя, рассмотрим переход на стандартные каналы передачи данных: