Структура модуля "Управление обращениями"
========================================================================


.. contents:: Содержание
   :depth: 3
 
   
Основные сущности  
------------------------------------


.. figure:: _static/Incident_structure_configurator_main.png

        Рис. 
        

* Шаблоны маршрутов -> Routes_templates
* Пользовательские компоненты (кастомизированные объекты интерфейса) -> VMK
* Блокирующие процессы - blocking_processes
* Справачники -> dict_incident
* Формы: Обращение, Форма завершения обращения, Наряд, Сервисная команда, Внешний поставщик
* Реестры: Обращения, Наряды, Сервисные командаы, Внешние поставщики


Обращения
------------------------------------

Код: ``itsm_form_incident``

.. warning::

    Менять код формы, а также коды ключевых полей на форме настоятельно не рекомендуется. Это может повлечь за собой ошибки в процессах, заявязанных на данных полях.

Структура Формы обращения
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Все поля на форме обращения сгруппированы в следующие разделы:

1. Статус и группа полей статусов
2. Основная информация
3. Описание обращения
4. Описание решения
5. Контактная информация
6. Затронутая инфраструктура
7. Связанные сущности
8. История основных статусов

Подробнее о каждом из разделов:

1. Статус и группа полей статусов

.. figure:: _static/Incident_form_status.png

        Рис. 

Поле статус ``itsm_form_incident_status`` является ключевым полем на форме Обращения. 
От этого поля зависит маршрут исполнения обращения, отображаемые поля на форме, доступность обновления обращения через портал/почту и другие специфичные настройки.

Поле статус ссылается на справочник с кодом ``itsm_dict_incidentstatus``. Изменение/добавление нового статуса необходимо производить предварительно ознакомившись с разделом 

.. _Что такое статус обращения?:

Поля расположенные ниже условно обозначены как Группа полей статуса. Продробнее об этом также читайте в разделе 

.. _Что такое статус обращения?:


        
2. Основная информация

.. figure:: _static/Incident_form_common.png

        Рис. 
        
Ключевыми полями в этом разделе являются:

* Идентификатор ``itsm_form_incident_id``
* Дата регистрации ``itsm_form_incident_regdate``
* Автор ``itsm_form_incident_author``
* Оператор ``itsm_form_incident_responsiblemanager``
* Подразделение исполнителя ``itsm_form_incident_responsibleDepartment``
* Исполнитель ``itsm_form_incident_responsible``


3. Описание обращения

.. figure:: _static/Incident_form_description.png

        Рис. 
        
4. Описание решения

.. figure:: _static/Incident_form_decision.png

        Рис. 
        
5. Контактная информация

.. figure:: _static/Incident_form_conacts.png

        Рис. 
        
6. Затронутая инфраструктура

.. figure:: _static/Incident_form_service.png

        Рис. 
  
7. Связанные сущности

.. figure:: _static/Incident_form_problems.png

        Рис. 
        
8. История основных статусов

.. figure:: _static/Incident_form_history.png

        Рис. 
        



Структура Маршрута обращения
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Основной условный переход
* Условный переход при завершении

Что такое статус обращения?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

В терминологии продука Synergy ITSM статус - это набор следующий объектов и настроек:

* Значение справочника статусов
* Шаблон маршрута
* Переход в условном переходе маршрут реестра
* При необходимости: дополнительные поля ФЗ и логика их копирования в процессе event.blocking.interpreter.completion

Диаграмма состояний обращения
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

.. figure:: _static/Incident_statechart.png

        Рис. 


Маршрут обращения
------------------------------------


Список блокирующих процессов
------------------------------------


event.blocking.interpreter.completion
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

**Что делает процесс?**

1. Получает ход выполнения по обращению
2. Определяет последнюю завершенную работу
3. Определяет файл по форме завершения в папке Прочие для этой работы
4. Копирует данные с найденного файла формы завершения на форму обращения

event.blocking.interpreter.email
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

**Что делает процесс?**

1. Получает id записи реестра Контакты, выбранного в поле  Автор
2. Копирует данные с найденной записи реестра Контакты на форму обращения

event.blocking.interpreter.current.date
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

**Что делает процесс?**

1. Сохраняет значение текущей даты (на момент запуска данного БП) на форму обращения

*Прим. В дальнейшем эта дата используется для запуска таймера на 48 часов, по истечению которого должна быть завершена работа ожидания оценки пользователя.*


event.blocking.itsm.send.rate
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

**Что делает процесс?**

1. Получает email с формы обращения (таблица контактов автора)
2. Получает формат уведомления для статуса Ожидает оценки пользователя
3. Отправляет на найденный email уведомление о необходимости подтвердить завершение решения с двумя ссылками "Отправлен повторно", "Завершение подтверждено"
*Прим. После отправки процесс разблокируется. По нажатию на ссылку завершится текущая на тот момент работа "Ожидание оценки". Подробнее - в разделе статуса)*

event.blocking.incident.calc.status.1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1. Получает из формы SLA время решения и время реакции по параметрам данного обращения
2. Записывает их на форму обращения
3. Рассчитывает плановую дату завершения с учетом рабочего календаря
4. Записывает плановые даты завершения на форму обращения


Дополнительные механизмы
------------------------------------

Переназачение обращения
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1. Получает ход выполнения по обращению
2. Сохраняет на форме обращения статус "На очереди"
3. Завершает текущую работу по обращению

*Прим. Функция переназначения работ позволяет оператору завершить работу, в которой он не является ни исполнмтелем, ни автором*

Операции над фильтрами
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Операции над выборкой
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Общие настройки
------------------------------------


Настройки интеграции с почтой
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


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