База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как отправить сообщение пользователю с сервера в 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 8 часов, 16 минут назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
15 апреля 2026 в 17:30 #36508
Как отправить сообщение пользователю с сервера
-
15 апреля 2026 в 17:30 #36509
Чтобы отправить сообщение пользователю с сервера в 1С, есть несколько распространённых способов, в зависимости от задачи и используемой платформы. Вот самые практичные варианты:
—
### 1. Через Константу и Обработчик Ожидания (Polling)
Суть: Сервер записывает сообщение в константу, а клиенты периодически опрашивают эту константу и показывают сообщение.
Как сделать:
— Создаёте константу строкового типа, например, «_Сообщение».
— На сервере пишете процедуру, которая устанавливает значение константы:1С (Код)1234&НаСервереБезКонтекстаПроцедура ОтправитьСообщение(ТекстСообщения)Константы._Сообщение.Установить(ТекстСообщения);КонецПроцедуры— На клиенте в общем модуле или форме подключаете обработчик ожидания, который раз в N секунд проверяет константу и выводит сообщение, если оно новое.
1С (Код)1234567891011Перем ТекущееСообщение;Процедура ПроверитьСообщение()НовоеСообщение = Константы._Сообщение.Получить();Если НовоеСообщение <> ТекущееСообщение ТогдаТекущееСообщение = НовоеСообщение;Если ТекущееСообщение <> "" ТогдаПредупреждение(ТекущееСообщение, 0);КонецЕсли;КонецЕсли;КонецПроцедуры— Обработчик ожидания запускается при старте клиента:
1С (Код)1ПодключитьОбработчикОжидания("ПроверитьСообщение", 5); // каждые 5 секунд—
### 2. Через Систему Взаимодействия (Обсуждения)
В версиях 8.3.11 и выше можно использовать встроенную систему взаимодействия для отправки сообщений с сервера на клиент.
— Создаёте служебное обсуждение для пользователя.
— Сервер отправляет сообщение в это обсуждение.
— Клиент подписывается на новые сообщения и обрабатывает их.Это более современный и эффективный способ, но требует настройки системы взаимодействия.
—
### 3. Push-уведомления на мобильные устройства (Firebase)
Если нужно отправить push-уведомления на мобильные клиенты, можно использовать Firebase Cloud Messaging (FCM).
— На мобильном клиенте получаете идентификатор подписчика.
— Сервер отправляет push через FCM API.
— Клиент получает и отображает уведомление.—
### 4. Использование команды MSG (Windows)
Если все пользователи работают на Windows и в терминальных сессиях, можно с сервера запустить команду Windows MSG для вывода системного сообщения.
1С (Код)12СтрокаКоманды = "MSG /server:" + ИмяКомпьютера + " * " + "Текст сообщения";ЗапуститьПриложение(СтрокаКоманды);—
### Пример кода для варианта 1 (через константу):
Общий модуль «Уведомления»:
1С (Код)1234567891011121314151617&НаСервереБезКонтекстаПроцедура ОтправитьСообщение(Текст)Константы._Сообщение.Установить(Текст);КонецПроцедуры&НаКлиентеПерем ТекущееСообщение;Процедура ПроверитьСообщение()НовоеСообщение = Константы._Сообщение.Получить();Если НовоеСообщение <> ТекущееСообщение ТогдаТекущееСообщение = НовоеСообщение;Если ТекущееСообщение <> "" ТогдаПредупреждение(ТекущееСообщение, 0);КонецЕсли;КонецЕсли;КонецПроцедурыВ форме или при старте клиента:
1С (Код)1ПодключитьОбработчикОжидания("ПроверитьСообщение", 5);—
Рекомендую посмотреть здесь, там есть подробные примеры и объяснения:
https://infostart.ru/1c/articles/334073/
https://wonderland.v8.1c.ru/blog/peredacha-informatsii-s-servera/
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.