Почему документ «Прием на работу» не всегда делает движения в регистре «Реестр кадровых приказов»?

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

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

Назначение регистра «Реестр кадровых приказов»

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

Влияние версии программы и периода регистрации

Выясним причину, по которой документы за 2018 год имеют движения, а за 2019 год и более поздние периоды — нет. Рассмотрим ситуацию с точки зрения развития конфигурации. Примерно в 2019 году состоялся массовый переход с ветки 3.1.8 на 3.1.10 и выше. Именно в этот период 1С кардинально пересмотрела архитектуру хранения данных в связи с внедрением электронных трудовых книжек (СЗВ-ТД/ЕФС-1).

Многие функции, которые ранее возлагались на Реестр кадровых приказов, перешли к регистру Данные о мероприятиях трудовой деятельности. В коде общих модулей появились условия, ограничивающие запись в старый реестр. Проанализируем пример логики, которая может встречаться в модуле менеджера или общем модуле УчетКадров:


Если ДатаДокумента < ДатаНачалаИспользованияНовогоМеханизма Тогда
    // Записываем данные в Реестр кадровых приказов для совместимости со старыми отчетами
    СформироватьДвиженияРеестра(Отказ, Движения, Свойства);
КонецЕсли;

Таким образом, отсутствие движений в новых документах часто не является ошибкой — это штатное поведение системы, при котором данные сохраняются в более современные структуры данных.

Проверка функциональных опций и настроек

Рассмотрим еще одну вероятную причину — настройки кадрового учета. Заполнение этого регистра тесно связано с функциональными опциями. Разберем по шагам, на что стоит обратить внимание:

  1. Проверим, включена ли опция «Использовать работу с кадрами». Если учет ведется в упрощенном режиме (только расчет зарплаты), многие кадровые регистры могут игнорироваться.
  2. Проанализируем использование Кадрового электронного документооборота (КЭДО). В некоторых релизах движения в реестр инициируются именно при использовании механизмов подписания документов.
  3. Посмотрим на настройку «Проверка соответствия документов штатному расписанию». Иногда логика проведения документа меняется в зависимости от строгости контроля штатки.

Технический анализ через отладку

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

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


// В модуле документа
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
    ...
    // Подготовка таблиц для регистрации приказов
    ПараметрыРегистрации = УчетКадров.ПодготовитьПараметрыРегистрацииВРеестре(ЭтотОбъект);
    УчетКадров.ЗаписатьРеестрКадровыхПриказов(ПараметрыРегистрации);
    ...
КонецПроцедуры

При отладке следует зайти внутрь метода ЗаписатьРеестрКадровыхПриказов. Там часто скрыты условия, проверяющие тип документа, наличие номера и даты печати. Например, если в документе не заполнен реквизит ДатаПечати (или аналогичный), система может посчитать приказ «черновиком» и не включать его в реестр официальных приказов.

Особенности регистрации «внутреннего совместительства»

Разберем ситуацию, когда движения отсутствуют только у определенных сотрудников. В 1С:ЗУП 3.1 существует разница в обработке основных сотрудников и совместителей. Для внутренних совместителей в некоторых релизах применялась упрощенная схема регистрации событий. Если ваш документ — это прием по внутреннему совместительству, проверьте, отражается ли он в общем журнале кадровых документов. Если в журнале он виден, значит, система использует другие механизмы для его отображения, минуя Реестр кадровых приказов.

Как обновить данные в регистре

Если вы обнаружили, что старые документы имеют движения, а новые — нет, и это мешает работе кастомных (самописных) отчетов, можно попробовать выполнить обновление вспомогательных данных. Рассмотрим доступные способы:

Подведем итог: если в вашей базе 1С:ЗУП 3.1 документы с 2019 года перестали делать записи в Реестр кадровых приказов, это, скорее всего, связано с изменением логики самой платформы и переходом на новые регистры учета трудовой деятельности. Это не является критической ошибкой, если отчетность (СЗВ-ТД, ЕФС-1) и расчетные листки формируются корректно. Для нужд собственной отчетности рекомендуется переходить на использование данных из регистра Мероприятия трудовой деятельности или Основные данные контракта сотрудника.

← На главную