Автоматизация · 11 мин
Как создать уведомление в 1С: способы и настройка
Как создать уведомление в 1С: напоминания, оповещения пользователей, программные вызовы и регламентные задания. Пошаговая инструкция с примерами кода и частыми ошибками.
Уведомления в 1С помогают не пропускать важные события: приближение срока оплаты, появление нового заказа, окончание срока действия договора или необходимость согласовать документ. В зависимости от задачи используются разные механизмы — от простого пользовательского напоминания до программного оповещения через код встроенного языка.
В типовых конфигурациях на платформе 1С:Предприятие 8.3 доступны несколько инструментов: личные напоминания пользователя, подсистема обсуждений, регламентные задания с рассылкой на почту и программные методы вроде ПоказатьОповещениеПользователя(). Выбор зависит от того, кто должен получить уведомление, когда оно должно сработать и есть ли доступ к изменению конфигурации.
Ниже разобраны основные способы создания уведомлений: без программирования — через стандартные настройки, и с доработкой — через встроенный язык. Для каждого варианта указаны условия применения, ограничения и способы проверки результата.
Какие виды уведомлений есть в 1С
Прежде чем настраивать, определите тип уведомления. В 1С условно выделяют четыре механизма, и они не взаимозаменяемы.
Напоминания пользователя — личные пометки с датой и временем срабатывания, привязанные к конкретному объекту (документу, контрагенту) или свободные. Работают только у того пользователя, который их создал, и только пока он находится в программе.
Оповещения через код — всплывающие сообщения, которые программа показывает при наступлении события: записи документа, изменении статуса, ошибке проведения. Требуют доработки конфигурации или расширения.
Почтовые уведомления — отправка писем через учётную запись электронной почты, настроенную в программе. Подходят, когда адресат не работает в 1С постоянно. Обсуждения (система взаимодействия) — встроенный мессенджер платформы, если он развёрнут в организации.
Сравнение вариантов
Подходит для личных задач без доработок. Ограничение: видит только автор, срабатывает при запущенной программе.
Подходит для мгновенного оповещения о событии в базе. Ограничение: нужна доработка кода и права на изменение конфигурации или расширение.
Подходит для оповещения внешних адресатов и руководителей. Ограничение: нужна настроенная учётная запись почты и регламентное задание.
Подходит для командной работы внутри базы. Ограничение: требуется развёрнутая система взаимодействия.
Как создать напоминание без программирования
Самый быстрый способ — стандартные напоминания. В типовых конфигурациях (1С:Бухгалтерия, Управление торговлей, ERP) список напоминаний обычно находится в разделе «Администрирование» → «Общие настройки» → «Напоминания» либо доступен из карточки объекта.
Чтобы привязать напоминание к документу, откройте нужный документ или элемент справочника и в меню «Ещё» найдите команду «Напомнить» или «Создать напоминание». Укажите текст, дату и время срабатывания, при необходимости — повторение. Сохраните запись.
Свободное напоминание без привязки к объекту создаётся из общего списка напоминаний кнопкой «Создать». Такой вариант удобен для задач вроде «позвонить поставщику» или «проверить поступление оплаты».
Проверьте, что механизм включён: в настройках программы должен быть установлен флаг использования напоминаний. Если команда «Напомнить» отсутствует в меню, скорее всего, механизм отключён на уровне настроек или у пользователя нет соответствующих прав.
- 1Откройте документ или элемент справочника, к которому относится напоминание
- 2В меню «Ещё» выберите команду «Напомнить» (или «Создать напоминание»)
- 3Введите текст, укажите дату и время срабатывания
- 4При необходимости настройте периодичность повторения
- 5Сохраните и дождитесь срабатывания — в указанное время появится всплывающее окно
Как показать оповещение пользователю программно
Для автоматических уведомлений о событиях в базе используется метод глобального контекста ПоказатьОповещениеПользователя(). Он выводит всплывающее окно в правом нижнем углу экрана с текстом, пояснением и, при необходимости, ссылкой на объект.
Типичный сценарий — уведомление при записи документа. Например, в модуле объекта документа «Заказ покупателя» в обработчике ПриЗаписи можно оповестить менеджера о крупной сумме заказа:
Процедура ПриЗаписи(Отказ)
Если СуммаДокумента > 100000 Тогда
ПоказатьОповещениеПользователя(
"Крупный заказ",
ПолучитьНавигационнуюСсылку(Ссылка),
"Заказ № " + Номер + " на сумму " + СуммаДокумента,
БиблиотекаКартинок.Информация);
КонецЕсли;
КонецПроцедуры
Учтите: метод выполняется на клиенте. Если код срабатывает в серверной процедуре, оповещение не появится — его нужно вызывать в клиентском контексте либо передавать сигнал на клиента через обработчики ожидания или оповещения формы (Оповестить и обработчик ОбработкаОповещения).
Если конфигурация типовая и находится на поддержке, вносите доработку через расширение конфигурации — так вы сохраните возможность штатного обновления и не нарушите целостность основной конфигурации.
Уведомления по электронной почте
Когда адресат не работает в 1С постоянно, оповещение отправляют письмом. Для этого в программе должна быть настроена учётная запись электронной почты: в типовых конфигурациях это раздел «Администрирование» → «Органайзер» → «Настройки электронной почты» (точный путь зависит от конфигурации).
Укажите адрес отправителя, серверы входящей и исходящей почты, порт, параметры шифрования и пароль. После сохранения выполните проверку настроек кнопкой «Проверить настройки» — программа попытается отправить тестовое письмо и сообщит об ошибках подключения.
Отправка программируется объектом ИнтернетПочтовоеСообщение либо типовыми процедурами общего модуля работы с почтой. Автоматическую отправку по расписанию обычно оформляют регламентным заданием: оно запускается в фоне, проверяет условие (например, просроченные счета) и рассылает письма ответственным.
Регламентные задания для периодических уведомлений
Если уведомление должно приходить регулярно — например, каждое утро список неоплаченных счетов, — используют регламентное задание. Это объект конфигурации, который платформа выполняет по расписанию в фоновом режиме.
Порядок создания: в конфигураторе добавьте общий модуль с серверной процедурой, которая формирует данные и отправляет уведомление. Затем создайте регламентное задание, укажите в нём имя этой процедуры и настройте расписание — ежедневно, еженедельно или по произвольному шаблону.
В файловой базе фоновые задания выполняются только при запущенном сеансе с включённым механизмом выполнения регламентных заданий. В клиент-серверном варианте их выполняет сервер 1С:Предприятия автономно. Убедитесь, что у пользователя, от имени которого работает задание, есть права на чтение нужных данных и отправку почты.
Проверить работу задания можно через консоль заданий в разделе администрирования: там видны время последнего запуска, результат и текст ошибок. Если задание завершилось с ошибкой, текст исключения подскажет причину — чаще всего это права доступа или недоступность почтового сервера.
Как проверить результат
В указанное время появляется всплывающее окно с вашим текстом
Время прошло, окна нет — проверьте, включён ли механизм напоминаний и запущена ли программа
При наступлении события окно появляется у нужного пользователя
Оповещения нет — вероятно, код выполняется на сервере, а не на клиенте
Тестовое письмо доставлено, задание в консоли завершается без ошибок
Ошибка отправки — проверьте пароль приложения, порт и шифрование
Частые ошибки и ограничения
Наиболее распространённая проблема — уведомление создано, но не срабатывает. Для напоминаний причина почти всегда в том, что программа закрыта: напоминание появится только при следующем входе. Для почтовых рассылок — в остановленном регламентном задании или неверных настройках учётной записи.
Вторая типичная ошибка — вызов ПоказатьОповещениеПользователя() в серверном коде. Метод не вызовет исключение, но и окно не покажет, что затрудняет диагностику. Переносите вызов в клиентскую процедуру.
Третья ошибка — массовые оповещения без фильтра. Если оповещение срабатывает на каждую запись любого документа, пользователи быстро начинают игнорировать все уведомления. Всегда добавляйте условие: сумма, статус, ответственный, подразделение.
Что выбрать под вашу задачу
Если нужно личное напоминание о конкретном деле — используйте штатные напоминания, это занимает меньше минуты и не требует прав администратора. Если оповещать нужно других сотрудников о событиях в базе — потребуется доработка через код или расширение.
Для уведомлений руководству и внешним адресатам надёжнее всего почтовая рассылка через регламентное задание: она работает независимо от того, открыта ли у получателя программа. Комбинировать способы допустимо: например, всплывающее оповещение менеджеру в базе и письмо руководителю при крупной сделке.
Как выбрать действие
Что важно запомнить
Личные напоминания настраиваются без программирования, автоматические оповещения — через ПоказатьОповещениеПользователя() в клиентском коде, а рассылки вне базы — через почту и регламентные задания. Любые доработки выполняйте через расширение и тестируйте на копии базы.
Частые вопросы
Почему напоминание не сработало в указанное время?
Напоминания в 1С срабатывают только пока программа запущена у пользователя. Если база была закрыта, напоминание появится при следующем входе. Также проверьте, что механизм напоминаний включён в настройках программы.
Можно ли отправить уведомление другому пользователю без доработки конфигурации?
Штатные напоминания видит только их автор. Без доработки передать уведомление коллеге можно через обсуждения (если развёрнута система взаимодействия) или отправив письмо из карточки документа, если в конфигурации настроена почта. Автоматическая адресная отправка требует программной доработки.
Что делать, если ПоказатьОповещениеПользователя() не выводит окно?
Почти всегда причина в том, что метод вызван в серверной процедуре — оповещения работают только на клиенте. Перенесите вызов в клиентский модуль или форму, либо используйте механизм Оповестить() с обработчиком ОбработкаОповещения на клиентской стороне.
Как уведомлять о событиях, если база файловая и ночью никто не работает?
В файловой базе регламентные задания выполняются только при запущенном сеансе. Варианты: назначить компьютер, на котором 1С запущена постоянно, либо перейти на клиент-серверный режим, где задания выполняет сервер автономно.
Не потеряются ли доработки уведомлений при обновлении конфигурации?
Изменения, внесённые напрямую в типовую конфигурацию, при обновлении могут быть утеряны или потребуют ручного сопоставления. Чтобы этого избежать, оформляйте доработку как расширение конфигурации — оно накладывается поверх типовой и сохраняется при обновлениях.