Commit d4e3ae33 authored by Aigerim Shaumenova's avatar Aigerim Shaumenova

Update access_structure.rst

parent 466ce8c0
Структура модуля "Управление обращениями"
========================================================================
.. 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.counter.reopen
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Данный БП используется для получения данных о том, сколько раз обращение было направлено повторно от пользователя при оценке решения обращения. Он увеличивает значение поля ``itsm_form_incident_count_reopen`` на 1 единицу, если статус обращения является "Направлено повторно".
event.blocking.interpreter.counter.wrongway
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Данный БП используется для получения данных о том, сколько раз обращение было неверно направлено на очередь операторами первой линии. Он увеличивает значение поля ``itsm_form_incident_count_wrongway`` на 1 единицу, если статус обращения является "Неверно направлено".
event.blocking.interpreter.incident.auto_assignment
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Данное БП используется для автоматического назначения обращения исполнителям для услуг, у которых в карточке включена опция "Автоматическое назначение". Список исполнителей при этом берется из карточки сервиса из поля "Группа, ответственная за поддержку услуги". БП устанавливает статус обращения "На очереди" и направляет обращение в работу ответственным исполнителям. Если у сервиса по обращения не включена опция "Автоматического назначения", то обращение идет дальше по маршруту на первую линию.
event.blocking.interpreter.incident.durationOfWork
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Данный БП используется для подсчета времени нахождения на первой линии, на второй линии, у внешних поставщиков. Он заполняет поля в скрытой таблице на обращении, а точнее следующие поля:
* Первая линия:
* Время решения в минутах
* Время решения в часах
* Просрочено ли?
* Вторая линия:
* Время решения в часах
* Просрочено ли?
* Внешние поставщики:
* Время решения в часах
* Просрочено ли?
* Суммарное время решения в часах
В дальнейшем эти данные используются для отчетов, дашбордов, для ведения статистики.
event.blocking.interpreter.responsible.duration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Данный БП используется для получения данных о продолжительности работы по обращению для исполнителя. Он по сервису обращения находит карточку данного сервиса и в таблице данных по SLA находит к какой группе относится автор обращения. По приоритету обращения БП получает продолжительность времени разрешения запроса для данного пользователя и заполняет его в поле Продолжительность ``itsm_form_incident_responsible_duration`` для исполнителя.
event.blocking.interpreter.timer.date
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Данный БП к текущей дате добавляет 16 рабочих часов по рабочему календарю и полученную дату заполняет поле "Дата таймера" ``itsm_form_incident_timerDate``. Эта дата в дальнейшем при отправлении обращения на оценку инициатору используется как дата запуска таймера. Данный таймер запускает маршрут, который завершает работу инициатора по оценке и переводит обращение в статус "Закрыто".
event.blocking.interpreter.incident.relations.ci
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Данный БП используется для копирования данных о массовом обращении в затрагиваемые конфигурационные единицы. Если обращение является массовым, БП получает все затронутые конфигурационные единицы и в карточку каждой КЕ в таблицу "Массовые инциденты" в разделе "Связанные сущности" добавляет ссылку на данное обращение.
event.blocking.interpreter.incident.close_child
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Данные БП переводит все дочерние обращения в статусе "Ожидает закрытия массового инцидента" массового инцидента в статус "Закрыто" и заполняет данные по решению обращения.
event.blocking.interpreter.mass_incident
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Данный БП записывает ссылку текущего обращения в поле ``itsm_form_incident_child`` в карточку массового инцидента, закрытия которого он ожидает для решения обращения. В дальнейшем при закрытии обращения по массовому инциденту, все обращения в поле ``itsm_form_incident_child`` будут автоматически закрыты.
event.blocking.interpreter.incident.supplier.duration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Данный БП используется для заполнения продолжительности работы внешнего поставщика по заявке и даты завершения работы внешнего поставщика по SLA. Для получения этих данных процесс, используя сервис и приоритет обращения, переходит в карточку внешнего поставщика и в таблице с данными по SLA находит продолжительность времени разрешении в соотвествии с сервисом и приоритетом обращения. При помощи продолжительности БП высчитывает дату завершения работы внешнего поставщика с учетом рабочего времени по рабочему календарю.
event.blocking.interpreter.notification.supplier
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Данный БП отправляет внешнему поставщику на указанный на обращении почтовый адрес уведомление о назначении обращения в работу. Шаблон уведомления настраивается в реестре "Настройки уведомлений".
event.blocking.interpreter.incident.add_to_problem
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Данный БП используется при направлении обращения в статус "Ожидает закрытия проблемы". При этом указывается проблема, решение которой необходимо для данного обращения. БП записывает обращение в поле "Инциденты" на карточке проблемы.
event.blocking.interpreter.incident.index.tagcloud
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Данный БП добавляет в индекс для визуализации "Облако тегов" слова из темы и описания обращения, при этом убирая слова-исключения и заменяя на слова-синонимы. Список слов-исключений и слов-синонимов берется из реестра синонимов и реестра исключений.
event.blocking.interpreter.completion
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
**Что делает процесс?**
1. Получает ход выполнения по обращению
2. Определяет последнюю завершенную работу
3. Определяет файл по форме завершения в папке Прочие для этой работы
4. Копирует данные с найденного файла формы завершения на форму обращения (меняет статус и записывает значения группы полей статуса)
event.blocking.interpreter.email
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
**Что делает процесс?**
1. Получает id записи реестра Контакты, выбранного в поле Автор
2. Копирует данные с найденной записи реестра Контакты на форму обращения
event.blocking.itsm.send.rate
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
**Что делает процесс?**
1. Получает email с формы обращения (таблица контактов автора)
2. Получает формат уведомления для статуса Ожидает оценки пользователя
3. Отправляет на найденный email уведомление о необходимости подтвердить завершение решения с двумя ссылками "Отправлен повторно", "Завершение подтверждено"
*Прим. После отправки процесс разблокируется. По нажатию на ссылку завершится текущая на тот момент работа "Ожидание оценки". Подробнее - в разделе статуса)*
event.blocking.incident.calc.status.1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
**Что делает процесс?**
1. Получает из формы SLA время решения и время реакции по параметрам данного обращения
2. Записывает их на форму обращения
3. Рассчитывает плановую дату завершения с учетом рабочего календаря
4. Записывает плановые даты завершения на форму обращения
Дополнительные механизмы
------------------------------------
Переназначение обращения
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Получает ход выполнения по обращению
2. Завершает текущую работу по обращению
3. Создает новую работу по обращению для указанного пользователя со статусом "В процессе"
*Прим. Функция переназначения работ позволяет оператору завершить работу, в которой он не является ни исполнмтелем, ни автором*
Для отображения кнопки у пользователя, данного пользователя необходимо добавить в группу *itsm_group_reassign_access* . Кнопка "Переназначить" доступна для статусов обращений: "На очереди", "В процессе", "Информация предоставлена". При необходимости в скрипте можно добавить требующиеся статусы.
Операции над фильтрами
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Для всех обращений в указанном преднастроенном фильтре:
1. Завершает текущую работу с формой завершения с заполненными полями статус и группа полей статуса
Операции над выборкой
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Реестр "Операции над выборкой" доступен из клиентской части Synergy в Хранилище -> Реестры. На АРМ для вызова записи реестра необходимо на основной таблице выбрать несколько обращений, отметив галочкой в начале строки, и в меню "Действия" над таблицей выбрать нужный статус. Для всех обращений произвольной выборки завершается текущая работа с формой завершения с заполненными полями указанного статуса и группы полей статуса.
Создание проблемы из обращения
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Для создания проблемы из обращения отображается кнопка "В проблему". По нажатию на нее создается запись реестра "Проблемы" и поле "Источник" заполняется ссылкой на обращение. Также дополнительно копируются данные из обращения в проблему.
Данная кнопка становится доступной только после активации записи реестра обращения и для определенных статусов. Список статусов, при которых отображается данная кнопка на АРМ, настраивается в записи реестра "Настройки АРМ".
.. figure:: _static/armSettings.png
Рис. Настройки АРМ
Отображение кнопки в клиентской части Synergy настраивается в скрипте на статусе обращения (``itsm_form_incident_status``). Текст скрипта:
::
if(window.location.href.indexOf('Synergy') !== -1) {
let buttonProblem = $(`[document_id="${getDocID()}"]`).closest('tbody').find('[data-button="APPROVE"]:contains("В проблему")').closest('tr');
if([3].indexOf(Number(val)) === -1) {
buttonProblem.hide();
} else {
buttonProblem.show();
}
}
При необходимости указания дополнительных статусов кроме статуса "В процессе", в массив через запятую нужно добавить порядковые номера других статусов из справочника "Статусы инцидента". Например: if([3, 7, 6].indexOf(Number(val)) === -1).
По умолчанию, кнопка "В проблему" доступна для статуса "В процессе".
Создание запроса на изменение из обращения
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Доступна возможность создания запросов на изменение из обращений. Для этого отображается кнопка "Запрос на изменение", по нажатию на которую создается запрос на изменение на основе обращения и поле "Ссылка на обращение" заполняется ссылкой на документ, в поле "Источник" указывается "Обращение". Также дополнительно копируются данные из обращения в запрос на изменение.
Данная кнопка доступна для пользователей группы ``itsm_group_button_rfc`` на статусах обращений "Зарегистрировано", "Информация предоставлена", "На очереди", "В процессе". При необходимости в скрипте можно добавить или убрать нужные статусы, а также данные копируемые из обращения в запрос на изменение.
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment