Каталог решений - Вывод оповещения к документу через систему взаимодействия

Вывод оповещения к документу через систему взаимодействия

Вывод оповещения к документу через систему взаимодействия

В наличии

Часто требуется оповестить пользователя о работе с документом и, система взаимодействия для этого очень сильно подходит. В данной статье я приведу пример организации вывода оповещения автору документа.

Легенда:
Пользователь делает Запрос в отдел закупок специальным нетиповым документом.
Отдел закупок отвечает, и у пользователя в правом нижнем углу всплывает ответ, и далее пользователи могут переписываться в чате документа, или пользователь, получив ответ, оперативно двигается дальше

Категория:

Описание

Появление всплывающих оповещений, через Систему взаимодействия

Покажу на следующем примере:

Пользователь делает Запрос в Отдел закупок специальным нетиповым документом.
Отдел закупок отвечает и у пользователя в правом нижнем углу всплывает ответ.

1. В документе Запрос в Отдел закупок создается специальный реквизит — ИдентификаторБеседы, если документ типовой, то надо через Регистр сведений делать

В процедуру формы После записи вносится следующий код:

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

		Обсуждение = СистемаВзаимодействия.СоздатьОбсуждение();
		Обсуждение.Заголовок = "По документу";
		Обсуждение.КонтекстОбсуждения = КонтекстДляОбсуждения;
		Обсуждение.Отображаемое = Истина;
		Обсуждение.Записать();
		
		Объект.ИденификаторОбсуждения = СокрЛП(Обсуждение.Идентификатор); 
		Записать();
	КонецЕсли;

КонецПроцедуры

2. В документ Ответ, который инициирует появление оповещения вносится этот код:

&НаСервере
Процедура ПослеЗаписиСервер()
	
	ТекстСообщения= "По документу получен ответ";

	Если не СтрДлина(ТекстСообщения) = Объект.ДлиннаОтвета Тогда
		Обсуждение = СистемаВзаимодействия.ПолучитьОбсуждение(Новый ИдентификаторОбсужденияСистемыВзаимодействия(Объект.ДокументОснование.ИденификаторОбсуждения));
		Сообщение = СистемаВзаимодействия.СоздатьСообщение(Обсуждение.Идентификатор);
		Сообщение.Текст = ТекстСообщения;
		
		ИдентификаторПользователяСВ = СистемаВзаимодействия.ПолучитьИдентификаторПользователя(Объект.ДокументОснование.Автор.ИдентификаторПользователяИБ);
		Сообщение.Получатели.Добавить(ИдентификаторПользователяСВ); 
		Сообщение.Записать();
		Объект.ДлиннаОтвета = СтрДлина(ТекстСообщения);
		
		Записать();
	КонецЕсли;

КонецПроцедуры

 

has been added to your cart:
Оформление заказа