Платформа 3V/Согласование/Настройка уведомлений: различия между версиями

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
Строка 54: Строка 54:
 
| %param<ID>.<ATTRIBUTE_ID>% || Заменяется на значение атрибута с идентификатором ATTRIBUTE_ID тех элементов справочника, чьи идентификаторы указаны в качестве значения параметра с идентификатором ID. Например, если у параметра с идентификатором 3 задано значение [1,2], то %param3.2% заменится на наименование элементов с идентификаторами 1 и 2 (склеится через ", "). Для единичных тоже, разумеется, работает. Также можно указывать транзитивные атрибуты, то есть вида %PARAM2.21.22.23.24.2%. При этом в метаданных описании параметра должен быть указан дискриминатор DictionaryParameterModel и идентификатор справочника, на котором этот параметр сидит. Если же дискриминатор не указан - или указан не DictionaryParameterModel - такая подстановка выродится в предыдущий пункт, т.е. просто значение параметра. Если параметр-справочник, но в подстановке указаны строки вместо чисел - заменится на пустоту.
 
| %param<ID>.<ATTRIBUTE_ID>% || Заменяется на значение атрибута с идентификатором ATTRIBUTE_ID тех элементов справочника, чьи идентификаторы указаны в качестве значения параметра с идентификатором ID. Например, если у параметра с идентификатором 3 задано значение [1,2], то %param3.2% заменится на наименование элементов с идентификаторами 1 и 2 (склеится через ", "). Для единичных тоже, разумеется, работает. Также можно указывать транзитивные атрибуты, то есть вида %PARAM2.21.22.23.24.2%. При этом в метаданных описании параметра должен быть указан дискриминатор DictionaryParameterModel и идентификатор справочника, на котором этот параметр сидит. Если же дискриминатор не указан - или указан не DictionaryParameterModel - такая подстановка выродится в предыдущий пункт, т.е. просто значение параметра. Если параметр-справочник, но в подстановке указаны строки вместо чисел - заменится на пустоту.
 
|}
 
|}
 +
 +
== Настройки получателей уведомлений ==
 +
 +
В уведомлениях можно указать получателя на 4 уровнях:
 +
*1 уровень - template → notification → recepients <br>
 +
*2 уровень - template → notification → stateNotifications → в теле состояния (state) задаём recepients для отправки уведомления при наступлении данного состояния <br>
 +
*3 уровень - template → notification → primary (первостепенные получатели) или additional (опциональные) → recepients или (stateNotifications → recepients) <br>
 +
*4 уровень (бонус): если получатель не указан ни на одном из уровней, но при этом на совершение перехода (step) есть право (permissions) с указанным в нём пользователя. То уведомление отправляется тому получателю, который есть в permissions, при условии что  step есть в availableSteps <br>

Версия 06:45, 24 сентября 2021

В рамках процесса согласования есть возможность подключить рассылку уведомлений по e-mail при переходе от одного статуса к другому. Для этого нужно настроить шаблон уведомления и получателей в поле notifications:

"template": {}
 1 "notifications": {
 2       "template": {
 3         "title": "Формирование оценки по сотруднику. \nПериод оценки %param1.2%.",
 4         "body": "Перевод статуса документа пользователем %user_name% в статус: %new_state%. \nПериод оценки: %param1.2%.\nСотрудник: %param2.2%. \nОценщик: %param3.2%.\nКомментарий: %Comment%\nНеобходимо перейти в отчет по ссылке: https://apps.3v-cloud.com/apps-portal/cards/339"
 5       },
 6       "recipients": {
 7         "uri": "https://apps.3v-cloud.com/assessment-and-adaptation/Assessments/WorkflowNotices",
 8         "discriminator": "ExternalNotificationsRecipientsModel"
 9       }
10     },
11     "forceWorkflowNotificationTemplate": false
где:
Поле Описание
title Заголовок уведомления
body Текст уведомления (о настройках текста уведомления можно узнать ниже в разделе ниже)
uri Uri стороннего сервис, который вернет получателей уведомлений. Если установить "recipients": null, то уведомления будут направляться всем пользователям, которым доступен новый статус, на который перевели
discriminator Дискриминатор
forceWorkflowNotificationTemplate: true/false Возможность брать настройки уведомлений из самого объекта согласования, а не из того, что сохранено в процессе. True - настройки уведомлений при отправке будут браться из самого согласования (контейнера), False - из согласуемого процесса.

Настройки текста уведомления

В шаблоне письма имеется возможность добавить подстановки:

Подстановка Описание
%new_state% Наименование нового статуса, в который перевели
%user_login% Логин пользователя, который совершил переход
%user_name% Имя (ФИО или подобное) пользователя, который совершил переход
%param<ID>% Заменяется на значение параметра с идентификатором ID. То есть, %param22% заменится на значение параметра с идентификатором 22
%param<ID>.<ATTRIBUTE_ID>% Заменяется на значение атрибута с идентификатором ATTRIBUTE_ID тех элементов справочника, чьи идентификаторы указаны в качестве значения параметра с идентификатором ID. Например, если у параметра с идентификатором 3 задано значение [1,2], то %param3.2% заменится на наименование элементов с идентификаторами 1 и 2 (склеится через ", "). Для единичных тоже, разумеется, работает. Также можно указывать транзитивные атрибуты, то есть вида %PARAM2.21.22.23.24.2%. При этом в метаданных описании параметра должен быть указан дискриминатор DictionaryParameterModel и идентификатор справочника, на котором этот параметр сидит. Если же дискриминатор не указан - или указан не DictionaryParameterModel - такая подстановка выродится в предыдущий пункт, т.е. просто значение параметра. Если параметр-справочник, но в подстановке указаны строки вместо чисел - заменится на пустоту.

Настройки получателей уведомлений

В уведомлениях можно указать получателя на 4 уровнях:

  • 1 уровень - template → notification → recepients
  • 2 уровень - template → notification → stateNotifications → в теле состояния (state) задаём recepients для отправки уведомления при наступлении данного состояния
  • 3 уровень - template → notification → primary (первостепенные получатели) или additional (опциональные) → recepients или (stateNotifications → recepients)
  • 4 уровень (бонус): если получатель не указан ни на одном из уровней, но при этом на совершение перехода (step) есть право (permissions) с указанным в нём пользователя. То уведомление отправляется тому получателю, который есть в permissions, при условии что step есть в availableSteps