Как исправить ошибку «Поле объекта не обнаружено (НастройкиТранспортаОбменаДанными)» при синхронизации ЗУП?

Программист 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом IT и автоматизация бизнеса
← На главную

При обновлении конфигурации 1С:Зарплата и управление персоналом до актуального релиза пользователи отраслевых решений (таких как «Охрана труда») нередко сталкиваются с ситуацией, когда ранее работавший обмен данными внезапно перестает функционировать. При попытке открыть форму параметров подключения или перейти в сценарии обмена система аварийно завершает операцию с ошибкой: «Поле объекта не обнаружено (НастройкиТранспортаОбменаДанными)».

Выясним причину этой неполадки, разберем произошедшие архитектурные изменения в библиотеках «1С:Предприятия» и рассмотрим пошаговые способы восстановления синхронизации данных.

Причина возникновения сбоя

В современных релизах подсистемы «Обмен данными» Библиотеки стандартных подсистем (БСП), которая входит в состав ЗУП, произошел перевод механизмов хранения параметров транспорта сообщений:

  1. В устаревших редакциях настройки каналов связи (FTP, сетевой каталог, электронная почта, веб-сервисы) хранились в регистре сведений РегистрСведений.НастройкиТранспортаОбменаДанными.
  2. В актуальных релизах БСП данный регистр выведен из эксплуатации (получил суффикс Удалить... либо полностью исключен из алгоритмов), а его роль теперь выполняет справочник Справочник.НастройкиТранспортаСообщенийОбмена.
  3. Если отраслевая база длительное время не обновлялась, а в ЗУП был встроен отдельный нетиповой план обмена, программный интерфейс или форма настроек продолжают обращаться к прежнему регистру сведений. Поскольку в метаданных обновленной ЗУП это свойство больше не поддерживается типовой подсистемой, платформа выдает исключение о необнаруженном поле объекта.

Способ 1. Адаптация нетипового плана обмена в конфигураторе

Рассмотрим, как правильно доработать внедренный план обмена под требования текущей версии БСП, если конфигурация находится на поддержке с возможностью изменения.

  1. Откроем модуль менеджера нетипового плана обмена и найдем экспортную процедуру ОбработатьНастройкиТранспортаСообщенийОбмена.
  2. В старых версиях процедура оперировала структурой полей регистра сведений. Сверим логику этой процедуры с аналогичной в типовом плане обмена (например, СинхронизацияДанныхЧерезУниверсальныйФормат). Заменим устаревший код на работу с новым справочником.
  3. Проверим процедуру инициализации настроек транспорта по умолчанию. В общем виде вызов должен соответствовать актуальному API БСП:
    
    Процедура ОбработатьНастройкиТранспортаСообщенийОбмена(Параметры) Экспорт
        // Актуальная логика использует методы подсистемы обмена БСП
        // и ссылки на справочник НастройкиТранспортаСообщенийОбмена
        ОбменДаннымиСервер.ОбработатьНастройкиТранспортаСообщенийОбмена(Параметры);
    КонецПроцедуры
    
  4. Убедимся, что сам справочник НастройкиТранспортаСообщенийОбмена не включен в состав миграции нетипового плана обмена: его данные должны создаваться локально в каждой базе и не передаваться в пакетах выгрузки.

Способ 2. Корректировка определяемых типов и состава команд

Разберем взаимосвязи объектов метаданных. Нетиповой план обмена должен быть включен во все служебные определяемые типы подсистемы синхронизации данных, иначе типовые формы БСП не смогут корректно идентифицировать узел.

  1. В дереве метаданных найдем типовой план обмена ЗУП, вызовем контекстное меню и нажмем «Поиск ссылок на объект».
  2. Проанализируем полученный список и сопоставим его с ссылками на наш нетиповой план обмена. Особое внимание уделим ветке «Определяемые типы».
  3. Проверим наличие типа нашего плана обмена в следующих объектах метаданных:
    • ОпределяемыйТип.ПланОбменаПодсистемыСинхронизацияДанных;
    • ОпределяемыйТип.ПланОбменаСсылка (в зависимости от релиза БСП);
    • ОпределяемыйТип.ВерсияФорматаОбмена (если применяется обмен EnterpriseData).
  4. Если план обмена отсутствует в каком-либо из этих типов, откроем состав определяемого типа и добавим ссылку на наш план обмена.
  5. Обновим конфигурацию базы данных (клавиша F7).

Способ 3. Установка свежего комплекта интеграции от разработчика

Проанализируем ситуацию, когда самостоятельная правка метаданных нежелательна или затруднена. Так как конфигурация «Охрана труда» не обновлялась около года, правила конвертации и программные модули для ЗУП устарели комплексно.

  1. Перейдем в личный кабинет на портале обновлений разработчика конфигурации «Охрана труда».
  2. Скачаем актуальный дистрибутив или отдельный установочный пакет интеграции для ЗУП (поставляется в виде файла конфигурации .cf или расширения .cfe).
  3. Обновим состав нетиповых объектов в ЗУП из свежей поставки разработчика. В актуальных версиях адаптация под новый справочник настроек транспорта уже выполнена вендором.

Действия в режиме «1С:Предприятие» после внесения изменений

После того как метаданные приведены в соответствие, необходимо выполнить обязательные сервисные шаги в рабочей базе, так как автоматическая миграция настроек из старого регистра в новый справочник для добавленных планов обмена не предусмотрена.

  1. Запустим ЗУП с параметром /C ЗапуститьОбновлениеИнформационнойБазы или дождемся завершения фоновых заданий обновления в разделе Администрирование — Обслуживание — Результаты обновления и дополнительная обработка данных. Это заполнит системные справочники идентификаторов объектов метаданных.
  2. Перейдем в раздел Администрирование — Синхронизация данных — Настройки синхронизации данных.
  3. Если ошибка сохраняется при открытии существующей строки обмена, удалим поврежденную настройку синхронизации.
  4. Создадим настройку синхронизации заново через мастер подключения, указав заново транспортные параметры: сетевой путь к каталогу обмена, параметры FTP или данные прямого подключения.
← На главную