Как исправить ошибки синхронизации ЗУП 3.1 и Бухгалтерии при несоответствии типов метаданных и полей резервов?

Программист 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом Бухгалтерский учет
← На главную

Синхронизация данных между 1С:Зарплата и Управление Персоналом 3.1 и 1С:Бухгалтерия Предприятия 3.0 (КОРП) — это сложный процесс, который часто опирается на правила обмена, созданные в конфигурации "Конвертация данных 2.1". В процессе регулярного обновления программ структуры метаданных меняются. Если в вашей базе используются "допиленные" (нетиповые) правила обмена, они перестают автоматически обновляться вместе с конфигурацией, что приводит к критическим ошибкам. Рассмотрим, как провести анализ конфигураций и поиск ошибок в модулях, чтобы устранить такие проблемы самостоятельно.

Разбор первой ошибки: Тип не определен (ПеречислениеСсылка.ПолФизическихЛиц)

Проанализируем ситуацию: при попытке синхронизации система выдает сообщение Тип не определен (ПеречислениеСсылка.ПолФизическихЛиц). Это классическая проблема, связанная с развитием Библиотеки Стандартных Подсистем (БСП). В старых версиях конфигураций 1С соответствующее перечисление имело имя в множественном числе — ПолФизическихЛиц. В актуальных релизах разработчики привели имя к единственному числу — ПолФизическогоЛица.

Выясним причину: встроенные механизмы обмена знают об этом изменении, но если в вашей базе загружены внешние правила (из XML-файла), в них жестко прописано старое имя. При инициализации обмена через COM-соединение движок пытается найти объект с именем ПолФизическихЛиц в дереве метаданных текущей базы, не находит его и прерывает процесс. В случаях, когда штатный обмен не удается восстановить оперативно, можно использовать альтернативные способы, такие как выгрузка данных физических лиц из ЗУП для создания аналогичных записей в Бухгалтерии.

Разбор второй ошибки: Поле объекта не обнаружено (НормативОтчисленийВРезерв)

Вторая ошибка — Поле объекта не обнаружено (НормативОтчисленийВРезерв) в справочнике Настройки расчета резервов по оплате труда — связана с масштабным изменением законодательства и методик учета резервов (переход на метод обязательств или МВА). В новых версиях ЗУП 3.1 структура хранения настроек резервов была полностью пересмотрена. Реквизиты, которые раньше находились в "шапке" справочника (как простое числовое поле), могли быть удалены или перенесены в табличные части.

Рассмотрим, как это исправить. Простое переименование в XML-файле здесь может не помочь, так как может потребоваться изменение самой логики получения данных. Если же данные необходимо перенести срочно, можно воспользоваться загрузкой остатков резервов по отпускам из файла Excel непосредственно в документ корректировки. Однако для долгосрочного решения нужно найти, где в правилах ПКО (Правила Конвертации Объектов) или ПКС (Правила Конвертации Свойств) упоминается данное поле.

Шаг 1. Проверка используемых правил обмена

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

  1. Перейдем в раздел Администрирование — Синхронизация данных.
  2. Откроем Настройки синхронизации данных.
  3. Выберем нужную настройку и нажмем Параметры синхронизации данных — Настройка правил обмена.
  4. Посмотрим на переключатель: если выбрано "Использовать типовые правила", то проблема может быть в недообновленной конфигурации. При этом убедитесь, что регистрация объектов для обмена по организации настроена корректно. Если выбрано "Загрузить из файла на компьютере", значит, у вас используются кастомные правила, которые требуют ручной правки.

Если специфика вашего учета позволяет, попробуем переключиться на Типовые правила. Если после этого синхронизация проходит успешно, значит, кастомные правила устарели.

Шаг 2. Редактирование XML-файлов правил

Если отказаться от кастомных правил нельзя, проанализируем и исправим их. Для этого нам понадобятся файлы ExchangeRules.xml (правила источника) и CorrespondentExchangeRules.xml (правила получателя). Рассмотрим процесс правки:

Откроем файлы в текстовом редакторе (лучше использовать Notepad++ с плагином Compare для сравнения версий). Выполним поиск по строке ПолФизическихЛиц и заменим её на ПолФизическогоЛица. Обратите внимание, что замену нужно производить осторожно, проверяя контекст (это должно быть имя типа или ссылка).

Пример фрагмента в правилах:


<!-- Было -->
<Свойство Имя="Пол" Тип="ПеречислениеСсылка.ПолФизическихЛиц"/>

<!-- Стало -->
<Свойство Имя="Пол" Тип="ПеречислениеСсылка.ПолФизическогоЛица"/>

Что касается ошибки с НормативОтчисленийВРезерв, если вы видите, что данное свойство больше не существует в конфигурации, его можно временно отключить в правилах, удалив или закомментировав соответствующий узел <Свойство> в блоке <ПравилаКонвертацииСвойств> для справочника НастройкиРасчетаРезервовПоОплатеТруда.

Шаг 3. Загрузка исправленных правил и очистка кеша

После внесения правок в XML-файлы, их необходимо загрузить обратно в обе базы (и в ЗУП, и в Бухгалтерию, так как при COM-соединении используются оба комплекта). Рассмотрим важный нюанс: 1С часто кеширует правила обмена.

Чтобы изменения вступили в силу, проанализируем следующие действия:

Использование конфигурации "Конвертация данных 2.1"

Для более глубокого решения проблемы разберем работу с инструментом Конвертация данных 2.1. Это правильный путь, если ручная правка XML кажется слишком рискованной. Рассмотрим алгоритм:

  1. Выгрузим описание метаданных из актуальных баз ЗУП и Бухгалтерии с помощью обработки MD83Exp.epf.
  2. Загрузим полученные файлы описания в конфигурацию Конвертация данных.
  3. Загрузим туда же ваши текущие XML-правила обмена.
  4. Выполним проверку правил. Система сама подсветит объекты и свойства, которые не найдены в новых метаданных.
  5. Исправим сопоставление для ПолФизическогоЛица и разберемся с реквизитами резервов.
  6. Сохраним новые правила и загрузим их в настройки синхронизации.

Важный совет: Помните, что современные версии 1С постепенно переходят на формат EnterpriseData (Конвертация данных 3.0). Если ваши конфигурации обновлены, рассмотрите возможность создания новой синхронизации "через универсальный формат", что избавит вас от проблем с метаданными. А для оперативной проверки результатов обмена можно использовать простую сверку документов между конфигурациями через http-сервис, что гарантирует идентичность данных в обеих базах.

← На главную