Почему в РИБ по организации в 1С:Бухгалтерия 3.0 не выгружаются кадровые документы и как это исправить

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

При создании распределенной информационной базы (РИБ) с фильтрацией по конкретной организации в конфигурации «1С:Бухгалтерия предприятия 3.0» специалисты часто сталкиваются с неприятной ситуацией: после создания начального образа и успешной синхронизации в подчиненном узле отсутствуют кадровые документы — Прием на работу, Кадровый перевод и Увольнение. При этом финансовые документы и справочники могут перенестись корректно. Разберем подробно, почему так происходит и как добиться полной миграции данных.

Проанализируем состав плана обмена

Первым делом нам необходимо убедиться, что кадровые документы в принципе включены в состав того плана обмена, который используется для создания РИБ. В типовой «Бухгалтерии предприятия 3.0» для этих целей обычно используется план обмена ПоОрганизации. Рассмотрим пошагово, как проверить состав:

  1. Откроем конфигуратор и найдем дерево объектов метаданных.
  2. Перейдем в ветку Общие -> Планы обмена.
  3. Найдем план обмена ПоОрганизации, откроем его свойства и перейдем на вкладку «Состав».
  4. Проверим наличие галочек напротив документов ПриемНаРаботу, КадровыйПеревод и Увольнение.

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

Проверим настройки учета зарплаты и кадров

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

Перейдем в раздел «Зарплата и кадры» -> «Настройки зарплаты». Здесь критически важно, чтобы переключатель стоял в положении «В этой программе». Если при создании начального образа эта настройка не перенеслась или инициализировалась неверно, система может игнорировать кадровые документы при приеме сообщения обмена, считая их лишними для данного контура учета.

Механизм регистрации изменений: почему начальный образ бывает пустым

Создание начального образа (Initial Image) — это процесс, при котором система должна автоматически зарегистрировать объекты для выгрузки. Однако механизм фильтрации «По организации» в БП 3.0 работает через сложные правила в общих модулях. Иногда процедура ПриОпределенииДанныхДляВыгрузки отрабатывает некорректно для объектов, имеющих специфическую связь с организацией.

Рассмотрим ситуацию: сотрудники выгрузились, но без привязки к организации. В 1С:Бухгалтерии справочник Сотрудники является подчиненным справочнику Организации. Если при миграции произошел сбой в определении владельца, связанные с сотрудниками документы (приказы) также не будут зарегистрированы, так как система не может подтвердить их принадлежность к узлу-получателю.

Решение проблемы через принудительную регистрацию изменений

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

  1. В главном узле перейдем в раздел «Администрирование» -> «Синхронизация данных».
  2. Откроем окно «Состав отправляемых данных» (через кнопку с иконкой регистрации рядом с нужной настройкой обмена).
  3. В открывшемся дереве объектов найдем нужные типы документов (Приемы, Переводы, Увольнения).
  4. Нажмем «Зарегистрировать все объекты выбранных типов».
  5. Выполним синхронизацию данных.

Если нам необходимо сделать это программно (например, если объектов слишком много или нужно наложить дополнительный фильтр), воспользуемся следующим кодом:


// Пример программной регистрации кадровых документов для узла РИБ
Процедура ЗарегистрироватьКадрыДляУзла(ВыбранныйУзел) Экспорт
    
    МассивТипов = Новый Массив;
    МассивТипов.Добавить(Метаданные.Документы.ПриемНаРаботу);
    МассивТипов.Добавить(Метаданные.Документы.КадровыйПеревод);
    МассивТипов.Добавить(Метаданные.Документы.Увольнение);
    
    Для Каждого ТипОбъекта Из МассивТипов Цикл
        Запрос = Новый Запрос;
        Запрос.Текст = "ВЫБРАТЬ Ссылка ИЗ Документ." + ТипОбъекта.Имя + " ГДЕ Организация = &Организация";
        Запрос.УстановитьПараметр("Организация", ВыбранныйУзел.Организация);
        
        Выборка = Запрос.Выполнить().Выбрать();
        Пока Выборка.Следующий() Цикл
            ПланыОбмена.ЗарегистрироватьИзменения(ВыбранныйУзел, Выборка.Ссылка);
        КонецЦикла;
    КонецЦикла;
    
КонецПроцедуры

Проанализируем связь справочников Сотрудники и Физические лица

Важно понимать разницу в миграции этих объектов. Справочник Физические лица обычно является общим для всех узлов, в то время как Сотрудники фильтруются по организации. Если кадровый документ ссылается на сотрудника, который не был зарегистрирован для выгрузки в данный узел, то и сам документ не «уедет».

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

Ошибки релизов и их исправление

В некоторых релизах «Бухгалтерии предприятия 3.0» (выпущенных в период 2023–2024 гг.) наблюдалась программная ошибка в общем модуле, отвечающем за миграцию данных по организации. Суть ошибки заключалась в том, что для кадровых документов не вызывалась проверка принадлежности. Выясним, как это проверить:

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

Алгоритм «лечения» базы после отвязки от главного узла

Если вы уже «отвязали» подчиненную базу от главного узла (сняли признак РИБ), а данных там нет, автоматическая синхронизация больше не поможет. Рассмотрим правильный порядок действий для восстановления данных:

  1. Временно верните базе статус подчиненного узла РИБ. Это можно сделать программно, установив код узла и главного узла в плане обмена.
  2. В главном узле выполните ручную регистрацию всех недостающих кадровых документов.
  3. Проведите сеанс обмена и убедитесь, что документы появились в подчиненной базе и корректно проводятся.
  4. Проверьте регистры сведений, такие как Кадровая история сотрудников — данные в них должны соответствовать документам.
  5. Только после полной сверки данных можно окончательно снимать признак РИБ (если это действительно необходимо для архитектуры вашего решения).

Помните: РИБ по организации — это «жесткий» механизм. Если документ не попал в состав при первом обмене, он не появится сам по себе позже, если в нем не будет изменений. Поэтому принудительная регистрация — ваш главный инструмент в решении данной проблемы.

← На главную