Появление всплывающих оповещений, через Систему взаимодействия
Покажу на следующем примере:
Пользователь делает Запрос в Отдел закупок специальным нетиповым документом.
Отдел закупок отвечает и у пользователя в правом нижнем углу всплывает ответ.
1. В документе Запрос в Отдел закупок создается специальный реквизит - ИдентификаторБеседы, если документ типовой, то надо через Регистр сведений делать
В процедуру формы После записи вносится следующий код:
&НаСервере
Процедура ПослеЗаписиСервер()
Если СокрЛП(Объект.ИденификаторОбсуждения) = "" Тогда
КонтекстДляОбсуждения = Новый КонтекстОбсужденияСистемыВзаимодействия(ПолучитьНавигационнуюСсылку(Объект.Ссылка));
Обсуждение = СистемаВзаимодействия.СоздатьОбсуждение();
Обсуждение.Заголовок = "По документу";
Обсуждение.КонтекстОбсуждения = КонтекстДляОбсуждения;
Обсуждение.Отображаемое = Истина;
Обсуждение.Записать();
Объект.ИденификаторОбсуждения = СокрЛП(Обсуждение.Идентификатор);
Записать();
КонецЕсли;
КонецПроцедуры
2. В документ Ответ, который инициирует появление оповещения вносится этот код:
&НаСервере
Процедура ПослеЗаписиСервер()
ТекстСообщения= "По документу получен ответ";
Если не СтрДлина(ТекстСообщения) = Объект.ДлиннаОтвета Тогда
Обсуждение = СистемаВзаимодействия.ПолучитьОбсуждение(Новый ИдентификаторОбсужденияСистемыВзаимодействия(Объект.ДокументОснование.ИденификаторОбсуждения));
Сообщение = СистемаВзаимодействия.СоздатьСообщение(Обсуждение.Идентификатор);
Сообщение.Текст = ТекстСообщения;
ИдентификаторПользователяСВ = СистемаВзаимодействия.ПолучитьИдентификаторПользователя(Объект.ДокументОснование.Автор.ИдентификаторПользователяИБ);
Сообщение.Получатели.Добавить(ИдентификаторПользователяСВ);
Сообщение.Записать();
Объект.ДлиннаОтвета = СтрДлина(ТекстСообщения);
Записать();
КонецЕсли;
КонецПроцедуры