Реализовано в виде подсистемы
Для полноценного использования необходимо иметь пользователя с ролью "ПолныеПрава" (функции "Выход из системы" и выполнение кода доступны только для пользователя с полными правами, хотя все это можно изменить) и добавить строки в модуль приложения (см. демку)
Функционал и пользовательский интерфейс достаточно ограничены, т.к. основным желанием было достижение результата
Основные процедуры модуля обработки
Перем _ТекущийПользователь Экспорт; // Текущий пользователь Тип(ПользователиИнформационнойБазы)
Перем ТекущийУИД Экспорт; // УИД текущего пользователя Тип(УникальныйИдентификатор)
Перем Форма Экспорт; // основная форма обработки Тип(Форма)
// процедура формирует сообщение для пользователя
// ПАРАМЕТРЫ
// ТипСобытия - Число (1-выход из системы, 2 - сообщение, остальные (до 999) - пользовательские)
// ВремяДоСтарта - Число (время ожидания перед реакцией на событие)
// УИДПолучателя - Строка36 (УИД пользователя-получателя сообщения)
// УИДОтправителя - Строка36 (УИД пользователя-отправителя сообщения)
// _ТекстОповещения - Строка (текст сообщения пользователю)
// КодИсполнения - Строка (код для выполнения на стороне клиента)
Процедура СформироватьСообщение(ТипСобытия, ВремяДоСтарта=5, УИДПолучателя, УИДОтправителя,
_ТекстОповещения="", КодИсполнения="") Экспорт
// очистим события для пользователя
// ПАРАМЕТРЫ
// ТипСобытия - Число (если ТипСобытия = 999 - очищаются сообщения для всех пользователей
// иначе только выбранного типа)
Процедура _ОчиститьСообщения(ТипСобытия = Неопределено) Экспорт