К статье
Практический материал

Другое · 11 мин

Как в 1С сформировать отчет по дням рождения сотрудников

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

Информация о датах рождения сотрудников хранится в 1С в справочнике «Физические лица», а не в кадровых документах. Поэтому отчет по дням рождения строится не по приказам о приеме, а по личным данным физлиц с привязкой к действующим сотрудникам организации. Это важно понимать: если искать данные в разделе кадровых документов, нужного отчета там не окажется.

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

Ниже разобраны три рабочих подхода: типовой кадровый отчет в ЗУП, универсальный отчет по справочнику «Физические лица» и собственный вариант отчета с фильтром по месяцу. Отдельно описаны проверка результата, типовые ошибки и ограничения, связанные с правами доступа к персональным данным.

Где хранятся даты рождения и почему это важно

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

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

Доступ к датам рождения регулируется правами. Пользователю без профиля, дающего доступ к персональным данным, поле «Дата рождения» в отчете будет пустым или отчет не сформируется вовсе. Это нормальное поведение системы разграничения доступа, а не ошибка настройки.

Способ 1: типовой кадровый отчет в 1С:ЗУП

В конфигурации «Зарплата и управление персоналом» откройте раздел «Кадры» → «Кадровые отчеты». Подойдет отчет «Сотрудники» (в некоторых релизах — «Список сотрудников» или «Личные данные сотрудников»). Откройте его, нажмите «Настройки» и перейдите на вкладку «Поля» (или «Структура»): добавьте в список выводимых полей «Дата рождения», если его нет.

Затем на вкладке «Отбор» добавьте условие по полю «Дата рождения». Чтобы получить именинников конкретного месяца, используйте вид сравнения «В списке» с ручным перечнем дат не получится — вместо этого удобнее отбор «Месяц» или условие «Содержит» по строковому представлению, если конфигурация это поддерживает. Более надежный вариант — отбор по вычисляемому полю месяца, о нем ниже в разделе про универсальный отчет.

Для списка «кто родился в ближайшие N дней» задайте отбор «Дата рождения» → «Больше или равно» / «Меньше или равно» с конкретными датами текущего года. Учтите, что дата рождения хранится с годом рождения, поэтому простой диапазон «с 1 по 31 марта» без учета года не сработает — нужен отбор по месяцу и дню, а не по полной дате.

Порядок действий в ЗУП
  1. 1
    Откройте «Кадры» → «Кадровые отчеты» → «Сотрудники»
  2. 2
    Нажмите «Настройки» и добавьте поле «Дата рождения» в список выводимых полей
  3. 3
    На вкладке «Отбор» задайте условие по месяцу рождения
  4. 4
    Сформируйте отчет и проверьте, что в список попали все ожидаемые сотрудники
  5. 5
    Сохраните настройку как отдельный вариант отчета кнопкой «Сохранить вариант»

Способ 2: универсальный отчет по справочнику «Физические лица»

Универсальный отчет есть в большинстве типовых конфигураций: «Отчеты» → «Универсальный отчет» (в УНФ — «Отчеты» → «Универсальный отчет», в БП — раздел «Руководителю» или «Отчеты»). В качестве источника выберите справочник «Физические лица», укажите период «Не задан», добавьте в поля «Наименование» и «Дата рождения».

Чтобы отобрать именинников месяца, в расширенных настройках отбора добавьте поле «Дата рождения» с видом сравнения, позволяющим сравнить месяц. Если такого вида сравнения нет, практичный обходной путь — вывести всех физлиц с датами рождения, отсортировать по дате и выгрузить в табличный документ, где отфильтровать месяц вручную или в Excel.

Ограничение способа: универсальный отчет по справочнику «Физические лица» покажет всех людей в базе, включая уволенных и контрагентов-физлиц. Чтобы оставить только действующих сотрудников, добавьте связь с данными о сотрудниках или используйте отбор по признаку, доступному в вашей конфигурации (например, в ЗУП удобнее строить отчет по сотрудникам с группировкой по физлицу).

Сравнение вариантов

Типовой кадровый отчет

Подходит для ЗУП и КА: сразу видны только сотрудники, есть подразделения и должности. Ограничение — отбор по месяцу рождения требует настройки.

Универсальный отчет

Работает в любой конфигурации без доработок. Ограничение — выводит всех физлиц, включая уволенных, нужен дополнительный отбор.

Свой отчет на СКД

Дает точный фильтр по дню и месяцу рождения и напоминания. Ограничение — требует навыков конструктора СКД или помощи разработчика.

Способ 3: отбор по месяцу и дню рождения через СКД

Точная задача «показать, у кого день рождения на этой неделе» решается вычисляемым полем. В схеме компоновки данных (или в пользовательских полях отчета, если конфигурация их поддерживает) создается выражение вида МЕСЯЦ(ФизическиеЛица.ДатаРождения) и ДЕНЬ(ФизическиеЛица.ДатаРождения), после чего отбор ставится уже по этим числовым полям: месяц равен текущему, день — в нужном диапазоне.

