При настройке или выполнении обмена данными между конфигурациями 1С:Зарплата и управление персоналом и 1С:Бухгалтерия предприятия на этапе передачи данных может возникнуть критический сбой. В окне сообщений появляется системная ошибка следующего вида:
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(2046)}: Ошибка при вызове метода контекста (ЗагрузитьПравилаОбмена)
ОбработкаДляЗагрузкиДанных().ЗагрузитьПравилаОбмена(XMLПравила, "Строка");
по причине:
Произошла исключительная ситуация: {ОбщийМодуль.ОбменДаннымиПовтИсп.Модуль}: Поле объекта не обнаружено
Чаще всего эта неполадка проявляется после перехода с редакции ЗУП 3.0 на ЗУП 3.1 или после масштабного обновления одной из баз. Разберем по шагам, почему возникает данный сбой и как корректно восстановить штатный обмен данными.
Причины возникновения ошибки
Проанализируем архитектурные особенности механизма синхронизации Библиотеки стандартных подсистем (БСП), чтобы понять корень проблемы:
Несовместимость структуры правил и метаданных: при переходе на новую ветку конфигурации (например, с ЗУП 3.0 на ЗУП 3.1) существенно обновляется версия БСП. Если в базе-приемнике или в базе-источнике сохранились настройки старого узла обмена, система пытается применить старую логику инициализации параметров, где обращается к свойствам структуры, удаленным или переименованным в новом релизе.
Закешированные правила в служебных регистрах: в информационной базе в регистре сведений ПравилаДляОбменаДанными остаются сериализованные пакеты правил от прежней редакции, которые модуль ОбменДаннымиПовтИсп считывает из повторно используемых значений.
Ошибки прямого COM-соединения: при прямом подключении через COM-коннектор (comcntr.dll) в памяти сервера могут оставаться зависшие процессы либо используется библиотека платформы, не совпадающая с версией сервера 1С.
Основное решение: полное пересоздание настройки синхронизации
Когда правила обмена конфликтуют со старой конфигурацией узла плана обмена, очистка кеша и ручная перезагрузка правил часто не дают результата. Самый надежный и быстрый способ решения — удалить устаревший сценарий обмена и настроить синхронизацию заново.
Выполним процедуру по следующему алгоритму:
Завершение фоновых заданий: убедимся, что регламентные задания синхронизации временно отключены в обеих базах через панель Администрирование — Обслуживание — Регламентные и фоновые задания.
Удаление старой настройки в ЗУП: перейдем в раздел Администрирование — Синхронизация данных — Настройки синхронизации данных. Выберем существующий узел обмена с Бухгалтерией предприятия и выполним команду удаления (пометить на удаление и удалить через удаление помеченных объектов).
Удаление старой настройки в Бухгалтерии: откроем базу 1С:Бухгалтерия предприятия и выполним аналогичное удаление связанного узла обмена в списке синхронизаций.
Создание новой синхронизации с нуля: в базе-источнике (ЗУП 3.1) запустим мастер создания новой синхронизации с Бухгалтерией предприятия редакции 3.0. Настроим параметры прямого подключения к информационной базе (или через общий каталог).
Проверка префиксов информационных баз: проконтролируем, чтобы в обеих базах в разделе Администрирование — Синхронизация данных были заданы уникальные префиксы документов (например, ЗП для ЗУП и БП для Бухгалтерии).
Первичная выгрузка и сопоставление данных: выполним первый запуск обмена, проверим окно сопоставления объектов (организации, подразделения, статьи затрат) и завершим синхронизацию.
Дополнительные действия при сохранении ошибки
Если после пересоздания узла обмена ошибка сохраняется, выполним дополнительную диагностику служебных компонентов:
Очистка регистра правил обмена: через меню Функции для технического специалиста (или Все функции) откроем регистр сведений Правила для обмена данными. Удалим устаревшие записи для проблемного узла и загрузим актуальные правила из комплекта поставки текущего релиза конфигурации.
Проверка соответствия релизов: убедимся, что релиз конфигурации Бухгалтерия предприятия соответствует требованиям совместимости, указанным в файле описания обновления (ReadMe.txt) релиза Зарплата и управление персоналом. При необходимости обновим конфигурацию-приемник.
Перерегистрация библиотеки COM-соединителя: при использовании прямого подключения перерегистрируем библиотеку comcntr.dll нужной версии платформы в операционной системе от имени администратора командой:
regsvr32 "C:\Program Files\1cv8\8.3.X.XXXX\bin\comcntr.dll"
Использование альтернативного транспорта данных: если COM-соединение продолжает давать сбои из-за сетевых политик или прав доступа, переключим транспорт обмена на выгрузку через промежуточный каталог на диске либо переведем синхронизацию на универсальный формат EnterpriseData.
В большинстве случаев полное удаление старых узлов обмена и создание новой настройки начисто полностью устраняет конфликт в модуле ОбменДаннымиПовтИсп и восстанавливает корректную работу обмена.