10. Структура модуля «Управление обращениями»

Содержание

10.1. Основные сущности

Все объекты конфигурации модуля «Управления обращениями» для удобства поиска и навигации сгруппированы в следущие директории:

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

Рис.

10.2. Обращения

Код: itsm_form_incident

Предупреждение

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

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

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

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

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

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

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

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

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

_images/Incident_form_status.png

Рис.

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

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

  • Идентификатор itsm_form_incident_id
  • Дата регистрации itsm_form_incident_regdate
  • Автор itsm_form_incident_author
  • Оператор itsm_form_incident_responsiblemanager
  • Подразделение исполнителя itsm_form_incident_responsibleDepartment
  • Исполнитель itsm_form_incident_responsible
_images/Incident_form_common.png

Рис.

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

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

  • Тема itsm_form_incident_theme -

При получении обращения через почту это поле заполняется значением - тема письма

  • Описание itsm_form_incident_description -

При получении обращения через почту это поле заполняется значением - тело письма

  • Дополнительная информация - динамическая таблица itsm_form_incident_addinfo с текстовым полем text -

При получении ответа на Запрос дополнительной информации по электронной почте, в этой таблице создается новая строка и в поле заполняется тело письма

  • Вложениия - динамическая таблица itsm_form_incident_files с полем «Добавит файл» file -

При получении обращения и ответа на запрос доп.инфо через почту в эту дин.таблицу сохраняются все вложения электронных писем

_images/Incident_form_description.png

Рис.

  1. Описание решения

Примечание

Поля в этом блоке заполняются автоматически копированием данных их файла формы завершении (при выборе статуса: Ожидает оценки пользователя). За копирование данных отвечает блокирующий процесс 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 с полем «Добавить файл» Файл
_images/Incident_form_decision.png

Рис.

  1. Контактная информация

Поле Контакт 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, при регистрации через портал или почту.

Примечание

Наличие значения в поле crm_form_contact_email_email в первой строке динамической таблицы сrm_form_contact_email является ключевым для процесса отправки уведомлений пользователю.

Предупреждение

Реестр «Контакты» в версии Synergy Itsm 1.0 является рудиментом предыдущих версий и будет исключен в последующих версиях.

_images/Incident_form_conacts.png

Рис.

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

Поле «Затронутый сервис» itsm_form_incident_servicelink является ключевым - по нему, а также по полям

  • itsm_form_incident_author (группа пользователя, являющиегося автором обращения)
  • itsm_form_incident_priority (приоритет)

осуществляется связь обращения с SLA, получение длительности и расчет сроков исполнения обращения с указанными параметрами.

_images/Incident_form_service.png

Рис.

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

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

_images/Incident_form_problems.png

Рис.

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

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

_images/Incident_form_history.png

Рис.

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

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

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

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

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

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

Примечание

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

_images/Incident_statechart.png

Рис.

10.2.5. Существующие статусы обращения

