Уведомления в 1С 8.3: оповещения, напоминания, email и SMS
Содержание
Бухгалтер провёл платёжку, а менеджер должен сразу узнать, что деньги пришли. Или сотруднику нужно напомнить сдать авансовый отчёт в пятницу. Под словом «уведомление» в 1С прячутся четыре совсем разных механизма — от всплывающей подсказки в углу экрана до автоматической рассылки писем по расписанию.
Разберём, как создать уведомление в 1С под каждую задачу: всплывающее оповещение пользователю прямо в интерфейсе, личное напоминание, отправку по электронной почте и SMS. Для разработчика покажу код, для пользователя и администратора — пути в настройках. Всё — для платформы 8.3 с интерфейсом «Такси».
Какие уведомления умеет 1С и что выбрать
Прежде чем что-то настраивать, определитесь с типом. Они не взаимозаменяемы: оповещение видит только тот, кто сейчас сидит в базе, а письмо уйдёт человеку, который в 1С вообще не заходит.
| Механизм | Кто увидит | Нужен программист | Когда уместно |
|---|---|---|---|
| Всплывающее оповещение | тот, кто работает в базе сейчас | да, пара строк кода | подтвердить действие, подсветить событие |
| Напоминание | сам пользователь, себе | нет | не забыть про задачу или документ |
| Email-рассылка | любой адресат по почте | нет (настройка в интерфейсе) | отчёты, уведомления контрагентам |
| SMS | сотрудник или клиент на телефон | нет (настройка в интерфейсе) | срочное, когда почту не читают |
Если задача звучит как «пусть программа сама раз в день шлёт отчёт на почту» — вам нужна не кнопка, а регламентное задание (последний раздел). Если «подсветить менеджеру, что пришла оплата» — всплывающее оповещение.
Всплывающее оповещение пользователю в интерфейсе
Это та самая подсказка, которая выезжает в правом нижнем углу экрана и через несколько секунд гаснет. Показывается она из кода, поэтому способ подходит для доработок и расширений конфигурации.
Глобальный метод — ПоказатьОповещениеПользователя. Вызывается в клиентском контексте:
&НаКлиенте
Процедура УведомитьОПроведении()
ПоказатьОповещениеПользователя(
"Документ проведён",
,
"Накладная № 142 записана и проведена");
КонецПроцедуры
Первый параметр — короткий заголовок, третий — пояснение под ним. Второй параметр я оставил пустым, но в него можно передать навигационную ссылку на объект (функция ПолучитьНавигационнуюСсылку). Тогда клик по оповещению откроет сам документ — удобно, когда уведомляете о созданной задаче.
В новых версиях платформы у метода есть ещё параметры: картинка и статус оповещения (важное — подсвечивается заметнее, информационное — нейтрально). Задавать их не обязательно.
Оповещение живёт на экране несколько секунд и нигде не сохраняется. Если сообщение критично и его нельзя пропустить — всплывающее оповещение не подходит, используйте диалог или напоминание.
Типичное место вызова — обработчик события формы или команды: после записи документа, по окончании длительной операции, при получении данных из обмена.
Несколько оповещений подряд 1С выстраивает в стопку и показывает по очереди, поэтому не бойтесь вызвать метод из цикла — экран не «залипнет». А вот спамить им не стоит: если за минуту выскочит десяток подсказок, пользователь перестанет их читать. Выводите оповещение только на значимые события — завершение обработки, успешную выгрузку, важную ошибку, которую не нужно подтверждать кнопкой.
Диалоги и сообщения, которые нельзя пропустить
Когда уведомление должно остановить работу и дождаться реакции, нужен модальный диалог. В управляемом интерфейсе 8.3 такие окна открываются асинхронно — через описание оповещения о завершении.
Вопрос с кнопками «Да/Нет»:
&НаКлиенте
Процедура СпроситьПодтверждение()
Оповещение = Новый ОписаниеОповещения("ПослеОтвета", ЭтотОбъект);
ПоказатьВопрос(Оповещение, "Провести документ?", РежимДиалогаВопрос.ДаНет);
КонецПроцедуры
&НаКлиенте
Процедура ПослеОтвета(Результат, ДополнительныеПараметры) Экспорт
Если Результат = КодВозвратаДиалога.Да Тогда
// действие при согласии
КонецЕсли;
КонецПроцедуры
Для простого предупреждения без выбора есть ПоказатьПредупреждение — выводит окно с одной кнопкой «ОК».
Если же нужно не окно, а строка в служебной панели сообщений (например, при проверке заполнения документа), применяют объект СообщениеПользователю:
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Не заполнен контрагент";
Сообщение.Поле = "Объект.Контрагент";
Сообщение.Сообщить();
Указание поля через свойство Поле подсветит проблемную ячейку прямо в форме — пользователь сразу видит, где ошибка.
Напоминания: уведомление, которое ставишь себе
Напоминания — пользовательский механизм. Программист здесь не нужен: сотрудник сам привязывает срок к документу, задаче или просто к тексту, и в нужный момент 1С выводит оповещение.
Эта возможность работает в конфигурациях, где подключена соответствующая подсистема стандартной библиотеки (например, в «Зарплате и управлении персоналом» и комплексных решениях). Проверить просто: откройте карточку документа или элемента списка и посмотрите в командной панели команду, связанную с напоминанием, либо раздел личных напоминаний текущего пользователя.
Как это выглядит на практике:
- Открываете нужный документ или задачу.
- Вызываете команду настройки напоминания в командной панели формы.
- Указываете, за сколько времени до срока напомнить — или конкретную дату и время.
- В назначенный момент 1С показывает оповещение со ссылкой на объект.
Напоминание привязано к пользователю, который его создал. Коллеге оно не придёт — для оповещения других людей используйте почту или SMS.
Если в вашей конфигурации такой команды нет, самое близкое по смыслу — поставить задачу через механизм бизнес-процессов и задач (там, где он есть) или вести сроки в списке дел. Напоминание удобно тем, что не требует ни почтового сервера, ни стороннего оператора: всё крутится внутри базы и подходит, когда уведомить нужно только самого себя.
Уведомления по электронной почте
Почта — основной способ уведомить человека, который в базе не работает : контрагента, руководителя, сотрудника из другого отдела. Сначала настраивают учётную запись, потом — отправку.
Шаг 1. Подключить почту. Зайдите в Администрирование → Органайзер и включите работу с почтой. Затем создайте учётную запись: адрес, сервер исходящей почты (SMTP), порт, логин и пароль. Для большинства почтовых сервисов параметры есть в их справке по разделу «настройка почтовых программ».
Шаг 2. Проверить отправку. После сохранения учётной записи отправьте тестовое письмо себе. Если оно дошло — канал работает.
Шаг 3. Настроить саму рассылку. Для регулярной отправки отчётов в том же разделе Администрирование → Органайзер включите рассылки отчётов. Дальше в списке рассылок создаёте новую: выбираете отчёт, получателей, формат вложения (например, PDF или таблицу) и расписание.
В одну рассылку можно положить сразу несколько отчётов — например, оборотно-сальдовую ведомость и реестр документов за день, — и они уйдут одним письмом. Получателей удобно брать не списком адресов, а из справочников: контрагенты, сотрудники, партнёры. Тогда при смене почты у человека рассылка подхватит новый адрес автоматически.
Проверьте перед запуском:
В файловой базе рассылка сработает только когда программа открыта и в ней есть активный сеанс. Для отправки строго по расписанию без участия человека нужен клиент-серверный режим — там задание выполняется на сервере. Об этом подробнее в разделе про фоновую рассылку.
SMS-уведомления сотрудникам и клиентам
SMS нужны там, где почту читают редко: напомнить о записи, подтвердить заказ, сообщить водителю маршрут. 1С не отправляет сообщения напрямую — она работает через оператора рассылки (SMS-агрегатора), у которого есть личный кабинет и баланс.
Порядок настройки:
- Зарегистрируйтесь у оператора отправки SMS и пополните баланс. Там же обычно согласуется имя отправителя (подпись в сообщении).
- В 1С откройте
Администрирование → Органайзери включите отправку SMS. - Выберите своего оператора из списка поддерживаемых и введите логин и пароль от его личного кабинета.
- Отправьте тестовое сообщение на свой номер.
После этого SMS можно слать из тех мест конфигурации, где это предусмотрено: из карточки контрагента, из документа, из обработки рассылки. Многие операторы возвращают статус доставки — 1С умеет его показывать, так что видно, дошло сообщение или номер оказался недоступен.
Ориентир по стоимости: одно SMS у агрегаторов обходится примерно в 2–5 рублей в зависимости от оператора и объёма. Точные тарифы смотрите у выбранного сервиса — 1С берёт цену из вашего договора с ним, своей наценки у неё нет.
Длинное сообщение разобьётся на несколько SMS и спишется как несколько. Держите текст в пределах 70 символов кириллицей, чтобы уложиться в одно сообщение.
Фоновая рассылка уведомлений по расписанию
Чтобы уведомления уходили сами — каждое утро, в конце месяца, по событию — нужна связка «регламентное задание + расписание». Это и есть автоматизация, ради которой чаще всего ищут, как создать уведомление в 1С.
Регламентные задания смотрят и настраивают здесь: Администрирование → Обслуживание → Регламентные и фоновые задания. У рассылки отчётов, которую мы настроили выше, расписание задаётся прямо в её карточке — отдельное задание создавать не нужно, система делает это за вас.
Как ведёт себя задание в разных режимах:
- 🗂️ Файловая база. Регламентные задания выполняет клиентское приложение. Пока никто не открыл базу — ничего не отправится. Для регулярной работы оставляют открытым отдельный сеанс или переходят на сервер.
- 🖥️ Клиент-серверная база . Задания выполняет сервер 1С по расписанию, независимо от того, сидит ли кто-то в базе. Это надёжный вариант для автоматических уведомлений.
Разработчику, который делает собственную рассылку, не обязательно создавать задание вручную в списке: его описывают в конфигураторе (объект «Регламентное задание» с методом-обработчиком), а в клиент-серверной базе управляют через менеджер РегламентныеЗадания. Внутри обработчика уже вызывается отправка письма или SMS.
Типичный рабочий сценарий выглядит так. Каждое утро в 8:00 задание выбирает документы со вчерашней датой, формирует по ним отчёт и шлёт его руководителю на почту. Параллельно тем клиентам, у кого сегодня заканчивается оплата, уходит SMS-напоминание. Всё это — один раз настроенные рассылки, которые дальше работают без участия человека. Именно в этом ценность автоматических уведомлений: сотрудник не держит в голове, кому и когда написать.
Прежде чем ставить рассылку на частое расписание, прикиньте нагрузку: тяжёлый отчёт, который формируется каждые 5 минут, нагрузит сервер. Для большинства уведомлений хватает одного запуска в день или по событию.
Частые ошибки при настройке уведомлений
Самое частое — рассылка «молчит», хотя всё вроде настроено. Разберём по симптомам.
ПоказатьОповещениеПользователя работает только в клиентском контексте. Из серверной процедуры оповещение не показать — вынесите вызов на клиента.Частые вопросы
Можно ли отправить уведомление конкретному пользователю прямо в 1С, без почты?
Почему рассылка работала, а после обновления перестала?
Нужен ли программист, чтобы настроить уведомления по email и SMS?
Администрирование → Органайзер через интерфейс. Программист нужен только для нестандартных сценариев — своих оповещений из кода или рассылки по собственному условию.