Часть процедур и функций была взята из статьи Сервисы интеграции без Шины и интеграции
Добавим новый сервис интеграции Д_Оповещения и канал Д_ОповещениеПользователей (направление сообщений Отправка)
Добавим общий модуль Д_ОповещениеПользователей (сервер, вызов сервера, привилегированный)
Добавим в этот модуль ниже перечисленные процедуры и функции
Найдем обработку БСП ТекущиеДела
В форму обработки ТекущиеДела добавим новую глобальную переменную, в событие ПриОткрытии добавим обработчик ожидания процедуру ПолучитьСообщенияДляОповещения каждые 15 секунд (можно событие ПриОткрытии перенести в расширение)
//КЕ
&НаКлиенте
Перем СтруктураПользователяФормы;
//КЕ
&НаКлиенте
Процедура ПриОткрытии(Отказ)
//КЕ
СтруктураПользователяФормы = Д_ОповещениеПользователей.ПолучитьСтруктуруПользователя();
ПодключитьОбработчикОжидания("ПолучитьСообщенияДляОповещения", 15, Ложь);
//КЕ
КонецПроцедуры
//КЕ
&НаКлиенте
Процедура ПолучитьСообщенияДляОповещения()
МассивСообщений = Д_ОповещениеПользователей.ПолучитьСообщения("Д_Оповещения", "Д_ОповещениеПользователей", СтруктураПользователяФормы);
Если МассивСообщений.Количество() > 0 Тогда
Для Каждого ТекСообщение Из МассивСообщений Цикл
Если Не ТекСообщение.Свойство("Сообщение") Тогда
Продолжить;
КонецЕсли;
Если ТекСообщение.Свойство("НавигационнаяСсылка") Тогда
ПоказатьОповещениеПользователя(ТекСообщение.Сообщение
,ТекСообщение.НавигационнаяСсылка
,?(ТекСообщение.Свойство("Отправитель"),ТекСообщение.Отправитель,""),
,СтатусОповещенияПользователя.Важное
,ТекСообщение.Идентификатор);
Иначе
ПоказатьОповещениеПользователя(ТекСообщение.Сообщение,
,?(ТекСообщение.Свойство("Отправитель"),ТекСообщение.Отправитель,""),
,СтатусОповещенияПользователя.Важное
,ТекСообщение.Идентификатор);
КонецЕсли;
КонецЦикла;
Д_ОповещениеПользователей.ОчиститьВсеСообщенияНаСервере("Д_Оповещения", "Д_ОповещениеПользователей", МассивСообщений);
КонецЕсли;
КонецПроцедуры
//КЕ
Откроем стандартную обработку Управление сервисами интеграции, поставим галочку на новый сервис интеграции Оповещения
Создадим внешнюю обработку для теста сервиса интеграции. Со списком получатели (пользователи), полем сообщение (Строка), полем документ (ссылка на заказ покупателя)
В модуль формы внешней обработки добавим процедуры
&НаСервере
Процедура ОтправитьСообщениеВКолокольчикНаСервере()
МассивПолучатели = Получатели.Выгрузить().ВыгрузитьКолонку("Пользователь");
Д_ОповещениеПользователей.ОтправитьСообщениеКолокольчикПользователям(МассивПолучатели,Сообщение,Док);
КонецПроцедуры
&НаКлиенте
Процедура ОтправитьСообщениеВКолокольчик(Команда)
ОтправитьСообщениеВКолокольчикНаСервере();
КонецПроцедуры
Отправляем сообщение себе и другому пользователю с ссылкой на документ Заказ покупателя
Тестировал:
- Библиотека стандартных подсистем, редакция 3.1 (3.1.9.337)
- 1С:Комплексная автоматизация 2 (2.4.13.209)
- Платформа 1С:Предприятие 8.3 (8.3.24.1342)