Уведомления из 1С на почту, SMS, в Telegram и на экран: от напоминания до триггера на событие
Содержание
Простое оповещение в 1С настраивается без программиста: напоминание пользователю ставится прямо из карточки документа или задачи, а отчёт по расписанию уходит на почту через «Рассылки отчётов» после того, как в разделе Администрирование → Органайзер подключена учётная запись электронной почты. Уведомления о событиях («заказ проведён», «остаток ниже нормы») в Telegram, SMS или на экран другого пользователя — это уже доработка: подписка на событие плюс обработчик в общем модуле, лучше в расширении.
Типичная ситуация: директор хочет каждое утро видеть на почте остатки денег, а менеджер — сразу узнавать, что клиент оплатил счёт. Первое закрывается штатно за 15 минут. Второе требует пары процедур кода. Ниже оба пути и всё, что между ними.
Какие оповещения в 1С есть «из коробки»
Почти все типовые конфигурации на платформе 8.3 (Бухгалтерия 3.0, ЗУП 3.1, УТ 11, КА, ERP, УНФ) построены на Библиотеке стандартных подсистем. Оттуда они получают одинаковый набор механизмов уведомлений.
| Механизм | Что умеет | Кому приходит | Нужен программист |
|---|---|---|---|
| 🔔 Напоминания пользователя | Всплывающее окно в заданное время | Самому пользователю в 1С | Нет |
| 📊 Рассылки отчётов | Отчёт по расписанию в файле или теле письма | Любому адресу email, в папку, на FTP | Нет |
| ✉️ Почта (Взаимодействия) | Письма контрагентам из карточки документа | Внешним адресатам | Нет |
| 💬 Обсуждения | Чат и сообщения внутри 1С | Пользователям базы | Нет |
| 📱 SMS | Отправка через провайдера | Телефонам клиентов и сотрудников | Нет, если провайдер есть в списке |
| ⚙️ Свои уведомления | Любой канал по любому событию | Кому угодно | Да |
Набор флажков в разделе Администрирование → Органайзер зависит от конфигурации. Там включают почту, заметки и напоминания пользователя. Если флажок «Напоминания пользователя» выключен, команд «Напомнить» в формах не будет.
Напоминания пользователя
Это самый быстрый способ «не забыть». Напоминание привязывают к конкретному объекту или времени:
- Откройте документ, задачу или карточку, о которой нужно напомнить.
- В командной панели найдите команду напоминания (обычно в меню
Ещё). - Укажите время срабатывания или интервал до события. Для повторяющихся напоминаний задайте расписание.
- Сохраните. В нужный момент 1С покажет окно со ссылкой на объект.
Напоминание видит только тот, кто его создал. Оно срабатывает, пока открыт сеанс 1С: если программа закрыта, окно появится при следующем входе.
Всплывающие оповещения платформы
Сообщения в правом нижнем углу («Документ записан», «Обмен завершён») выводит сама платформа. Программист вызывает их методом ПоказатьОповещениеПользователя. Работает он только на клиенте и только для текущего пользователя: «показать окно коллеге» этим методом нельзя.
Как настроить отправку оповещений на email
Почтовые оповещения в 1С — самый надёжный штатный канал. Настройка состоит из двух частей: учётная запись и рассылка.
Шаг 1. Учётная запись электронной почты
- Откройте
Администрирование → Органайзер, включите флажок «Почта» (если его нет в вашей конфигурации, учётные записи доступны сразу). - Перейдите в «Учётные записи электронной почты» и создайте новую.
- Введите адрес и пароль. Программа сама попробует подобрать серверы для популярных почтовых служб.
- Если не подобрала, укажите вручную: SMTP-сервер, порт и способ шифрования.
- Нажмите проверку настроек и дождитесь сообщения об успешной отправке.
Яндекс, Mail.ru и Gmail не принимают обычный пароль от ящика для внешних программ. Создайте в настройках почтового сервиса «пароль приложения» и введите его в 1С.
Типовые порты SMTP:
| Порт | Шифрование | Когда использовать |
|---|---|---|
| 465 | SSL/TLS сразу | Яндекс, Mail.ru, большинство хостингов |
| 587 | STARTTLS | Gmail, корпоративные Exchange и Postfix |
| 25 | Без шифрования | Только внутренний сервер в локальной сети |
💡 Заведите для оповещений отдельный ящик вида 1c-noreply@ваша-компания.ru. Тогда письма из 1С не смешаются с личной перепиской, а смена пароля сотрудником не остановит рассылку.
Шаг 2. Рассылка отчёта по расписанию
- Откройте нужный отчёт и сформируйте его с нужными отборами.
- В командах формы отчёта найдите создание рассылки (в меню
Ещёили рядом с кнопкой отправки). - На вкладке получателей укажите адреса или группу пользователей.
- На вкладке доставки выберите формат: вложение XLSX, PDF или HTML в теле письма.
- Включите расписание: например, по рабочим дням в 8:00.
- Отметьте опцию, которая запрещает отправку пустого отчёта, если она есть в форме.
Одной рассылкой можно отправить несколько отчётов. Например, «Остатки денежных средств» и «Дебиторскую задолженность» одним письмом.
Рассылка по расписанию работает через регламентные задания. В файловой базе они выполняются только пока хотя бы один пользователь держит 1С открытой. На сервере 1С задания идут сами, но их не должна блокировать опция запрета регламентных заданий в свойствах информационной базы.
SMS-оповещения через провайдера
В УТ 11, КА, ERP и УНФ есть подсистема отправки SMS. Схема везде одна: 1С передаёт текст провайдеру по интернету, провайдер доставляет SMS на телефон.
Что понадобится:
- 📝 договор с SMS-провайдером, который есть в списке настроек вашей конфигурации;
- 🔑 логин и пароль (или ключ API) из личного кабинета провайдера;
- 🏷️ согласованное имя отправителя: без него SMS придут с цифрового номера или не придут вовсе.
Настройки отправки SMS находятся в том же разделе Администрирование → Органайзер. После этого в карточках партнёров, заказах и рассылках появляются команды отправки SMS.
Ориентир по стоимости: примерно 3–6 ₽ за сообщение в зависимости от провайдера и объёма, плюс ежемесячная плата за имя отправителя у некоторых операторов. Длинное сообщение кириллицей (больше 70 символов) тарифицируется как несколько SMS.
Массовые SMS клиентам — это обработка персональных данных и, если в тексте есть предложение купить, реклама. Нужны согласие на обработку данных по 152-ФЗ и предварительное согласие абонента на получение рекламы по закону «О рекламе». Сервисные сообщения («заказ готов к выдаче») рекламой не считаются.
Если вашего провайдера нет в списке, отправку пишут программно: почти у всех провайдеров есть HTTP API, а вызов выглядит так же, как в примере с Telegram ниже.
Оповещения в Telegram и WhatsApp
Мессенджеры удобны для сотрудников: сообщение приходит на телефон мгновенно и не теряется в почте.
Telegram: бот за 10 минут
- В Telegram найдите
@BotFather, отправьте команду/newbot, задайте имя. Получите токен вида123456789:AA.... - Каждый получатель открывает бота и нажимает «Старт». Без этого бот не может написать человеку первым.
- Узнайте
chat_idполучателя: после его сообщения боту откройте в браузереhttps://api.telegram.org/bot<токен>/getUpdatesи найдите полеchat.id. - Для группового чата добавьте бота в группу. У групп
chat_idотрицательный.
Функция отправки в общем модуле (серверный, без признака «Клиент»):
Функция ОтправитьВTelegram(Токен, ИдентификаторЧата, Текст) Экспорт
Соединение = Новый HTTPСоединение("api.telegram.org", 443, , , , 30,
Новый ЗащищенноеСоединениеOpenSSL);
Запрос = Новый HTTPЗапрос("/bot" + Токен + "/sendMessage");
Запрос.Заголовки.Вставить("Content-Type", "application/json; charset=utf-8");
Данные = Новый Структура("chat_id, text", ИдентификаторЧата, Текст);
Запись = Новый ЗаписьJSON;
Запись.УстановитьСтроку();
ЗаписатьJSON(Запись, Данные);
Запрос.УстановитьТелоИзСтроки(Запись.Закрыть(), КодировкаТекста.UTF8,
ИспользованиеByteOrderMark.НеИспользовать);
Ответ = Соединение.ОтправитьДляОбработки(Запрос);
Если Ответ.КодСостояния <> 200 Тогда
ЗаписьЖурналаРегистрации("Оповещения.Telegram", УровеньЖурналаРегистрации.Ошибка, , ,
"Код " + Формат(Ответ.КодСостояния, "ЧГ=0") + ": " + Ответ.ПолучитьТелоКакСтроку());
Возврат Ложь;
КонецЕсли;
Возврат Истина;
КонецФункции
Токен не храните в коде. Положите его в константу или регистр сведений с доступом только для администратора.
Бесплатного API у WhatsApp для бизнеса нет. Отправка идёт через WhatsApp Business Platform: напрямую или через провайдера-посредника. Шаблоны сообщений проходят модерацию, сообщения тарифицируются. Из 1С это такой же HTTP-запрос к API провайдера, отличаются только адрес и формат тела. Для внутренних уведомлений сотрудникам Telegram или «Обсуждения» в 1С проще и дешевле.
Оповещения о событиях: подписки и регламентные задания
Это сердце темы: «когда в базе случилось X, отправь сообщение Y». Сразу правильная архитектура, проверенная на практике:
- Событие ловит подписка на событие и пишет запись в очередь.
- Очередь — регистр сведений: кому, что, канал, статус, число попыток.
- Отправку делает регламентное задание раз в 1–5 минут.
Почему не слать письмо прямо из обработчика проведения? Проведение идёт в транзакции. Если провайдер ответит через 30 секунд, пользователь будет ждать 30 секунд. Если документ потом откатится, сообщение уже уйдёт. Очередь снимает обе проблемы.
Подписка на событие
В Конфигураторе, а лучше в расширении конфигурации, чтобы не снимать типовую с поддержки:
- Создайте серверный общий модуль, например
ОповещенияСервер. - В ветке
Общие → Подписки на событиядобавьте подписку. - Источник — нужный документ, например «Поступление на расчётный счёт».
- Событие —
ПриЗаписи. Обработчик — процедура из модуля.
Процедура ПоступлениеНаСчетПриЗаписи(Источник, Отказ) Экспорт
Если Отказ Или Источник.ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
Если Источник.Проведен Тогда
Текст = СтрШаблон("Оплата %1 руб. от %2",
Формат(Источник.СуммаДокумента, "ЧДЦ=2"), Источник.Контрагент);
ПоставитьВОчередь("Telegram", "Менеджеры", Текст, Источник.Ссылка);
КонецЕсли;
КонецПроцедуры
Проверка ОбменДанными.Загрузка отсекает документы, пришедшие обменом: иначе после синхронизации прилетит сотня сообщений разом. Процедуру ПоставитьВОчередь вы пишете сами: она добавляет запись в регистр-очередь. Реквизиты источника (здесь СуммаДокумента, Контрагент) берите из своей конфигурации, у разных документов они называются по-разному.
Защита от повторов
Документ можно перепровести пять раз. Чтобы не получить пять SMS, в очереди храните ссылку на документ и вид события. Перед добавлением проверяйте: если запись по этой паре уже есть, вторую не создавайте.
Регламентное задание отправки
Задание выбирает записи со статусом «Новое», отправляет каждую, ставит «Отправлено» или увеличивает счётчик попыток. После 3–5 неудачных попыток статус меняется на «Ошибка», чтобы задание не долбило мёртвый адрес вечно.
Включение и расписание проверяют в Администрирование → Обслуживание → Регламентные операции → Регламентные и фоновые задания.
Оповещения внутри одного сеанса
Если нужно, чтобы открытый список обновился после записи документа в другой форме, используют пару Оповестить("ИмяСобытия", Параметр) и обработчик ОбработкаОповещения в форме-получателе. Это сигнал между формами одного пользователя, а не сообщение другим людям.
Уведомления в мобильном приложении 1С
Здесь два разных случая.
Мобильный клиент — это обычная база, открытая на телефоне. Он получает то же, что и тонкий клиент: напоминания, всплывающие оповещения, сообщения «Обсуждений». Пока приложение свёрнуто или закрыто, сообщения внутри 1С не придут, поэтому для срочных событий надёжнее Telegram или SMS.
Мобильное приложение на мобильной платформе (например, для торговых агентов) умеет настоящие уведомления:
- 🕘 локальные — приложение само ставит напоминание на телефоне, интернет не нужен;
- 📡 push-уведомления — отправляются с сервера через службы Google и Apple или через сервис уведомлений 1С.
Push требует, чтобы приложение зарегистрировало устройство и передало его идентификатор в центральную базу. Затем центральная база отправляет уведомление по этому идентификатору. Это задача для разработчика мобильного приложения, настроить её флажками в типовой не получится.
«Обсуждения» (система взаимодействия) работают и в мобильном клиенте, и в приложении «1С:Предприятие» на телефоне. Для внутренних уведомлений сотрудникам это самый дешёвый вариант без сторонних мессенджеров.
Журнал оповещений: как проверить, что ушло и что нет
Без журнала невозможно ответить на вопрос «почему клиент не получил SMS». Минимум, который стоит сделать:
- 📋 регистр-очередь хранит каждое сообщение: дату, получателя, канал, текст, статус, число попыток, текст последней ошибки;
- 🧾 журнал регистрации получает запись при каждой ошибке отправки с понятным именем события, например
Оповещения.Telegram; - 📈 отчёт по очереди — простой отчёт на СКД с отбором по статусу «Ошибка» за период.
Журнал регистрации открывается в Администрирование → Обслуживание → Журнал регистрации. В отборе по событию введите своё имя события, и все сбои окажутся в одном списке.
Для штатных рассылок отчётов история хранится в самой рассылке: в карточке рассылки видно состояние последнего выполнения, а подробности ошибок попадают в журнал регистрации. У почты дополнительно смотрите папку «Отправленные» в ящике: если письмо там есть, а адресат его не видит, проблема на стороне получателя (спам-фильтр).
💡 Раз в неделю чистите очередь от отправленных записей старше 90 дней. Иначе через год регистр разрастётся до сотен тысяч строк, а отбор по статусу будет тормозить.
Почему оповещения не приходят: разбор сбоев
Ещё один частый сбой связан с расписанием сервера. Сервер 1С работает по своему часовому поясу. Если рассылка назначена на 8:00, а сервер стоит в UTC, отчёт придёт в 11:00 по Москве. Проверьте время на сервере и учитывайте его в расписании.
Частые вопросы
Можно ли получать оповещения из 1С, если программа закрыта?
Работают ли оповещения в 1С:Фреш и других облачных сервисах?
Сколько стоит подключить Telegram к 1С?
Можно ли отправить уведомление другому пользователю прямо в окно 1С?
Не снимет ли доработка типовую конфигурацию с поддержки?
Источники
- Федеральный закон от 27.07.2006 № 152-ФЗ «О персональных данных»
- Федеральный закон от 13.03.2006 № 38-ФЗ «О рекламе»