В данном пункте представлен актуальный список статусов обращения.

  1. Зарегистрировано - первый статус, обычно в нём обращения создаются пользователями/системами интеграции.
  2. На очереди - обращение направлено 1-й линией на очередь в группу специалистов для дальнейшего распределения специалисту. Если определенной услугой занимается одна конкретная група специалистов, то обращение может быть создано сразу в статусе (2) с назначенной группой исполнителей.
  3. В процессе - обращение направлено определенному специалисту (или нескольким) в работу.
  4. Ожидает ответа пользователя - отправка обращения автору для уточнения информации/предоставления скринов, файлов.
  5. Ожидает решение проблемы - приостановка обращения (инцидента). Обращение переходит в такой статус, когда создается связанная проблема и там проставляется соответствующий чекбокс «Приостановить исполнение обращения».
  6. Закрыто - конечный статус обращения.
  7. Ожидает оценки пользователя - статус, в котором автору обращения отправлен ответ. Это может быть непосредственное или обходное решение, или обращение может быть отклонено, или может не воспроизводиться.
  8. В ожидании выделения техники - статус, в котором исполнитель ставит срок ожидаемой поставки техники (или ПО) - это может быть срок закупки/поставки нового оборудования.
  9. Направлено внешнему поставщику - при выборе этого статуса исполнитель (обычно 2-я линия поддержки) выбирает внешнего поставщика (3-ю линию поддержки) из списка внешних поставщиков. На email поставщика отправяется уведомление об инциденте. В системе ИТСМ дальнейший статус выбирает исполнитель обращения.
  10. Информация предоставлена - в этот статус обращение возвращается после ответа из статуса «Ожидает ответа пользователя» (4). По умолчанию возвращается на 1-ю линию.
  11. Неверно направлено - этот статус ставится исполнителями (2-й линией поддержки), если операторы 1-й линии поддержки неправильно выбрали группу исполнителей (или услугу и т.п.).
  12. Направлено повторно - этот статус может быть выбран из статуса «Ожидает оценки пользователя» (7), если предложенное решение не удовлетворило запрос инициатора.
  13. Ожидает закрытия массового инцидента - для обращения (инцидента) указан родительский массовый инцидент, при закрытии которого с аналогичным описанием решения должны также закрыться дочерние инциденты.
  14. На согласовании (код 91 указан для того, чтобы статус находился ниже в выпадающем списке) - если обращение перед окончательным решением требует какого-либо согласования.
  15. Согласовано - положительный вараинт согласования, выбранный из статуса «На согласовании» (14).
  16. Не согласовано - отрицательный вараинт согласования, выбранный из статуса «На согласовании» (14).

10.2.6. Изменение переходов между статусами

Для того, чтобы изменить доступные для выбора пользователя при завершении работы статусы из конкретного статуса, нужно:

  1. В Конфигураторе открыть Форму завершения инцидента, скрипт itsm_form_incident_wcf_status.js
  2. В блоке switch (responseCode.code) { ... } изменить блок, соответствующий нужному статусу-источнику - указать статусы, которые будут доступны из данного статуса при выборе на форме завершения - коды статусов указаны в самом начале скрипта itsm_form_incident_wcf_status.js.

Например, чтобы из статуса Информация предоставлена (код соответствующей работы в маршруте incident_info) были достуны статусы Ожидание ответа пользователя, Ожидание оценки пользователя и Ожидание проблемы, нужно изменить код следующим образом:

// Статус 10 информация предоставлена case 'incident_info': newValueList([ WAITING_USER, WAITING_USER_RATE, WAITING_PROBLEM ]); break;

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

10.3.1. event.blocking.interpreter.counter.reopen

Данный БП используется для получения данных о том, сколько раз обращение было направлено повторно от пользователя при оценке решения обращения. Он увеличивает значение поля itsm_form_incident_count_reopen на 1 единицу, если статус обращения является «Направлено повторно».

10.3.2. event.blocking.interpreter.counter.wrongway

Данный БП используется для получения данных о том, сколько раз обращение было неверно направлено на очередь операторами первой линии. Он увеличивает значение поля itsm_form_incident_count_wrongway на 1 единицу, если статус обращения является «Неверно направлено».

10.3.3. event.blocking.interpreter.incident.auto_assignment

Данное БП используется для автоматического назначения обращения исполнителям для услуг, у которых в карточке включена опция «Автоматическое назначение». Список исполнителей при этом берется из карточки сервиса из поля «Группа, ответственная за поддержку услуги». БП устанавливает статус обращения «На очереди» и направляет обращение в работу ответственным исполнителям. Если у сервиса по обращения не включена опция «Автоматического назначения», то обращение идет дальше по маршруту на первую линию.

10.3.4. event.blocking.interpreter.incident.durationOfWork

Данный БП используется для подсчета времени нахождения на первой линии (в т.ч. времени реакции), на второй линии (в т.ч. времени реакции), у внешних поставщиков. Он заполняет поля в скрытой таблице на обращении, а точнее следующие поля: * Первая линия:

  • Время реакции в минутах в абсолютном времени
  • Время решения в минутах
  • Время решения в часах
  • Просрочено ли?
  • Вторая линия:
    • Время реакции в минутах в рабочем времени
    • Время решения в часах
    • Просрочено ли?
  • Внешние поставщики:
    • Время решения в часах
    • Просрочено ли?
  • Суммарное время решения в часах

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

