Другое · 10 мин
Как в 1С поставить напоминание о днях рождения
Пошаговая инструкция: как в 1С поставить напоминание о днях рождения сотрудников и контрагентов. Напоминания пользователя, отчёты, доработка через расширение.
Задача напомнить о дне рождения сотрудника или контрагента возникает в 1С регулярно: HR-службе нужно поздравить коллег, руководителю — не забыть про ключевого клиента, а бухгалтерии — вовремя провести выплату к юбилею. В типовых конфигурациях нет отдельного «будильника дней рождения», но задача решается несколькими рабочими способами: от встроенных напоминаний пользователя до отчёта по расписанию и небольшой доработки.
Выбор способа зависит от того, где хранятся даты рождения и кто должен получать уведомление. В 1С:ЗУП и 1С:Бухгалтерии даты рождения сотрудников уже есть в физлицах, в УТ и ERP — у контактных лиц контрагентов. Дальше остаётся решить, как система будет «доставать» эти даты и показывать ответственному человеку.
Ниже разобраны четыре практических варианта: личные напоминания, отчёт с отбором, рассылка по расписанию и доработка через расширение конфигурации. Для каждого указаны условия применения, ограничения и способ проверить результат.
Где в 1С хранятся даты рождения
Прежде чем настраивать напоминание, убедитесь, что даты рождения вообще внесены в базу. В 1С:ЗУП и 1С:Бухгалтерии (режим учёта зарплаты) дата рождения хранится в справочнике «Физические лица» и заполняется при приёме сотрудника на работу. Если кадровый учёт ведётся неформально, поля могут быть пустыми — тогда любые напоминания окажутся бесполезными.
В торговых конфигурациях (УТ 11, ERP, УНФ) день рождения обычно указывают у контактных лиц контрагентов или в карточке клиента. Откройте несколько карточек и проверьте заполненность: если даты есть у единиц из сотни записей, сначала организуйте сбор и ввод данных, а уже потом автоматизируйте напоминания.
Вариант 1: личные напоминания пользователя
Самый простой способ без доработок — стандартный механизм «Мои напоминания», который есть в большинстве типовых конфигураций. Пользователь создаёт напоминание вручную: указывает текст «День рождения у Ивановой», дату и время срабатывания, при необходимости привязывает его к карточке сотрудника или контрагента.
Напоминание появится всплывающим окном при работе в программе или при следующем входе, если в указанное время сеанс был закрыт. Список своих напоминаний можно открыть через раздел «Настройки» или панель текущих дел — расположение зависит от конфигурации.
Минус очевиден: на каждого сотрудника напоминание заводится вручную и раз в год его нужно переносить на следующую дату. Для 5–10 ключевых контактов это приемлемо, для штата в десятки человек — нет.
- 1Откройте карточку сотрудника или контрагента либо раздел напоминаний
- 2Создайте новое напоминание и впишите понятный текст с именем человека
- 3Укажите дату и время срабатывания — например, за день до события
- 4Сохраните и проверьте, что напоминание появилось в списке активных
Вариант 2: отчёт по ближайшим дням рождения
Более масштабируемый подход — отчёт, который показывает, у кого день рождения в ближайшие N дней. В 1С:ЗУП есть штатные кадровые отчёты по сотрудникам, где дата рождения доступна как поле; в других конфигурациях подобный отчёт можно построить через «Универсальный отчёт» или произвольный отчёт на СКД по справочнику физлиц или контактных лиц.
Ключевой момент — отбор не по полной дате, а по дню и месяцу. Если отобрать «ДатаРождения = текущая дата», совпадений не будет никогда, ведь годы различаются. В настройках отчёта используют вычисляемое выражение: день и месяц даты рождения сравнивают с днём и месяцем текущей даты (или диапазона ближайших дней).
Готовый отчёт сохраняют как вариант и выносят на начальную страницу или в избранное ответственному сотруднику. Тогда каждое утро он открывает список именинников одним кликом.
Удобно строить отчёт не «на сегодня», а «на ближайшие 7 дней»: тогда сотрудник заранее видит предстоящие даты и успевает подготовить поздравление, а события, выпавшие на выходные, не теряются.
Вариант 3: рассылка отчёта по расписанию
Чтобы не зависеть от того, вспомнит ли человек открыть отчёт, настройте автоматическую рассылку. В конфигурациях на БСП (ЗУП, Бухгалтерия, ERP, УТ) есть механизм «Рассылка отчетов»: администратор создаёт рассылку, добавляет в неё сохранённый вариант отчёта по дням рождения, задаёт расписание (например, каждый понедельник в 9:00) и список получателей по электронной почте.
Для работы рассылки должна быть настроена учётная запись электронной почты в программе и запущено регламентное задание выполнения рассылок. В файловой базе регламентные задания выполняются только при открытом сеансе, в клиент-серверной — на сервере автоматически.
Проверьте результат, запустив рассылку вручную командой «Выполнить сейчас»: письмо должно прийти получателю с вложенным отчётом в выбранном формате. Если письма нет — смотрите журнал регистрации и настройки почтовой учётной записи.
Вариант 4: всплывающее напоминание при старте программы
Если нужен именно «будильник» — окно со списком именинников при запуске 1С — без доработки не обойтись. Правильный способ сделать её в типовой конфигурации — расширение: оно не затрагивает основную конфигурацию и не снимает её с поддержки.
Типовая схема доработки: в расширении добавляют обработчик при запуске системы (или подключают обработчик ожидания), который выполняет запрос по справочнику физлиц с условием на день и месяц рождения. Если записи найдены — пользователю показывается оповещение или открывается форма со списком.
Запрос = Новый Запрос(
"ВЫБРАТЬ Физ.Наименование КАК Сотрудник
|ИЗ Справочник.ФизическиеЛица КАК Физ
|ГДЕ ДЕНЬ(Физ.ДатаРождения) = ДЕНЬ(&ТекущаяДата)
| И МЕСЯЦ(Физ.ДатаРождения) = МЕСЯЦ(&ТекущаяДата)");
Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДатаСеанса());Разработку такого расширения поручают специалисту по 1С: объём работы небольшой, но требуются права разработчика, тестирование на копии базы и учёт прав доступа — пользователь без прав на справочник физлиц не должен видеть данные. Перед обновлением конфигурации расширение проверяют на совместимость.
Сравнение способов: что выбрать
У каждого варианта своя область применения. Личные напоминания подходят для единичных дат и не требуют ничего, кроме пары минут времени. Отчёт с отбором закрывает потребность «видеть список» при минимальных затратах. Рассылка по расписанию автоматизирует уведомление ответственного. Расширение — единственный способ получить всплывающее окно, но требует доработки и сопровождения.
Сравнение вариантов
Подходит для нескольких ключевых людей; не масштабируется, даты нужно переносить вручную каждый год
Подходит для списка именинников по запросу; требует, чтобы пользователь сам его открывал
Подходит для регулярного уведомления ответственного; нужна настроенная почта и регламентные задания
Даёт всплывающее окно при старте; требует разработчика, тестирования и проверки после обновлений
Частые ошибки при настройке
Отдельная группа проблем — граничные даты. Если отчёт строится «на ближайшие 7 дней» через сравнение дней и месяцев, переход через конец месяца и года нужно обрабатывать аккуратно: событие 2 января должно попасть в отчёт, запущенный 29 декабря. Проверьте это на тестовых записях.
Как проверить, что напоминание работает
Как проверить результат
Сотрудник появляется в отчёте или напоминании
Записи нет — проверьте отбор по дню и месяцу и заполненность даты
Письмо с отчётом приходит получателю в заданное время
Письма нет — смотрите журнал регистрации и настройки почты
Отчёт видят только ответственные сотрудники
Данные доступны всем пользователям базы
Даты начала следующего месяца попадают в отчёт «на 7 дней вперёд»
Именинники начала месяца теряются в конце предыдущего
Частые вопросы
Можно ли настроить напоминание о днях рождения без программиста?
Да. Отчёт с отбором по дню и месяцу рождения и его рассылка по расписанию настраиваются штатными средствами типовых конфигураций без изменения кода. Программист понадобится только для всплывающего окна при запуске программы или сложной логики уведомлений.
Почему отчёт по дням рождения выдаёт пустой список?
Чаще всего дело в отборе по полной дате рождения вместо дня и месяца — год рождения не совпадает с текущим, поэтому записей нет. Вторая причина — незаполненные даты в карточках физлиц или контактных лиц. Проверьте оба момента.
Работает ли рассылка напоминаний в файловой базе 1С?
Работает, но с ограничением: регламентные задания в файловой базе выполняются, только когда запущен сеанс пользователя с соответствующими настройками. Если программа закрыта, рассылка не выполнится. В клиент-серверном варианте задания выполняются на сервере независимо от сеансов.
Как напоминать о днях рождения контрагентов, а не сотрудников?
В торговых конфигурациях дата рождения указывается в карточке контактного лица контрагента. Отчёт строится по справочнику контактных лиц с тем же отбором по дню и месяцу, а рассылка настраивается менеджерам по работе с клиентами.
Не сломается ли напоминание после обновления конфигурации?
Штатные отчёты и рассылки при обновлении сохраняются. Если напоминание реализовано через расширение, после каждого обновления конфигурации его нужно проверить на совместимость — расширение может отключиться при несовпадении изменённых объектов.
Можно ли напоминать заранее, а не в сам день рождения?
Да. В отчёте задайте диапазон «ближайшие N дней» вместо точной даты, а в личном напоминании просто поставьте дату срабатывания за один-два дня до события. Для рассылки удобно расписание раз в неделю со списком предстоящих дат.
Что важно запомнить
Сначала проверьте заполненность дат рождения в базе, затем выберите способ: личные напоминания для единичных дат, отчёт с отбором по дню и месяцу для списка именинников, рассылку по расписанию для автоматики и расширение конфигурации для всплывающих уведомлений. Не забывайте про права доступа к персональным данным и проверку результата на тестовых записях.