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