10.3.5. event.blocking.interpreter.responsible.duration

Данный БП используется для получения данных о продолжительности работы по обращению для исполнителя. Он по сервису обращения находит карточку данного сервиса и в таблице данных по SLA находит к какой группе относится автор обращения. По приоритету обращения БП получает продолжительность времени разрешения запроса для данного пользователя и заполняет его в поле Продолжительность itsm_form_incident_responsible_duration для исполнителя.

10.3.6. event.blocking.interpreter.timer.date

Данный БП к текущей дате добавляет 16 рабочих часов (число можно поменять в БП) по рабочему календарю и полученную дату заполняет поле «Дата таймера» itsm_form_incident_timerDate. Эта дата в дальнейшем при отправлении обращения на оценку инициатору используется как дата запуска таймера. Данный таймер запускает маршрут, который завершает работу инициатора по оценке и переводит обращение в статус «Закрыто».

10.3.7. event.blocking.interpreter.incident.relations.ci

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

10.3.8. event.blocking.interpreter.incident.close_child

Данные БП переводит все дочерние обращения в статусе «Ожидает закрытия массового инцидента» массового инцидента в статус «Закрыто» и заполняет данные по решению обращения.

10.3.9. event.blocking.interpreter.mass_incident

Данный БП записывает ссылку текущего обращения в поле itsm_form_incident_child в карточку массового инцидента, закрытия которого он ожидает для решения обращения. В дальнейшем при закрытии обращения по массовому инциденту, все обращения в поле itsm_form_incident_child будут автоматически закрыты.

10.3.10. event.blocking.interpreter.incident.supplier.duration

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

10.3.11. event.blocking.interpreter.notification.supplier

Данный БП отправляет внешнему поставщику на указанный на обращении почтовый адрес уведомление о назначении обращения в работу. Шаблон уведомления настраивается в реестре «Настройки уведомлений».

10.3.12. event.blocking.interpreter.incident.add_to_problem

Данный БП используется при направлении обращения в статус «Ожидает закрытия проблемы». При этом указывается проблема, решение которой необходимо для данного обращения. БП записывает обращение в поле «Инциденты» на карточке проблемы.

10.3.13. event.blocking.interpreter.incident.index.tagcloud

Данный БП добавляет в индекс для визуализации «Облако тегов» слова из темы и описания обращения, при этом убирая слова-исключения и заменяя на слова-синонимы. Список слов-исключений и слов-синонимов берется из реестра синонимов и реестра исключений.

10.3.14. event.blocking.interpreter.completion

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

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

10.3.15. event.blocking.interpreter.email (не актуален)

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

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

10.3.16. event.blocking.itsm.send.rate

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

  1. Получает email с формы обращения (таблица контактов автора)
  2. Получает формат уведомления для статуса Ожидает оценки пользователя

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

10.3.17. event.blocking.incident.calc.status.1

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

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

10.3.18. event.blocking.interpreter.incident.escalation

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

  1. Ищет просроченные обращения в открытых статусах, группирует их по подразделению исполнителя
  2. Отправляет на почту руководителю подразделения исполнителя уведомление со списком просроченных обращений и исполнителями
  3. Увеличивает счетчик «уровня эскалации» на единицу.
  4. Для обращений с уровнем эскалации более или равным 1 - уведомления также направляются вышестоящим руководителям (если уровень эскалации 1 - начальнику руководителя подразделения исполнителя, если 2 - добавляется уведомление начальнику начальника и т.д.)

10.3.19. event.blocking.interpreter.incident.status_history

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

  1. Блокирующий процесс срабатывает после смены статуса (после БП event.blocking.interpreter.completion) и записывает данные (статус, время начала статуса, исполнителя, подразделение исполнителя, приоритет, услугу, плановое время завершения) по смене статуса в динамическую таблицу itsm_form_incident_table_exec.
  2. Рассчитывает время нахождения в предыдущем статусе (в рабочих часах).

