При настройке прямого обмена данными между конфигурациями 1С:Бухгалтерия предприятия и 1С:Зарплата и управление персоналом через прямое подключение (COM-соединение) специалисты часто сталкиваются с цепочкой последовательных ошибок. Сначала система сообщает о сбое аутентификации (Идентификация пользователя не выполнена), а после перерегистрации библиотек возникает исключение Ошибка при вызове метода контекста (ЗагрузитьПравилаОбмена): Поле объекта не обнаружено. Разберем по шагам причины возникновения этих проблем и способы их устранения.
Ошибка возникает при выполнении вызова COMConnector.Connect(СтрокаСоединения) в общем модуле ОбщегоНазначенияКлиентСервер. При этом интерактивная проверка подключения в мастере настройки может проходить успешно, а регламентное или ручное выполнение синхронизации завершается аварийно. Проанализируем основные факторы, вызывающие этот сбой:
Администратор системы. Обязательно должна быть назначена роль Внешнее подключение или профиль с правами на синхронизацию данных.Для повторной регистрации COM-компоненты запустите командную строку от имени Администратора и выполните команду для нужной версии платформы:
regsvr32 "C:\Program Files\1cv8\8.3.XX.XXXX\bin\comcntr.dll"
Если используется 32-разрядная платформа на 64-битной операционной системе, путь к файлу будет располагаться в каталоге Program Files (x86).
После успешного восстановления связи через COM-соединение обработка КонвертацияОбъектовИнформационныхБаз может вызвать исключение в процедуре ЗагрузитьПравилаОбмена. Выясним причину такого поведения: в большинстве случаев ошибка связана с рассинхронизацией префиксов информационных баз и кодов узлов в планах обмена.
План обмена жестко связывает код предопределенного узла ЭтотУзел и код узла корреспондента с префиксами соответствующих информационных баз. Если префикс базы был изменен, удален или перенастроен уже после создания первоначальной настройки обмена, программные механизмы БСП (Библиотеки стандартных подсистем) обращаются к служебным структурам данных по устаревшему коду узла, что приводит к ошибке Поле объекта не обнаружено в модуле ОбменДаннымиПовтИсп.
Разберем по шагам правильный алгоритм исправления настроек:
Администрирование -> Синхронизация данных в обеих базах (БП и ЗУП) и проверьте поле «Префикс этой информационной базы». Префиксы должны быть заданы (состоять из 2 символов) и не должны быть пустыми.Функции для технического специалиста (или Все функции) откройте соответствующий план обмена (например, СинхронизацияДанныхЧерезУниверсальныйФормат или ОбменЗарплата31Бухгалтерия30). Убедитесь, что коды узлов строго соответствуют установленным префиксам обеих программ.Соответствия объектов информационных баз и Правила для обмена данными для удаляемого узла.Рассмотрим альтернативные способы передачи данных, если прямое COM-подключение продолжает вызывать нестабильную работу из-за различий в разрядности операционной системы или прав серверных служб:
comcntr.dll, контекста серверных служб и разрядности платформы.