Администрирование · 12 мин
Как отправить сообщение всем пользователям в 1С
Как отправить сообщение всем пользователям в 1С: встроенный механизм оповещений, система взаимодействия, программная рассылка через код и обработки, ограничения и типичные ошибки.
Задача «отправить всем сообщение» в 1С возникает в двух разных ситуациях: администратору нужно предупредить пользователей о технических работах или завершении сеансов, а разработчику — организовать массовую рассылку уведомлений из кода. Инструменты для этого различаются в зависимости от режима работы базы (файловый или клиент-серверный), версии платформы и того, используется ли система взаимодействия.
В типовых конфигурациях на Библиотеке стандартных подсистем (БСП) есть готовые механизмы: обсуждения (система взаимодействия), оповещения пользователей, рассылка отчетов и электронных писем. В самописных или старых конфигурациях рассылку чаще всего реализуют программно — через объект «СообщениеПользователю», внешние обработки или отправку писем через интернет-почту.
Важно сразу определить, что именно требуется: вывести уведомление на экран всем активным пользователям, разослать письма на почту, отправить сообщение в мессенджер или показать текст при следующем входе в базу. От этого зависит выбор инструмента и объем работ. Ниже разобраны все основные способы с конкретными шагами и примерами кода.
Определяем, какой способ рассылки подходит под вашу задачу
Прежде чем что-либо настраивать, ответьте на три вопроса. Первый: кто аудитория — все активные пользователи прямо сейчас или все пользователи базы, включая тех, кто войдет позже. Второй: где должно появиться сообщение — внутри 1С, на электронной почте или в мессенджере. Третий: разовая это акция или регулярная рассылка, которую стоит автоматизировать.
Если нужно срочно предупредить работающих пользователей о перезагрузке сервера, подойдет консоль кластера или система взаимодействия. Если сообщение должны увидеть все, включая тех, кто сейчас не в базе, — логичнее отправить письма на почту или показать оповещение при следующем входе. Для регулярных уведомлений (например, напоминания о сдаче отчетности) правильнее настроить регламентное задание.
Как выбрать способ
Сообщение активным пользователям через консоль кластера
В клиент-серверном режиме администратор может отправить текстовое сообщение всем подключенным пользователям прямо из консоли кластера серверов 1С. Откройте консоль, выберите нужную информационную базу, перейдите на вкладку «Сеансы». Через контекстное меню доступна команда отправки сообщения пользователю — текст появится у выбранных пользователей в виде диалогового окна с кнопкой подтверждения.
Типовой сценарий — завершение сеансов перед обновлением конфигурации. Правильный порядок такой: сначала отправьте сообщение с просьбой завершить работу и указанием времени, затем установите блокировку сеансов (чтобы никто не вошел заново), подождите оговоренное время и только потом принудительно удаляйте оставшиеся сеансы. Так вы избежите потери несохраненных данных у пользователей.
У способа есть ограничение: сообщение увидят только те, кто сейчас в базе. Пользователи, которые войдут через пять минут, ничего не получат — поэтому блокировка сеансов с текстом сообщения обязательна. Текст блокировки будет показываться каждому, кто попытается подключиться.
- 1Откройте консоль кластера и выберите информационную базу
- 2На вкладке «Сеансы» отправьте пользователям сообщение с текстом и временем завершения
- 3В свойствах базы установите блокировку сеансов с поясняющим текстом
- 4Дождитесь указанного времени и проверьте список оставшихся сеансов
- 5Удалите оставшиеся сеансы и выполняйте регламентные работы
Рассылка через систему взаимодействия (обсуждения)
Если в конфигурации включена система взаимодействия (в типовых решениях это пункт «Обсуждения»), сообщение всем можно отправить как в мессенджере. Создайте групповое обсуждение, добавьте в него всех пользователей или используйте существующее общее обсуждение, и напишите текст — он придет всем участникам, в том числе тем, кто сейчас не в базе: они увидят сообщение при следующем входе.
Система взаимодействия требует регистрации базы в сервисе взаимодействия (через сервер 1С или отдельный сервер совместной работы). Включение выполняется в настройках программы, в разделе администрирования. Если обсуждения у вас не работают, проверьте, зарегистрирована ли база и включена ли подсистема в настройках.
Плюс этого способа — история переписки сохраняется, сообщения можно привязывать к документам. Минус — не во всех конфигурациях подсистема внедрена, а в старых версиях платформы ее может не быть вовсе. Для редких административных объявлений включать систему взаимодействия только ради рассылки обычно нерационально.
Программная отправка сообщения всем пользователям из кода
Разработчику часто нужно отправить сообщение программно — например, из обработки или регламентного задания. Базовый объект платформы — «СообщениеПользователю», но важно понимать его ограничение: он выводит текст в окне сообщений текущего сеанса, то есть у того пользователя, от имени которого выполняется код. Массовой рассылки «всем» этот объект сам по себе не делает.
Для показа сообщения конкретным пользователям в типовых конфигурациях используют подсистему оповещений БСП либо отправляют уведомления через систему взаимодействия программно. Для рассылки на электронную почту применяют объект «ИнтернетПочта»: код перебирает пользователей информационной базы, берет их адреса и отправляет письмо каждому или одним письмом со списком получателей.
Пример цикла по пользователям выглядит так: получить массив через «ПользователиИнформационнойБазы.ПолучитьПользователей()», затем для каждого выполнить нужное действие — сформировать письмо, записать оповещение или отправить сообщение в обсуждение. Учитывайте, что в регламентном задании код выполняется на сервере, и интерактивные вызовы (Предупреждение, Вопрос) там недоступны.
Пользователи = ПользователиИнформационнойБазы.ПолучитьПользователей();
Для Каждого ПользовательИБ Из Пользователи Цикл
// здесь логика отправки: письмо, оповещение, сообщение в обсуждение
КонецЦикла;Рассылка на электронную почту всех пользователей
Самый универсальный способ донести сообщение до всех, включая отсутствующих, — электронная почта. В типовых конфигурациях есть учетные записи электронной почты и механизмы отправки писем; во многих решениях доступна рассылка отчетов, которую можно приспособить и под произвольные уведомления. Настройка сводится к указанию параметров SMTP-сервера и созданию письма со списком получателей.
Программно письмо отправляется через объекты «ИнтернетПочтовоеСообщение» и «ИнтернетПочта»: формируется текст, добавляются получатели, устанавливается соединение с SMTP-сервером и выполняется отправка. Адреса пользователей обычно хранятся в контактной информации справочника пользователей — перед рассылкой убедитесь, что они заполнены, иначе часть сотрудников письмо не получит.
При массовой отправке учитывайте ограничения почтовых сервисов на количество получателей и писем в единицу времени: при превышении лимитов письма могут попадать в спам или блокироваться. Для большого числа адресов отправляйте письма порциями с паузами и используйте скрытую копию, если получатели не должны видеть адреса друг друга.
Показ сообщения при входе и автоматизация рассылок
Если сообщение должны увидеть все, кто зайдет в базу в ближайшие дни, удобен показ оповещения при старте сеанса. В типовых конфигурациях для этого есть механизмы информации при запуске и оповещений пользователей; в собственных решениях реализуют вывод текста в обработчике «ПриНачалеРаботыСистемы» с условием показа один раз. Это надежнее, чем надеяться, что пользователь прочитает письмо.
Регулярные рассылки автоматизируют регламентными заданиями: задание по расписанию формирует список получателей, собирает данные (например, список просроченных задач) и отправляет письма или сообщения в обсуждения. Перед включением проверьте, что в базе разрешено выполнение регламентных заданий и что у фонового сеанса есть права на нужные объекты.
Для файловых баз регламентные задания выполняются только пока запущен сеанс, отвечающий за их обслуживание, — это частая причина «неработающей» автоматической рассылки. В клиент-серверном режиме задания выполняет сервер, и такой проблемы нет.
Проверка результата и контроль доставки
После рассылки убедитесь, что сообщение действительно дошло. Для консоли кластера признак успеха — пользователи подтвердили получение и завершили работу. Для почтовой рассылки проверьте журнал отправки: в типовых конфигурациях письма и ошибки фиксируются, при программной отправке анализируйте исключения и коды ответов SMTP-сервера.
Для сообщений в системе взаимодействия проверить прочтение можно по отметкам в обсуждении. Если рассылка критична (например, об аварийном отключении), продублируйте ее вторым каналом — почтой или корпоративным мессенджером: у любого отдельного способа есть сценарии, при которых пользователь сообщение не увидит.
Как проверить результат
Пользователи подтвердили получение и завершили сеансы
Сеансы активны, пользователи не видели сообщения
Письма в журнале отправлены без ошибок, тестовый адрес получил письмо
Ошибки SMTP, письма в спаме или отсутствуют
Сообщение видно в общем обсуждении у всех участников
Обсуждения не работают, база не зарегистрирована в сервисе
Текст показывается при старте сеанса один раз
Оповещение появляется повторно или не показывается вовсе
Часто задаваемые вопросы
Можно ли отправить сообщение всем пользователям без программирования?
Да. В клиент-серверном режиме — через консоль кластера (сообщение сеансам и текст блокировки), в типовых конфигурациях — через обсуждения или встроенные механизмы оповещений и рассылки отчетов. Программирование требуется только для нестандартных сценариев.
Почему СообщениеПользователю не подходит для рассылки всем?
Этот объект выводит текст только в окне сообщений того сеанса, где выполняется код. Он не имеет механизма доставки другим пользователям, поэтому для массовой отправки нужны почта, система взаимодействия или оповещения.
Как предупредить пользователей перед обновлением конфигурации?
Отправьте сообщение через консоль кластера, затем установите блокировку сеансов с поясняющим текстом — его увидят и те, кто попытается войти позже. После оговоренного времени завершите оставшиеся сеансы.
Работает ли рассылка в файловой базе 1С?
Рассылка писем и сообщений в обсуждениях работает, но регламентные задания в файловом режиме выполняются только при запущенном сеансе-обработчике. Консоль кластера в файловом режиме недоступна — там нет сервера 1С.
Как отправить сообщение тем, кто сейчас не в базе?
Используйте каналы с отложенной доставкой: электронную почту, сообщения в обсуждениях (они отобразятся при входе) или оповещение при старте системы. Сообщение через консоль кластера видят только активные сеансы.
Что делать, если письма рассылки попадают в спам?
Сократите число получателей в одном письме, отправляйте порциями с паузами, проверьте настройки отправителя (корректный адрес, отсутствие признаков массовой рассылки в теме) и согласуйте лимиты с администратором почтового сервера.
Что важно запомнить
Выбор способа зависит от аудитории и момента доставки: консоль кластера — для активных сеансов, обсуждения и оповещения — для пользователей базы, почта — для всех, включая отсутствующих. СообщениеПользователю не рассылает ничего наружу. Перед массовой отправкой тестируйте на одном адресе и всегда предупреждайте пользователей перед принудительным завершением сеансов.