Автоматизация · 10 мин
Как составить уведомления в 1С
Как составить уведомления в 1С: встроенные напоминания, регламентные задания, почтовые рассылки и код на встроенном языке. Пошаговые инструкции и типичные ошибки.
Уведомления в 1С решают простую задачу: вовремя сообщить пользователю или руководителю о событии — просроченной задолженности, приближении срока оплаты, новом заказе или ошибке обмена данными. В зависимости от конфигурации и задачи уведомление можно сделать штатными средствами без программирования или через код на встроенном языке.
Единого объекта «уведомление» в платформе нет: это общее название для нескольких механизмов. Пользовательские напоминания, система взаимодействий, оповещения через почту, сообщения пользователю из кода и регламентные задания-рассылки работают по-разному и подходят для разных сценариев. Выбор механизма определяет, сколько времени займёт настройка и насколько гибким будет результат.
Прежде чем что-то настраивать, ответьте на три вопроса: кто получатель (сам пользователь, другой сотрудник, внешний адрес), что является триггером (наступление даты, изменение документа, расписание) и допустимо ли дорабатывать конфигурацию. От ответов зависит весь дальнейший путь.
Какие механизмы уведомлений есть в 1С
Платформа и типовые конфигурации предлагают несколько независимых способов уведомлять пользователей. Штатные напоминания («Мои напоминания») — личные заметки с привязкой ко времени или к объекту. Система взаимодействий (обсуждения) — встроенный мессенджер, доступный при наличии сервера взаимодействий. Почтовые оповещения — отправка писем через учётную запись электронной почты. Показ оповещений пользователю — программный вывод всплывающих сообщений в клиентском приложении.
Отдельный класс — регламентные задания. Это фоновые процедуры, которые запускаются по расписанию и могут проверять условия (например, искать просроченные документы) и отправлять уведомления любым из перечисленных способов. Именно связка «регламентное задание + отправка почты» чаще всего лежит в основе автоматических уведомлений.
Сравнение вариантов
Подходят для личных напоминаний без доработок. Ограничение: видит только сам пользователь, нет рассылки другим.
Подходят для автоматических рассылок любым адресатам по условиям. Ограничение: требуют настройки учётной записи почты и программирования или расширения.
Подходят для мгновенной реакции на действие пользователя. Ограничение: работают только в открытом сеансе.
Подходят для сообщений внутри команды в базе. Ограничение: нужен сервер системы взаимодействий.
Настройка простых напоминаний без программирования
В типовых конфигурациях на платформе 8.3 пользователь может создать напоминание сам. Обычно это делается через меню объекта (кнопка «Ещё» → «Напомнить») или через раздел «Мои напоминания». Напоминание привязывается к конкретному документу или элементу справочника либо задаётся произвольным текстом и временем срабатывания.
Доступны два режима: напомнить в указанное время (например, 10:00 в день оплаты) или через интервал относительно текущего момента. При наступлении срока программа покажет всплывающее окно со списком сработавших напоминаний. Это самый быстрый способ, но он полностью ручной: система не создаст такое напоминание автоматически и не отправит его коллеге.
- 1Откройте документ или элемент справочника, о котором нужно не забыть.
- 2Нажмите «Ещё» и выберите команду «Напомнить» (в ряде конфигураций — через раздел «Мои напоминания»).
- 3Задайте текст, дату и время срабатывания или интервал.
- 4Сохраните напоминание и дождитесь тестового срабатывания, задав ближайшее время.
Автоматические уведомления через регламентные задания
Для автоматики нужен фоновый механизм. Схема выглядит так: создаётся регламентное задание с расписанием (например, ежедневно в 9:00), его обработчик выполняет запрос к базе — выбирает документы, подходящие под условие, — и для каждого найденного случая формирует уведомление: письмо, сообщение в обсуждение или запись в журнал.
В типовых конфигурациях часть сценариев уже реализована: например, рассылка отчётов по расписанию настраивается через «Рассылку отчётов» без кода, а оповещения о состоянии обмена данными и задачах включены в подсистемы БСП. Проверьте раздел «Администрирование» — возможно, нужный сценарий уже есть и требует только включения и указания получателей.
Если штатного сценария нет, задание добавляется в конфигураторе: «Общие» → «Регламентные задания». Это частая причина «молчащих» уведомлений.
Отправка уведомлений по электронной почте
Почтовые уведомления требуют настроенной учётной записи электронной почты в базе. В типовых конфигурациях она создаётся в разделе «Администрирование» → «Органайзер» или «Настройка электронной почты»: указываются адрес отправителя, серверы SMTP и POP3/IMAP, порт и тип шифрования. После ввода параметров обязательно выполните встроенную проверку — она сразу покажет ошибки авторизации или блокировки со стороны почтового сервиса.
Отправка из кода выполняется через объект ИнтернетПочта: создаётся сообщение, заполняются получатели, тема и текст, затем вызывается метод отправки через профиль учётной записи. В типовых решениях вместо прямой работы с почтой рекомендуется использовать процедуры общего модуля работы с почтовыми сообщениями — они берут настройки из учётной записи и корректно обрабатывают ошибки.
Процедура ОтправитьУведомление(Адрес, Тема, Текст) Экспорт
ПараметрыПисьма = Новый Структура;
ПараметрыПисьма.Вставить("Кому", Адрес);
ПараметрыПисьма.Вставить("Тема", Тема);
ПараметрыПисьма.Вставить("Тело", Текст);
УчетнаяЗапись = РаботаСПочтовымиСообщениями.СистемнаяУчетнаяЗапись();
РаботаСПочтовымиСообщениями.ОтправитьПочтовоеСообщение(УчетнаяЗапись, ПараметрыПисьма);
КонецПроцедурыУчитывайте ограничения почтовых сервисов: многие из них требуют включения доступа для внешних приложений или создания отдельного пароля приложения. Если проверка учётной записи завершается ошибкой авторизации при верном пароле, почти наверняка проблема именно в настройках безопасности почтового ящика.
Оповещения пользователя из кода
Когда уведомление нужно показать прямо в момент работы пользователя — например, при записи документа с незаполненным договором, — используется метод ПоказатьОповещениеПользователя. Он выводит всплывающее окно в клиентском приложении с текстом, пояснением и необязательной ссылкой на объект, по которой можно перейти нажатием.
Для сообщений, привязанных к полям формы, лучше подходит объект СообщениеПользователю: текст появляется в панели сообщений и подсвечивает конкретный реквизит. Разница принципиальна: оповещение — мимолётная подсказка, сообщение — фиксируемая в сеансе информация об ошибке или результате операции.
Уведомления через обсуждения и внешние каналы
Если в базе подключена система взаимодействий, программно можно создавать сообщения в обсуждениях: пользователь увидит их в панели обсуждений и сможет ответить. Это удобно для внутрикорпоративных оповещений — например, уведомить менеджера о новом заказе его клиента. Механизм требует регистрации информационной базы на сервере системы взаимодействий.
Для отправки в мессенджеры или по SMS платформа не имеет встроенных коннекторов, поэтому используют HTTPЗапрос к API соответствующего сервиса или шлюза. Такой вариант требует аккуратного хранения токенов и ключей: их нельзя зашивать в код в открытом виде, лучше держать в защищённых настройках или константах с ограниченным доступом.
Проверка результата и типичные ошибки
После настройки любого уведомления проверьте весь путь: срабатывание триггера, выполнение обработчика, доставку и содержимое сообщения. Для регламентных заданий смотрите журнал регистрации — там видны ошибки выполнения. Для почты — проверяйте папку «Спам» у получателя и ответ почтового сервера при тестовой отправке.
Как проверить результат
В журнале регистрации есть записи об успешном выполнении по расписанию
Записей нет или есть ошибки — задание не запускается или падает
Тестовое письмо пришло получателю во «Входящие» в течение нескольких минут
Письмо в спаме, не пришло или ошибка авторизации при отправке
Тема и текст понятны, ссылки на объекты открываются
Пустые поля, неразборчивый текст, битые ссылки
Что важно запомнить
Личные напоминания настраиваются штатно и без кода, автоматические уведомления — через регламентные задания с отправкой почты или сообщений. Перед запуском проверьте учётную запись почты, журнал регистрации и протестируйте рассылку на собственном адресе, а не на реальных получателях.
Частые вопросы
Можно ли настроить уведомления в 1С без программирования?
Да, частично. Личные напоминания, рассылка отчётов по расписанию и ряд штатных оповещений в типовых конфигурациях включаются настройками. Уведомления по произвольным условиям и событиям документов потребуют кода или готового расширения.
Почему регламентное задание не отправляет уведомления?
Чаще всего причины три: в файловой базе нет запущенного сеанса, выполняющего задания; в обработчике возникает ошибка (смотрите журнал регистрации); либо не проходит авторизация почтовой учётной записи. Проверяйте их в этом порядке.
Как отправлять уведомления нескольким получателям?
В параметрах письма укажите список адресов через точку с запятой или сформируйте коллекцию получателей программно. Для разного текста разным людям отправляйте отдельные письма в цикле — так проще персонализировать и контролировать ошибки доставки.
Можно ли слать уведомления в Telegram или WhatsApp из 1С?
Встроенных механизмов нет, но это реализуется через HTTPЗапрос к API бота или шлюза. Потребуется токен, который следует хранить в защищённых настройках, а не в коде, и обработка ошибок на случай недоступности сервиса.
Как не завалить пользователей лишними уведомлениями?
Группируйте события в одно сводное письмо по расписанию вместо отправки на каждое событие, добавьте настройку отписки по видам оповещений и отправляйте мгновенные уведомления только по действительно срочным случаям.
Безопасно ли дорабатывать типовую конфигурацию ради уведомлений?
Прямая доработка усложнит обновления. Предпочтительнее механизм расширений конфигурации или внешние обработки, подключаемые к регламентным заданиям: они сохраняют поддержку типового решения и переносятся между базами.