10.3.20. event.blocking.interpreter.incident.check_responsible

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

  1. Проверяет, пустые ли поля исполнителя itsm_form_incident_responsible и оператора itsm_form_incident_responsiblemanager
  2. Если какое-то из полей пустое - заполняет пользователем-автором последней формы завершения этого инцидента.

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

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

  1. Получает ход выполнения по обращению
  2. Завершает текущую работу по обращению
  3. Создает новую работу по обращению для указанного пользователя со статусом «В процессе»

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

Для отображения кнопки у пользователя, данного пользователя необходимо добавить в группу itsm_group_reassign_access. Кнопка «Переназначить» доступна для статусов обращений: «На очереди», «В процессе», «Информация предоставлена». При необходимости в ВМК button_reassign_access можно добавить требующиеся статусы.

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

Для всех обращений в указанном преднастроенном фильтре:

  1. Для всех записей в указанном фильтре (фильтр указывается через id) совершает одно из действий с маршрутом - прервать, запустить, завершить, ничего не делать - с присвоением всем записям в фильтре значений выбранных полей статуса, решения и т.д.

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

Реестр «Операции над выборкой» доступен из клиентской части Synergy в Хранилище -> Реестры. На АРМ для вызова записи реестра необходимо на основной таблице выбрать несколько обращений, отметив галочкой в начале строки, и в меню «Действия» над таблицей выбрать нужный статус. Для всех обращений произвольной выборки завершается текущая работа с формой завершения с заполненными полями указанного статуса и группы полей статуса.

10.4.4. Смена приоритета

  1. Меняет приоритет обращения
  2. Пересчитывает потраченное в текущем статусе время и записывает в системные поля
  3. Прерывает и запускает маршрут - чтобы время по SLA пересчиталось для нового приоритета

Для отображения кнопки у пользователя, данного пользователя необходимо добавить в группу itsm_group_priority_change. Кнопка «Сменить приоритет» доступна для статусов обращений: «На очереди», «В процессе», «Направлен повторно». При необходимости в скрипте можно добавить требующиеся статусы.

10.4.5. Универсальные уведомления

  1. Скрипт запускается ежедневно - создаёт и запускает запись реестра «Универсальные уведомления».
  2. В блок-процессе происходит рассчет и групировка просроченных обращений по подразделениям.
  3. Происходит рассылка уведомлений руководителям подразделений, в которых просрочены обращения. Если обращение просрочено не первый раз, происходит эскалация, - уведомление отправляется руководителю вышестоящего подразделения.

Для работы необходимо, чтобы были назначены руководители подразделений и у них была прописана почта.

При необходимости можно создать и запустить пересчет вручную - в служебном реестре «Универсальные уведомления».

10.4.6. Создание проблемы из обращения

Для создания проблемы из обращения отображается кнопка «В проблему». По нажатию на нее создается запись реестра «Проблемы» и поле «Источник» заполняется ссылкой на обращение. Также дополнительно копируются данные из обращения в проблему.

Данная кнопка становится доступной только после активации записи реестра обращения и для определенных статусов. Список статусов, при которых отображается данная кнопка на АРМ, настраивается в записи реестра «Настройки АРМ».

_images/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).

По умолчанию, кнопка «В проблему» доступна для статуса «В процессе».

10.4.7. Создание запроса на изменение из обращения

Доступна возможность создания запросов на изменение из обращений. Для этого отображается кнопка «Запрос на изменение», по нажатию на которую создается запрос на изменение на основе обращения и поле «Ссылка на обращение» заполняется ссылкой на документ, в поле «Источник» указывается «Обращение». Также дополнительно копируются данные из обращения в запрос на изменение.

Данная кнопка доступна для пользователей группы itsm_group_button_rfc на статусах обращений «Зарегистрировано», «Информация предоставлена», «На очереди», «В процессе». При необходимости в скрипте можно добавить или убрать нужные статусы, а также данные копируемые из обращения в запрос на изменение.