Управлять корпоративной культурой и соблюдать законодательные нормы без актуальных данных о персонале практически невозможно. Администраторы и кадровики часто сталкиваются с необходимостью оперативно получить перечень именинников для подготовки поздравлений, выдачи премий или просто ведения статистики. В стандартном интерфейсе программы 1С:Зарплата и управление персоналом или 1С:Кадры эта информация разбросана по карточкам сотрудников, что делает ручной сбор данных неэффективным и трудоемким процессом.
Существует несколько способов решения этой задачи: от использования встроенных отчетов до написания собственных обработок. Выбор конкретного метода зависит от версии конфигурации, прав доступа пользователя и требуемой детализации данных. Например, для разового поздравления достаточно стандартного отчета, а для интеграции с CRM или рассылки писем может потребоваться выгрузка в Excel или формирование специфической печатной формы.
В этой статье мы разберем все доступные методы получения списка дат рождения. Мы рассмотрим настройку стандартных отчетов, работу с консолью запросов для опытных пользователей и нюансы доработки печатных форм. Вы научитесь фильтровать данные по месяцам и кварталам, исключая уволенных сотрудников, и поймете, как автоматизировать этот процесс в вашей учетной системе.
Стандартные отчеты и списки сотрудников
Самый простой способ получить нужные данные — воспользоваться встроенными механизмами отчетов, которые не требуют знаний программирования. В большинстве современных конфигураций 1С, таких как ЗУП 3.1, существует универсальный отчет или специализированные списки, где можно настроить необходимые поля вывода. Вам необходимо перейти в раздел Кадры и выбрать пункт Сотрудники.
В открывшемся списке по умолчанию могут отображаться только ФИО и подразделение. Чтобы увидеть даты рождения, нужно изменить настройки списка. Нажмите на кнопку настроек (обычно это шестеренка или ссылка Еще → Изменить форму). В появившемся окне найдите поле Дата рождения и установите флажок напротив него. После подтверждения изменений колонка с датами появится в общем списке.
Однако просто вывести колонку недостаточно, если сотрудников сотни. Для получения именно списка именинников необходимо применить отбор. В верхней части списка найдите панель фильтров. Добавьте условие отбора по полю Дата рождения. Здесь важно правильно выбрать период, чтобы не выгрузить базу данных целиком.
- 📅 Выберите тип сравнения "В интервале" для получения именинников за конкретный месяц.
- 👥 Используйте отбор по признаку "Принят" и "Уволен", чтобы исключить бывших работников.
- 📂 Сгруппируйте данные по подразделениям для удобства рассылки поздравлений по отделам.
⚠️ Внимание: Стандартный список сотрудников может не сохранять сложные настройки отбора по динамическим датам (например, "день рождения в текущем месяце") при перезапуске программы. Для регулярного использования лучше сохранить вариант отчета.
После настройки полей и отборов вы можете выгрузить полученный список в табличный документ или Excel. Для этого используйте кнопку Вывести список или значок экспорта. Это позволит передать данные руководителю или в отдел маркетинга для дальнейшей работы без необходимости предоставлять доступ к самой базе 1С.
Использование отчета "Список сотрудников"
В конфигурациях на базе платформы 8.3 часто используется специализированный отчет, который называется просто Список сотрудников. Он обладает более гибкими настройками по сравнению с обычным журналом документов. Отчет находится в разделе Отчеты или в подменю раздела Кадры.
При открытии отчета перед вами появится форма с широкими возможностями настройки. Вкладка Настройки позволяет выбрать, какие именно поля попадут в итоговую таблицу. Обязательно включите отображение Физического лица и Даты рождения. Также полезно добавить поля "Должность" и "Подразделение", чтобы контекст поздравления был полным.
Особое внимание стоит уделить настройке периодов. В отличие от простого списка, отчет позволяет использовать динамические периоды. Вы можете установить период "Этот месяц" или "Следующий месяц", и система автоматически подставит актуальные даты. Это избавляет от необходимости каждый раз менять цифры в календаре.
Если вам нужно поздравить сотрудников с юбилеем, стандартными средствами это сделать сложнее. Потребуется отбирать сотрудников по году рождения. В настройках отчета добавьте отбор по полю Год рождения и укажите нужные значения через запятую или диапазоны. Это поможет выделить тех, кому исполняется 50, 60 или более лет.
Отбор именинников по месяцам и кварталам
Часто кадровая служба планирует мероприятия поквартально. В 1С реализована возможность отбора не только по конкретным дням, но и по временным интервалам, привязанным к календарю. Для этого в форме отчета или списка используется группа отборов "Периодические данные".
Чтобы вывести список на квартал, установите период отчета с 1 января по 31 марта (или любой другой квартал). Однако здесь есть нюанс: если просто задать период, система может показать тех, кто родился в эти даты в любом году, но отработал в компании только в выбранном периоде отчетности. Чтобы избежать путаницы, используйте отбор именно по атрибуту Дата рождения.
Алгоритм действий для квартального отчета выглядит так: выберите поле Дата рождения, установите вид сравнения В интервале. В качестве начальной даты укажите, например, 01.04.1900, а в качестве конечной — 30.06.1900. Год здесь не важен, так как 1С при сравнении дат часто игнорирует год, если явно не указано иное, либо можно использовать специальные функции в расширенном отборе.
☑️ Проверка списка перед рассылкой
Более продвинутый способ — использование предопределенных вариантов отчета. Администратор системы может создать вариант с названием "Именинники квартала" и настроить в нем отбор: Мец(Дата рождения) = ТекущийМесяц или аналогичные конструкции, если интерфейс позволяет вводить формулы. В стандартном пользовательском режиме чаще всего приходится вручную менять месяц в интервале.
⚠️ Внимание: При отборе по месяцам учитывайте сотрудников, у которых день рождения выпадает на 29 февраля. В невисокосные годы система может некорректно обрабатывать эту дату в некоторых отчетах, если не настроена специальная логика.
Формирование через консоль запросов
Для пользователей с расширенными правами доступа и администраторов баз данных наиболее гибким инструментом является Консоль запросов. Этот инструмент позволяет получить данные именно в том виде, в котором они нужны, минуя ограничения пользовательского интерфейса. Для запуска введите в строку поиска (глобальный поиск) фразу Консоль запросов.
В окне консоли необходимо написать текст запроса на языке 1С. Базовая структура запроса для получения дат рождения выглядит следующим образом. Мы обращаемся к регистру сведений или справочнику сотрудников и выбираем нужные поля.
ВЫБРАТЬ
Сотрудники.Ссылка КАК Ссылка,
Сотрудники.ФизическоеЛицо.Фамилия КАК Фамилия,
Сотрудники.ФизическоеЛицо.Имя КАК Имя,
Сотрудники.ФизическоеЛицо.Отчество КАК Отчество,
Сотрудники.ФизическоеЛицо.ДатаРождения КАК ДатаРождения
ИЗ
Справочник.Сотрудники КАК Сотрудники
ГДЕ
Сотрудники.Удаление = ЛОЖЬ
И Сотрудники.ФизическоеЛицо.ДатаРождения ЕСТЬ НЕ NULL
Этот запрос выведет всех действующих сотрудников, у которых заполнена дата рождения. Чтобы отфильтровать только именинников текущего месяца, необходимо добавить условие в блок ГДЕ. Используйте функцию МЕСЯЦ() для сравнения месяца даты рождения с текущим месяцем.
Доработанный запрос с отбором по текущему месяцу будет выглядеть так:
ГДЕ
Сотрудники.Удаление = ЛОЖЬ
И МЕСЯЦ(Сотрудники.ФизическоеЛицо.ДатаРождения) = МЕСЯЦ(&ТекущаяДата)
И ДЕНЬ(Сотрудники.ФизическоеЛицо.ДатаРождения) >= ДЕНЬ(&ТекущаяДата)
Здесь параметр &ТекущаяДата позволяет динамически подставлять дату запуска отчета. Такой подход гарантирует, что вы получите список тех, чей день рождения еще не прошел в текущем месяце, что удобно для планирования поздравлений в реальном времени.
Настройка печатных форм и поздравительных открыток
Получить список — это полдела. Часто требуется сразу сформировать красивые поздравительные открытки или приказы о премировании. Для этого в 1С используются Печатные формы. В карточке сотрудника или в списке можно выделить нескольких человек и нажать кнопку Печать.
В списке доступных макетов часто присутствует вариант "Поздравление с днем рождения". Если такого макета нет в вашей конфигурации, его можно добавить через режим предприятия (если позволяет роль) или в конфигураторе. Макет представляет собой табличный документ, в который программно подставляются данные из полей сотрудника.
| Тип документа | Необходимые данные | Частота использования |
|---|---|---|
| Приказ о премии | ФИО, Должность, Сумма, Основание | Ежемесячно |
| Поздравительная открытка | ФИО, Дата рождения, Стаж работы | Ежедневно/Еженедельно |
| Список для рассылки | Email, ФИО, Подразделение | Ежемесячно |
| Отчет для бухгалтерии | Табельный номер, Дата рождения | Ежегодно |
При настройке печатной формы важно учесть форматирование даты. В макете часто используется конструкция вида Формат(ДатаРождения, "ДФ='dd MMMM yyyy'"), чтобы дата выводилась прописью (например, "15 мая 1985 года"). Это делает поздравление более торжественным и официальным.
Как добавить свой макет поздравления?
Для добавления своего макета необходимо в режиме Конфигуратор найти объект "Обработка.Поздравления" (или аналогичный по названию в вашей конфигурации). В модуле объекта в процедуре формирования откройте табличный документ и отредактируйте текст поздравления, добавив необходимые поля из структуры данных сотрудника.
Автоматизация и внешние обработки
Если стандартного функционала недостаточно, например, требуется отправлять письма автоматически или выгружать данные в стороннюю систему лояльности, прибегают к созданию внешних обработок. Это отдельные файлы с расширением .epf, которые подключаются к базе 1С.
Внешняя обработка может быть запрограммирована так, чтобы при запуске она сама определяла текущую дату, формировала список именинников на сегодня и даже генерировала файлы для рассылки. Это экономит время кадровика, которому не нужно каждый день заходить в отчеты и настраивать фильтры.
⚠️ Внимание: При использовании внешних обработок убедитесь, что они подписаны цифровой подписью и получены из доверенного источника. Запуск непроверенного кода в базе 1С может привести к порче данных или утечке конфиденциальной информации о персонале.
Также для автоматизации можно использовать механизм Бизнес-процессов или Регламентных заданий. Можно настроить задачу, которая будет создаваться автоматически каждое утро для ответственного сотрудника с вложением в виде списка именинников на текущий день. Это переводит процесс из режима "поиска" в режим "контроля исполнения".
Сохраняйте варианты отчетов с именами вроде "Именинники_Текущий_Месяц". Это позволит вам открывать уже настроенный отчет одним кликом из раздела "История отчетов", не настраивая поля заново.
Использование консоли запросов дает максимальную гибкость, но требует знаний синтаксиса 1С. Для обычных пользователей оптимальным решением является сохранение настроенного варианта стандартного отчета.
Часто задаваемые вопросы (FAQ)
Почему в списке сотрудников не отображается дата рождения?
Скорее всего, поле Дата рождения не добавлено в форму списка. Нажмите кнопку настроек (шестеренку) или выберите Еще → Изменить форму и поставьте галочку напротив нужного поля. Также проверьте, заполнена ли дата в карточке физического лица.
Как найти сотрудников, у которых день рождения сегодня?
Используйте стандартный отчет "Список сотрудников". В настройках отбора выберите поле Дата рождения, вид сравнения Равно и укажите текущую дату. Либо используйте вариант отчета "Именинники", если он предусмотрен вашей конфигурацией.
Можно ли вывести список дней рождения уволенных сотрудников?
Да, это возможно. В настройках отчета или списка снимите отбор по признаку "Принят" или добавьте отбор Уволен = Истина. По умолчанию большинство отчетов показывают только действующих сотрудников.
Как экспортировать список дней рождения в Excel?
После формирования отчета или вывода списка нажмите кнопку Вывести список (значок таблицы со стрелкой) и выберите формат Табличный документ или Лист Excel. Система сформирует файл, который можно сохранить на диск.
Что делать, если у сотрудника не указана дата рождения?
В таком случае в отчетах в соответствующей ячейке будет пусто. Чтобы данные отображались корректно, необходимо зайти в карточку сотрудника, перейти к связанному физическому лицу и заполнить поле Дата рождения в блоке личной информации.