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

09.04.20

Задачи пользователя - Адаптация типовых решений

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

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

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

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

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

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

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

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

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

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

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

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

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

 

См. также

Табличная часть в доп. реквизитах и формирование таблиц в шаблоне docx для 1С:ДО 3.0

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    4698    10    5    

18

Расширение для 1С:УНФ. Автоматическое снятие резервов в Заказах покупателей

Логистика, склад и ТМЦ Адаптация типовых решений Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Мы доработали УНФ, чтобы она автоматически отменяла старые резервы и не мешала эффективно продавать.

7200 руб.

02.08.2023    3127    4    0    

20

Каждому менеджеру нужен свой Excel

Адаптация типовых решений Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Абонемент ($m)

Каждый из нас сталкивается с ситуацией, когда какой-нибудь менеджер показывает свой Excel и рассказывает, как он что-то из 1С копирует в него, снабжает пояснениями, выделяет цветом и т.д. и т.п. Заканчивается все просьбой сделать вот чтобы также было в 1С. И оказывается такой человек (почти с гарантией) либо лучшим продажником, либо каким-то важным, за все отвечающим, - на ком все держится.

2 стартмани

22.04.2024    3051    dimanich70    6    

14

Создать на основании - своя кнопка (БСП). Проблема двух подменю Создать на основании

БСП (Библиотека стандартных подсистем) Адаптация типовых решений Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Понадобилось в подменю "Создать на основании" добавить свою команду, которая открывает обработку. В процессе доработок появилась проблема двух подменю "Создать на основании". В статье о том, как решились проблемы.

01.03.2024    1772    dimanich70    8    

14

Доработка отчета "Связанные документы" (структура подчиненности) для вывода объектов из любого расширения

Адаптация типовых решений Платформа 1С v8.3 1С:Управление торговлей 11 Россия Абонемент ($m)

Доработка типового отчета "Связанные документы" позволяет просто и быстро расширять состав объектов для построения структуры подчиненности документов, используя объекты основной конфигурации и любых расширений.

1 стартмани

27.10.2023    2129    19    avmartynov    14    

44
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. TreeDogNight 22 18.05.20 15:29 Сейчас в теме
Интересная задумка, но можно обойтись без добавления реквизита "ИденификаторОбсуждения", просто заполняйте Ключ обсуждения Уникальным идентификатором документа, а потом получайте нужное обсуждение по этому же ключу. Вот пример функции для получения обсуждения по ключу.

Функция ПолучитьОбсуждениеПоКлючу(Ключ) Экспорт 
	
	ОтборСВ = Новый ОтборОбсужденийСистемыВзаимодействия;
	ОтборСВ.Ключ = Ключ;
	
	МассивОбсуждений = СистемаВзаимодействия.ПолучитьОбсуждения(ОтборСВ);	
	
	Если МассивОбсуждений.Количество() Тогда
		Возврат МассивОбсуждений[0];	
	Иначе
		Возврат Неопределено;	
	КонецЕсли; 
	
КонецФункции
Показать
2. Sangre1999 62 18.05.20 20:28 Сейчас в теме
(1) Главное, что бы работало. Конечно не совсем удобно с идентификатором возиться, у меня по другому не взлетело - просто ничего не происходило, ни ошибок, ни оповещений)
TreeDogNight; +1 Ответить
3. TreeDogNight 22 18.05.20 20:32 Сейчас в теме
(2) Просто я предложил вариант, не требующий доработки структуры конфигурации. А как именно по-другому вы пробовали?
Оставьте свое сообщение