В процессе работы с конфигурацией 1С:Зарплата и Управление Персоналом 3.1 пользователи и технические специалисты часто сталкиваются с ситуацией, когда одни документы Прием на работу формируют записи в регистре сведений Реестр кадровых приказов, а другие — нет. При этом документы могут выглядеть идентично, быть проведены и относиться к разным периодам. Разберем подробно, почему это происходит, как работает механизм регистрации приказов и что изменилось в логике программы в последние годы.
Для начала проанализируем, для чего вообще нужен этот регистр. В системе 1С:ЗУП 3.1 Реестр кадровых приказов является вспомогательным (индексирующим) объектом. Он не предназначен для расчета зарплаты или учета стажа напрямую. Его основная задача — оптимизация построения списков документов в журналах и ускорение формирования некоторых отчетов. Записи в нем позволяют системе быстро «собирать» данные о приказах (номер, дата, тип события, сотрудник) без необходимости обращения к тяжелым таблицам самих документов.
Выясним причину, по которой документы за 2018 год имеют движения, а за 2019 год и более поздние периоды — нет. Рассмотрим ситуацию с точки зрения развития конфигурации. Примерно в 2019 году состоялся массовый переход с ветки 3.1.8 на 3.1.10 и выше. Именно в этот период 1С кардинально пересмотрела архитектуру хранения данных в связи с внедрением электронных трудовых книжек (СЗВ-ТД/ЕФС-1).
Многие функции, которые ранее возлагались на Реестр кадровых приказов, перешли к регистру Данные о мероприятиях трудовой деятельности. В коде общих модулей появились условия, ограничивающие запись в старый реестр. Проанализируем пример логики, которая может встречаться в модуле менеджера или общем модуле УчетКадров:
Если ДатаДокумента < ДатаНачалаИспользованияНовогоМеханизма Тогда
// Записываем данные в Реестр кадровых приказов для совместимости со старыми отчетами
СформироватьДвиженияРеестра(Отказ, Движения, Свойства);
КонецЕсли;
Таким образом, отсутствие движений в новых документах часто не является ошибкой — это штатное поведение системы, при котором данные сохраняются в более современные структуры данных.
Рассмотрим еще одну вероятную причину — настройки кадрового учета. Заполнение этого регистра тесно связано с функциональными опциями. Разберем по шагам, на что стоит обратить внимание:
Если нам необходимо точно выяснить, почему конкретный документ «пролетает» мимо регистра, воспользуемся отладчиком. Проанализируем модуль объекта документа Прием на работу. Нас интересует процедура ОбработкаПроведения.
Как правило, запись в кадровые реестры происходит не напрямую в модуле документа, а через вызов функций общего модуля УчетКадров или УчетКадровСобытия. Посмотрим на примерную структуру вызова:
// В модуле документа
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
...
// Подготовка таблиц для регистрации приказов
ПараметрыРегистрации = УчетКадров.ПодготовитьПараметрыРегистрацииВРеестре(ЭтотОбъект);
УчетКадров.ЗаписатьРеестрКадровыхПриказов(ПараметрыРегистрации);
...
КонецПроцедуры
При отладке следует зайти внутрь метода ЗаписатьРеестрКадровыхПриказов. Там часто скрыты условия, проверяющие тип документа, наличие номера и даты печати. Например, если в документе не заполнен реквизит ДатаПечати (или аналогичный), система может посчитать приказ «черновиком» и не включать его в реестр официальных приказов.
Разберем ситуацию, когда движения отсутствуют только у определенных сотрудников. В 1С:ЗУП 3.1 существует разница в обработке основных сотрудников и совместителей. Для внутренних совместителей в некоторых релизах применялась упрощенная схема регистрации событий. Если ваш документ — это прием по внутреннему совместительству, проверьте, отражается ли он в общем журнале кадровых документов. Если в журнале он виден, значит, система использует другие механизмы для его отображения, минуя Реестр кадровых приказов.
Если вы обнаружили, что старые документы имеют движения, а новые — нет, и это мешает работе кастомных (самописных) отчетов, можно попробовать выполнить обновление вспомогательных данных. Рассмотрим доступные способы:
Обновление вспомогательных данных. Их можно запустить принудительно через консоль заданий.Подведем итог: если в вашей базе 1С:ЗУП 3.1 документы с 2019 года перестали делать записи в Реестр кадровых приказов, это, скорее всего, связано с изменением логики самой платформы и переходом на новые регистры учета трудовой деятельности. Это не является критической ошибкой, если отчетность (СЗВ-ТД, ЕФС-1) и расчетные листки формируются корректно. Для нужд собственной отчетности рекомендуется переходить на использование данных из регистра Мероприятия трудовой деятельности или Основные данные контракта сотрудника.