Изломал голову.
Поднят HTTP-сервис.
Получаем входящий запрос в котором указан конкретный менеджер-пользователь. НаСервере
Если пользователь работает, надо его оповестить о входящем запросе. НаКлиенте, вероятно.
Как привязать сообщение к, например, начальной странице конкретного пользователя, чтобы всплывало и обрабатывало нажатие, вызвав мою обработку.

Чувствую, надо как-то через глобальную обработку оповещений.
---
Самое простое использовать Систему взаимодействия. Она как раз очень четко умеет с сервера передать сообщение в диалог клиенту. У меня так работает АТС. При входящем звонке АТС формирует http запрос к 1С. А 1С ищет телефон и пользователю выбрасывает оповещение, что звонит такой-то. Реализуется - 10 строк кода.
---
Всем спасибо! Решил сделать через систему взаимодействия. Действительно удобно.

```1c
    &НаСервере
    Процедура ОтправитьНаСервере()
    ДанныеСообщения = ОбсужденияУНФ.НовыйДанныеСообщения();
    ДанныеСообщения.Объект = Ссылка; //Любой документ или справочник. Например, событие.
    ДанныеСообщения.Текст = ТекстСообщения;
    ДанныеСообщения.Дата = ТекущаяДатаСеанса();
    ДанныеСообщения.Автор = АссистентУправления.ПользовательАссистент();
    ДанныеСообщения.Получатель = текПользователь; //Пользователь, которому предназначено сообщение
    ОбсужденияУНФ.СоздатьСообщение(ДанныеСообщения);
    КонецПроцедуры
```
---
используй систему взаимодеяствий
---
сделал себе такое. использовал регистр сведений
---
т.е.

```1c
    Процедура ПриНачалеРаботыСистемы()
    //...

    ПодключитьОбработчикОповещения("глОбработкаОповещения");
    //...

    КонецПроцедуры // ПриНачалеРаботыСистемы()
```

Но ведь оповестить() работает на клиенте. И это правильно, т.к. мы не знаем иначе в какую форму оповестить.

Вот в этом и загвоздка.
---
Замените ПодключитьОбработчикОповещения на ПодключитьОбработчикОжидания.

Сервис пишет запись в РС, в обработчике ожидания проверяете этот РС на наличие новых записей.
Ну либо да, система взаимодействия.
---
РС = РегистрыСведений.НапоминанияПользователя.СоздатьНаборЗаписей();
   РС.Отбор.Пользователь.Установить(Стр.Пользователь);
   РС.Отбор.Источник.Установить(ТекущийОбъект.Ссылка);

   СтрРС = РС.Добавить();
   СтрРС.Пользователь = Стр.Пользователь;
   СтрРС.Источник = ТекущийОбъект.Ссылка;
   СтрРС.ВремяСобытия = Дата;
   СтрРС.СрокНапоминания = Дата;
   СтрРС.Описание = "!!!!!!!!!!!";
   РС.Записать();
---
Допустим, появилась новая запись в регистре. Как инициировать и обработать событие на клиенте при появлении этой записи? Получается, есть регламентное задание, которое 1 раз в 5-10 минут опрашивает регистр и выводит нужному пользователю сообщение?
---
Как инициировать и обработать событие на клиенте при появлении этой

В момент когда выполняется код который добавляет запись в регистре нужно добавить запись и в регистр напоминания пользователю. В этом регистре можно и привязать объект который можно будет открыть в появившемся оповещении.
---
Самое простое использовать Систему взаимодействия. Она как раз очень четко умеет с сервера передать сообщение в диалог клиенту. У меня так работает АТС. При входящем звонке АТС формирует http запрос к 1С. А 1С ищет телефон и пользователю выбрасывает оповещение, что звонит такой-то. Реализуется - 10 строк кода.
---
Получится, но цепочка довольно сложная. Я получаю входящий запрос, я отправляю исходящий запрос на сервер взаимодействия, чтобы он вернулся ко мне для одного из пользователей..
---
Не совсем так. Сервер получает запрос. И через Систему взаимодействия формирует сообщение для нужного пользователя. Т.е. ВСЕ делается на сервере. Пользователь получает сообщение штатными средствами платформы (если подключена СВ). Т.е. цепочки вообще нет. Отправлять что-то на сервер СВ не надо. Надо сбить сообщение и выполнить команду Отправить в МенеджерСистемыВзаимодействия. Подчеркиваю, все это на сервере, т.е. там же где и крутится http-сервис.
---
А если не из 1С а командной строкой отправлять ?
---
веб-клиент сразу пролетает с такими уведомлениями. Компьютеру под управлением Linux придёт уведомление? Мобильный клиент?
---
Centrifugo – сервер для обмена сообщениями в режиме реального времени: https://infostart.ru/public/1228139/
---
1. Создать Параметр сеанса, булево.
2. Создать HTTP-сервис, при необходимости в нём изменяем Параметр сеанса в Истина.
3. Создать внеш обработку с необходимым интерфейсом клиента для обратной связи.
4. Создать глобальный обработчик оповещения, проверять Параметр сеанса на Истина, при этом вызывать открытие интерфейса внешней обработки. При открытии Параметр сеанса возвращаем в Ложь.
---
Не успел проверить, закрутился.
---
Интересно. Попробую.
---
Как вариант, тоже попробую
---
Всем спасибо! Решил сделать через систему взаимодействия. Действительно удобно.

```1c
    &НаСервере
    Процедура ОтправитьНаСервере()
    ДанныеСообщения = ОбсужденияУНФ.НовыйДанныеСообщения();
    ДанныеСообщения.Объект = Ссылка; //Любой документ или справочник. Например, событие.
    ДанныеСообщения.Текст = ТекстСообщения;
    ДанныеСообщения.Дата = ТекущаяДатаСеанса();
    ДанныеСообщения.Автор = АссистентУправления.ПользовательАссистент();
    ДанныеСообщения.Получатель = текПользователь; //Пользователь, которому предназначено сообщение
    ОбсужденияУНФ.СоздатьСообщение(ДанныеСообщения);
    КонецПроцедуры
```
---
а обработчика нет для обратной связи?
---
Не понял контекст вопроса.
---
>> "чтобы всплывало и обрабатывало нажатие, вызвав мою обработку."

а как будет обрабатываться обратная связь: программно или как? обработка как будет вызвана?
---
Для толстого Клиента можно так. Но это очень плохо.

Делайте Общий Модуль Сервер
Можете даже так туда написать

```1c
    &НаКлиенте
    Процедура Опов(Им,Па,Ис) Экспорт
    //Сообщить("001");
    Оповестить(Им,Па,Ис);
    КонецПроцедуры
```

/////**************************************
/// Записываем Документ или можете вставить регистр сведений или регистр накопления (при записи)

```1c
    &НаСервере
    Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    // Вставить содержимое обработчика.
    Общ.Опов("11","22","33");
    КонецПроцедуры
```

////*****************************************

Потом к примеру в Журнале Документов Ловите оповещение
//*************************

```1c
    &НаКлиенте
    Перем _ИмяСобытия;

    &НаКлиенте
    Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
    //Сообщить(ИмяСобытия + " " + Параметр + " "+ Источник);
    _ИмяСобытия = ИмяСобытия;
    ПодключитьОбработчикОжидания("_Показать", 1, Истина);
    КонецПроцедуры

    &НаКлиенте
    Процедура _Показать()
    Сообщить("00000 "+_ИмяСобытия);
    КонецПроцедуры
```