Компонент «Уведомления»

Уведомления о статусах заданий сбора

При создании шаблона сбора пользователю предоставляется возможность настроить автоматическую отправку уведомлений об изменении статусов заданий сбора пользователям-участникам процесса сбора отчетности.

Возможна отправка следующих уведомлений:

  • «Уведомление при создании задания» - отправляется при переходе статуса задания из «не активно» в «активно».
  • «Уведомление о наступлении срока» - отправляется при наступлении какого-то срока перед концом срока сдачи задания. В дополнительном поле указывается параметр «Дней до конца» - за сколько дней до окончания срока сбора необходимо отправить оповещение.
  • «Уведомление при выполнении задания» - отправляется при переводе статуса задания из «новое» в «выполнено».
  • «Уведомление при закрытии задания» - отправляется при переводе статуса задания из «новое» в «закрыто» или из «выполнено» в «закрыто».
  • «Уведомление при возвращении задания на доработку» - отправляется при переводе статуса задания из «выполнено» в «новое».
  • «Уведомление при закрытии задания и изменении данных с момента выполнения» - отправляется при переводе статуса задания из «выполнено» в «закрыто» при условии, что данные в задании (в формах или реестрах этого задания) были изменены с момента перехода в статус «выполнено» и до момента перехода в статус «закрыто». В отличие от всех остальных уведомлений, в этом все аргументы (см. ниже) необходимо указывать в двойных фигурных скобках.
_images/a71.png

После выбора какой-либо опции появляются дополнительные поля для ввода заглавия и текста уведомления, а также для выбора, каким пользователям (с локальными привязками к каким узлам и каким зонам ответственности) направлять уведомления.

Для всех уведомлений существует набор аргументов, с помощью которых можно подставлять в сообщения значения различных показателей, привязанных к этому заданию сбора. Аргументы указываются в тексте сообщения в одинарных фигурных скобках (кроме уведомлений об изменении данных):

  • task - название задания сбора
  • task_subject - имя узла сбора, к которому привязано данное задание
  • task_period - значение периода данного задания сбора
  • template - имя шаблона сбора
  • datetime - время наступления события, при котором отправляется уведомление (как правило - время смены статуса задания)
  • oldstatus - предыдущий статус задания сбора
  • newstatus - новый статус задания сбора
  • by - автор нового статуса задания сбора
  • comment - комментарий при смене статуса задания
  • link - ссылка на паспорт задания сбора
  • ra - зона ответственности шаблона сбора

Дополнительные аргументы для уведомлений об изменении данных:

  • forms - список «изменившихся» форм со ссылками на сравнение версий
  • registries - список «изменившихся» реестров со ссылками на сравнение версий

Для «распаковки» и показа списка надо использовать такую конструкцию в шаблоне (https://docs.djangoproject.com/en/dev/ref/templates/builtins/#for)

{% for form, url in forms %} {{ form }} {{ url }} {% endfor %}

Уведомления направляются на почтовые адреса, указанные в профилях пользователей. Для этого при конфигурировании системы должна быть включена опция рассылки почты (за этим нужно обратиться к системному администратору).

Кроме того все уведомления пользователям складываются в системный справочник «Уведомления пользователям сбора» (/relation/registry/-800/). В него попадают ТОЛЬКО уведомления о сборе.

Кроме задаваемых вручную уведомлений существуют автоматические системные уведомления, которые рассылаются при смене статуса задания сбора (работают при включенной опции «Почтовые рассылки»).

Разовые уведомления пользователей

Если при конфигурации системы включена опция «Почтовые рассылки», администратору предоставляется возможность однократной рассылки уведомлений группе пользователей-участников сбора данных, относящихся к определенной зоне ответственности.

Данная опция доступна на странице:

/collect/notify/-500/

для справочника Административной структуры. Для другого справочника нужно в конце ссылки вместо «-500» указать показатель множественного выбора из нужного справочника.

В полях «Тема» и «Сообщения» соответственно задаются два текста для отображения в теме и теле письма, которое будет отправлено.

В третьем поле нужно галочками отметить узлы древовидного справочника, к которым локально привязаны нужные пользователи.

В поле «Зона ответственности» нужно выбрать ту зону ответственности, к которой привязаны пользователи, которых необходимо оповестить.

После задания всех полей нужно нажать кнопку «Отправить сообщение».

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

(Сообщение формируется, только если у пользователя-получателя указана электронная почта. Если нет ни одного пользователя-получателя, у которого указана электронная почта - при отправке сообщения система напишет, что отсутсвуют локальные привязки)

Если нужно оповестить по тем же узлам другую группу пользователей - привязанных к другой зоне ответственности, то необходимо задать все те же поля еще раз, но указав нужную зону.