В отчетах на СКД пользовательские поля добавляются через «Настройки» → «Дополнительные поля» или «Пользовательские поля» (в ряде конфигураций доступно только администратору). Если кнопка добавления пользовательского поля недоступна, потребуется доработка отчета в конфигураторе: в наборе данных запроса добавить вычисляемые колонки месяца и дня.

bsl
ВЫБРАТЬ
	ФизическиеЛица.Наименование КАК Сотрудник,
	ФизическиеЛица.ДатаРождения КАК ДатаРождения,
	МЕСЯЦ(ФизическиеЛица.ДатаРождения) КАК МесяцРождения,
	ДЕНЬ(ФизическиеЛица.ДатаРождения) КАК ДеньРождения
ИЗ
	Справочник.ФизическиеЛица КАК ФизическиеЛица
ГДЕ
	МЕСЯЦ(ФизическиеЛица.ДатаРождения) = &Месяц

После доработки такой отчет сохраняется как внешний или дополнительный отчет и подключается через «Администрирование» → «Дополнительные отчеты и обработки». Это безопасный путь: типовая конфигурация не изменяется, обновления не затрагиваются.

Сохранение настройки и регулярное использование

Однажды настроенный отчет не нужно настраивать заново каждый месяц. Нажмите «Сохранить вариант» (или «Ещё» → «Сохранить вариант отчета») и назовите его, например, «Дни рождения — текущий месяц». Вариант появится в списке отчетов раздела и будет доступен всем пользователям, если при сохранении отметить «Доступен всем» (требуются соответствующие права).

В конфигурациях с рассылкой отчетов (ЗУП, КА, ERP) вариант можно поставить на автоматическую отправку: «Администрирование» → «Рассылка отчетов». Настройте расписание — например, первого числа каждого месяца ответственный сотрудник получит список именинников на почту в формате Excel или PDF.

Удобно хранить два сохраненных варианта: «Именинники месяца» для планирования поздравлений и «Именинники недели» с детализацией по дням. Переключение между ними занимает секунды и не требует повторной настройки отборов.
ПЗ
Практическое замечание

Проверка результата и типичные ошибки

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

Проверьте дубли: если один человек выведен дважды, отчет построен по сотрудникам, а не по физлицам. Либо сгруппируйте строки по физическому лицу, либо добавьте отбор «Только основное место работы», если такой признак доступен в полях отчета.

Типичные ошибки
01
Отбор по полной дате рождения с диапазоном текущего года — в результате список пуст, потому что год рождения не совпадает с текущим
02
Построение отчета по сотрудникам без свертки — совместители дублируются в списке
03
Незаполненная дата рождения в карточке физлица — человек не попадает в отчет, и это выглядит как сбой
04
Попытка сформировать отчет без прав на персональные данные — поле даты рождения пустое или отчет недоступен
05
Выгрузка списка с датами рождения в общий доступ — нарушение режима персональных данных
Контрольные точки

Как проверить результат

Количество строк в отчете
Норма

Совпадает с числом сотрудников, у кого день рождения в выбранном месяце

Тревожный признак

В списке меньше людей, чем ожидалось — проверьте заполненность дат рождения

Дубли фамилий
Норма

Каждый человек встречается один раз

Тревожный признак

Одна фамилия повторяется — отчет построен по сотрудникам, нужна группировка по физлицу

Поле «Дата рождения»
Норма

У всех строк дата заполнена

Тревожный признак

Пустые ячейки — нет прав на персональные данные или дата не введена в карточке

Ограничения и когда нужна доработка

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

Доработку поручайте специалисту по 1С и делайте через механизм расширений или дополнительных отчетов — не через изменение типовой конфигурации. Иначе при обновлении изменения могут быть потеряны, а конфигурация рискует сняться с полной поддержки.

Итог

Что важно запомнить

Даты рождения хранятся в справочнике «Физические лица». Используйте типовой кадровый отчет с добавленным полем «Дата рождения» или универсальный отчет, настройте отбор по месяцу и дню, сохраните вариант и следите за дублями совместителей и правами на персональные данные.

Частые вопросы

Почему отчет по дням рождения выходит пустым?

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

Как вывести только сотрудников, у кого день рождения на этой неделе?

Нужен отбор по дню и месяцу рождения отдельно от года. В типовом отчете это делается через пользовательские поля с функциями МЕСЯЦ() и ДЕНЬ(), либо через доработанный отчет на СКД, где эти поля вычисляются в запросе.

Почему один человек отображается в списке дважды?

Отчет построен по таблице сотрудников, а у человека несколько записей — основное место работы и совместительство. Сгруппируйте строки по физическому лицу или добавьте отбор по основному месту работы.

Можно ли настроить автоматическую рассылку списка именинников?

Да, в конфигурациях с механизмом рассылки отчетов (ЗУП, КА, ERP). Сохраните настроенный вариант отчета и создайте рассылку в разделе «Администрирование» → «Рассылка отчетов» с нужным расписанием и получателями.

Почему у части сотрудников дата рождения в отчете пустая?

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

Нужно ли дорабатывать конфигурацию для такого отчета?

Для списка именинников за месяц доработка обычно не требуется — достаточно типового или универсального отчета. Доработка нужна только для автоматических напоминаний, виджетов и сложных отборов по дню и месяцу без ручной настройки.