Другое · 10 мин
Как в 1С сформировать список сотрудников с датой приема на работу
Пошаговая инструкция: как в 1С ЗУП и 1С Бухгалтерии сформировать список сотрудников с датой приема на работу через отчеты, СКД и универсальный отчет.
Задача получить список сотрудников с датами приема на работу возникает регулярно: для отчета в ПФР и статистику, для расчета выслуги лет, проверки испытательных сроков или подготовки кадровой сводки для руководства. В типовых конфигурациях 1С это делается без программирования — штатными отчетами, а при необходимости нестандартной выборки — универсальным отчетом или консолью запросов.
Конкретный путь зависит от конфигурации. В 1С:ЗУП 8.3 есть готовые кадровые отчеты, в 1С:Бухгалтерии 8.3 кадровый блок урезан, но базовые отчеты тоже доступны. Ниже разобраны оба варианта, а также способ получить произвольную выборку через механизм СКД.
Важный нюанс: дата приема хранится не в карточке физического лица, а в документе «Прием на работу» (или в регистре кадровой истории сотрудника). Поэтому отчет должен читать именно кадровые документы, а не справочник физлиц — иначе для совместителей и повторно принятых сотрудников данные будут неверными.
Где хранится дата приема и почему это важно
В типовых конфигурациях 1С на платформе 8.3 кадровое событие оформляется документом «Прием на работу». Документ создает запись в регистре сведений о кадровой истории сотрудника (в ЗУП это «Кадровая история сотрудников»), где фиксируются дата события, подразделение, должность и вид занятости. Именно оттуда отчеты берут дату приема.
Из этого следуют два практических вывода. Первый: если сотрудник был принят, уволен и принят повторно, у него несколько записей, и отчет покажет последнее или все события в зависимости от настроек. Второй: если прием оформлен не документом, а внесен вручную в карточку (что встречается при старте учета), штатный отчет может не увидеть дату — тогда нужна проверка начального заполнения.
Список через кадровые отчеты в 1С:ЗУП
В 1С:Зарплата и управление персоналом 8.3 откройте раздел «Кадры» → «Кадровые отчеты». Для задачи подходят отчеты «Списки сотрудников», «Штатная расстановка» и «Сотрудники, принятые на работу». Проще всего использовать «Списки сотрудников»: он выводит произвольный набор колонок по выбранным сотрудникам.
Откройте отчет, нажмите «Настройки» и перейдите на расширенный вариант настроек. На закладке «Поля» добавьте поле «Дата приема» (или «Текущие данные. Дата приема» в зависимости от релиза). На закладке «Отбор» при необходимости задайте условия: работающие на дату, конкретное подразделение, организация. Нажмите «Сформировать».
Результат можно вывести в табличный документ и сохранить в Excel через «Файл» → «Сохранить как». Это удобно, если список нужно передать руководству или сверить с другим источником данных.
- 1Откройте «Кадры» → «Кадровые отчеты» → «Списки сотрудников»
- 2В настройках добавьте поле «Дата приема» в список колонок
- 3Задайте отбор: организация, подразделение, признак работающих
- 4Сформируйте отчет и проверьте контрольные значения
- 5Сохраните результат в Excel при необходимости передачи
Список в 1С:Бухгалтерии 8.3
В 1С:Бухгалтерии кадровый функционал ограничен, но список с датами приема получить можно. Откройте «Зарплата и кадры» → «Кадровые документы» — это журнал документов «Прием на работу», «Кадровый перевод» и «Увольнение». Установите отбор по виду документа «Прием на работу»: в списке будут видны сотрудник, дата документа и дата приема.
Если нужен именно отчет с колонками, используйте «Отчеты» → «Универсальный отчет». В поле типа данных выберите «Документ», объект — «Прием на работу», затем добавьте в структуру поля «Сотрудник» и «Дата приема». Задайте период (или оставьте пустым для всей истории) и сформируйте.
Учтите ограничение: в базовых версиях Бухгалтерии кадровый учет ведется упрощенно, и для сложных выборок (совместители, переводы) универсальный отчет может потребовать ручной настройки группировок. Если данных много, удобнее выгрузить журнал документов в Excel и отфильтровать там.
Сравнение способов
Подходит для регулярной работы: гибкие отборы, сохранение вариантов. Ограничение — нужна конфигурация ЗУП.
Быстро и без настроек, но только базовые колонки и слабая фильтрация.
Произвольные поля и регистры, есть в большинстве конфигураций. Требует понимания структуры данных.
Максимальная гибкость для разработчика, но требует права настройки и знания языка запросов.
Произвольная выборка через универсальный отчет
Универсальный отчет — штатный механизм, доступный в большинстве типовых конфигураций («Отчеты» → «Универсальный отчет», иногда требуется включить в настройках интерфейса). Он позволяет построить выборку по любому регистру или документу без изменения конфигурации.
Для списка с датами приема выберите источник «Регистр сведений» → «Кадровая история сотрудников» (в ЗУП). В показатели добавьте поля: сотрудник, дата (период записи), подразделение, должность. Отфильтруйте по виду события «Прием», если регистр хранит и переводы. Сгруппируйте по сотруднику, чтобы каждый человек встречался один раз с нужной датой.
Сохраните настройку как вариант отчета — тогда в следующий раз список формируется в два клика. Это особенно полезно для регулярных задач вроде ежемесячной сверки вновь принятых сотрудников.
Выборка запросом для разработчика
Если нужна нестандартная логика — например, только сотрудники, принятые после определенной даты, с учетом повторных приемов, — удобнее написать запрос. Ниже пример для ЗУП, который выбирает последние приемы сотрудников.
// Пример запроса для консоли запросов (1С:ЗУП 8.3)
ВЫБРАТЬ
КадроваяИстория.Сотрудник КАК Сотрудник,
МАКСИМУМ(КадроваяИстория.Период) КАК ДатаПриема
ИЗ
РегистрСведений.КадроваяИсторияСотрудников КАК КадроваяИстория
ГДЕ
КадроваяИстория.ВидСобытия = ЗНАЧЕНИЕ(Перечисление.ВидыКадровыхСобытий.Прием)
СГРУППИРОВАТЬ ПО
КадроваяИстория.Сотрудник
УПОРЯДОЧИТЬ ПО
ДатаПриема
Имена регистров и перечислений могут отличаться между релизами и конфигурациями — сверяйте структуру метаданных в конфигураторе перед запуском. Запрос выполняйте в консоли запросов в режиме предприятия на копии базы, если не уверены в результате.
Запрос = Новый Запрос("ВЫБРАТЬ Сотрудник, МАКСИМУМ(Период) КАК ДатаПриема ИЗ РегистрСведений.КадроваяИсторияСотрудников ГДЕ ВидСобытия = ЗНАЧЕНИЕ(Перечисление.ВидыКадровыхСобытий.Прием) СГРУППИРОВАТЬ ПО Сотрудник"); Результат = Запрос.Выполнить().Выгрузить();Проверка результата и типичные ошибки
После формирования списка сверьте его с контрольными данными: количество работающих сотрудников должно совпадать со списочным составом, а суммарное число строк — с количеством документов приема за период (если выводится вся история). Несовпадение почти всегда указывает на проблему в данных, а не в отчете.
Самые частые причины расхождений: сотрудник оформлен без документа приема (данные внесены в карточку напрямую), повторный прием не отражен, отбор отчета отсекает часть людей (например, внешних совместителей или работающих по ГПХ), либо в отчете стоит отбор «работающие на дату», из-за чего уволенные выпадают из списка.
Как проверить результат
Совпадает с количеством документов приема за выбранный период
Строк меньше — проверьте отборы и наличие документов приема
Равна дате в документе «Прием на работу»
Дата отличается или пустая — прием оформлен без документа
Отображается актуальная (последняя) дата приема
Показана старая дата — нужна группировка по максимуму периода
Если расхождение подтверждается, исправляйте данные, а не отчет: восстановите недостающие документы приема или проведите корректно оформленные кадровые документы. Редактировать регистр вручную стоит только при полном понимании последствий — это может нарушить связность кадрового и расчетного учета.
FAQ
Как вывести в список только работающих сотрудников?
В настройках кадрового отчета добавьте отбор по полю «Работает» или «Статус» со значением «Работает» (название зависит от релиза). В универсальном отчете отфильтруйте сотрудников, у которых нет последующего события «Увольнение», либо используйте регистр текущих кадровых данных, если он есть в конфигурации.
Почему у сотрудника пустая дата приема в отчете?
Чаще всего прием не оформлен документом «Прием на работу» — данные внесли прямо в карточку при начальном заполнении базы. Откройте карточку сотрудника и проверьте наличие связанного документа приема. Если его нет, создайте документ задним числом с корректной датой.
Как учесть повторный прием после увольнения?
Группируйте выборку по сотруднику с функцией МАКСИМУМ по дате события — тогда отобразится последний прием. Если нужны все периоды работы, не группируйте и выводите каждую пару «прием–увольнение» отдельной строкой.
Можно ли выгрузить список в Excel?
Да. Сформируйте отчет, затем используйте «Файл» → «Сохранить как» и выберите формат листа Excel. В журнале документов доступна команда «Вывести список», которая выгружает видимые колонки в табличный документ.
Нужны ли специальные права для кадровых отчетов?
Да, пользователю нужны права на чтение кадровых документов и регистров. Обычно это роль кадровика или расчетчика. Универсальный отчет и консоль запросов дополнительно требуют прав администратора или разработчика — уточните настройку ролей у администратора системы.
Что важно запомнить
Дата приема хранится в кадровых документах и регистре кадровой истории, а не в карточке физлица. Для списка используйте кадровые отчеты ЗУП, журнал кадровых документов в Бухгалтерии или универсальный отчет. Результат сверяйте с количеством документов приема, а расхождения исправляйте в данных, предварительно сделав резервную копию.