Структура модуля "Управление обращениями" ======================================================================== .. contents:: Содержание :depth: 3 Основные сущности ------------------------------------ Все объекты конфигурации модуля "Управления обращениями" для удобства поиска и навигации сгруппированы в следущие директории: * **Routes_templates** - Шаблоны маршрутов * **VMK** - Пользовательские компоненты (кастомизированные объекты интерфейса) * **blocking_processes** - Блокирующие процессы * **dict_incident** - Справачники * Формы: Обращение, Форма завершения обращения, Наряд, Сервисная команда, Внешний поставщик * Реестры: Обращения, Наряды, Сервисные командаы, Внешние поставщики .. figure:: _static/Incident_structure_configurator_main.png Рис. Обращения ------------------------------------ Код: ``itsm_form_incident`` .. warning:: Менять код формы, а также коды ключевых полей на форме настоятельно не рекомендуется. Это может повлечь за собой ошибки в процессах, заявязанных на данных полях. Структура Формы обращения ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Все поля на форме обращения сгруппированы в следующие разделы: 1. Статус и группа полей статусов 2. Основная информация 3. Описание обращения 4. Описание решения 5. Контактная информация 6. Затронутая инфраструктура 7. Связанные сущности 8. История основных статусов Подробнее о каждом из разделов: 1. Статус и группа полей статусов Поле статус ``itsm_form_incident_status`` является ключевым полем на форме Обращения. От этого поля зависит маршрут исполнения обращения, отображаемые поля на форме, доступность обновления обращения через портал/почту и другие специфичные настройки. Поле статус ссылается на справочник с кодом ``itsm_dict_incidentstatus``. Изменение/добавление нового статуса необходимо производить предварительно ознакомившись с разделом :ref:`incident_status` . Поля расположенные ниже условно обозначены как Группа полей статуса. Продробнее об этом также читайте в разделе :ref:`incident_status` . .. figure:: _static/Incident_form_status.png Рис. 2. Основная информация Ключевыми полями в этом разделе являются: * Идентификатор ``itsm_form_incident_id`` * Дата регистрации ``itsm_form_incident_regdate`` * Автор ``itsm_form_incident_author`` * Оператор ``itsm_form_incident_responsiblemanager`` * Подразделение исполнителя ``itsm_form_incident_responsibleDepartment`` * Исполнитель ``itsm_form_incident_responsible`` .. figure:: _static/Incident_form_common.png Рис. 3. Описание обращения Ключевыми полями в этом разделе являются: * Тема ``itsm_form_incident_theme`` - *При получении обращения через почту это поле заполняется значением - тема письма* * Описание ``itsm_form_incident_description`` - *При получении обращения через почту это поле заполняется значением - тело письма* * Дополнительная информация - динамическая таблица ``itsm_form_incident_addinfo`` с текстовым полем ``text`` - *При получении ответа на Запрос дополнительной информации по электронной почте, в этой таблице создается новая строка и в поле заполняется тело письма* * Вложениия - динамическая таблица ``itsm_form_incident_files`` с полем "Добавит файл" ``file`` - *При получении обращения и ответа на запрос доп.инфо через почту в эту дин.таблицу сохраняются все вложения электронных писем* .. figure:: _static/Incident_form_description.png Рис. 4. Описание решения .. note:: Поля в этом блоке заполняются автоматически копированием данных их файла формы завершении (при выборе статуса: Ожидает оценки пользователя). За копирование данных отвечает блокирующий процесс `event.blocking.interpreter.completion` * Код решения ``itsm_form_incident_decisiontype`` - выпадающий список со справочником ``itsm_dict_incidentdecision`` * Описание ``itsm_form_incident_decisiondescription`` - * Причина возникновения ``itsm_form_incident_cause`` - выпадающий список со справочником ``itsm_dict_cause`` * Категория сбоя ``itsm_form_incident_failCategory`` - выпадающий список со справочником ``itsm_dict_failCategory`` * Тип сбоя ``itsm_form_incident_failType`` - выпадающий список со справочником ``itsm_dict_failType`` * "Создавать запись в Базе Знаний" - Выбор вариантов ``itsm_form_incident_makenew_knowledge`` - *От наличия в этом поле включенного чекбокса зависит будет ли добавлена запись в Базу знаний* * Файлы решения - динамическая таблица ``itsm_form_incident_decision_files`` с полем "Добавить файл" ``Файл`` .. figure:: _static/Incident_form_decision.png Рис. 5. Контактная информация Поле Контакт ``itsm_form_incident_contact`` - ссылка на реестр Контакты заполняется: * вручную, при регистрации через интерфейс Synergy * заполняется автоматически при регистрации через портал или почту. Поля ``crm_form_contact_phone_phone`` динамической таблицы ``crm_form_contact_phone`` и ``crm_form_contact_email_email`` динамической таблицы ``crm_form_contact_email`` заполняются: * механизмом сопоставления в скриптах соответсвюущих компонентов, при регистрации через интерфейс Synergy * блок.процессом ``event.blocking.interpreter.email``, при регистрации через портал или почту. .. note:: Наличие значения в поле ``crm_form_contact_email_email`` в первой строке динамической таблицы ``сrm_form_contact_email`` является ключевым для процесса отправки уведомлений пользователю. .. warning:: Реестр "Контакты" в версии Synergy Itsm 1.0 является рудиментом предыдущих версий и будет исключен в последующих версиях. .. figure:: _static/Incident_form_conacts.png Рис. 6. Затронутая инфраструктура Поле "Затронутый сервис" ``itsm_form_incident_servicelink`` является ключевым - по нему, а также по полям * ``itsm_form_incident_author`` (группа пользователя, являющиегося автором обращения) * ``itsm_form_incident_priority`` (приоритет) осуществляется связь обращения с SLA, получение длительности и расчет сроков исполнения обращения с указанными параметрами. .. figure:: _static/Incident_form_service.png Рис. 7. Связанные сущности В этот раздел автоматически попадают созданные на основании данного обращения Проблемы, а также могут быть указаны вручную связанные с данными обращения. .. figure:: _static/Incident_form_problems.png Рис. 8. История основных статусов В этом разделе отображается основная информация по клюечвым статусам (На очереди, В работу, Ожидает оценки исполнителя). Эти поля вынесены на форму для возможности получения отчетности путем стандартной выугрузке данных реестра в xls. .. figure:: _static/Incident_form_history.png Рис. Структура Маршрута обращения ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Основной условный переход * Условный переход при завершении .. _incident_status: Что такое статус обращения? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ В терминологии продука 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. Завершает текущую работу по обращению *Прим. Функция переназначения работ позволяет оператору завершить работу, в которой он не является ни исполнмтелем, ни автором* Операции над фильтрами ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Для всех обращений в указанном преднастроенном фильтре: 1. Завершает текущую работу с формой завершения с заполненными полями статус и группа полей статуса Операции над выборкой ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Для всех обращений произвольной выборки: 1. Завершает текущую работу с формой завершения с заполненными полями статус и группа полей статуса