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