Перейти к основному содержимому
Версия: 1.35.0

Индикаторы

Индикатор – это правило создания счетчика времени, определяющее условия запуска, паузы, сброса и завершения этого счетчика. Индикатор также определяет срок для объявления соглашения превышенным и содержит временны́е условия реализации типа обязательства.

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

к сведению

Начиная с версии 1.29.0 перед обработкой индикаторов производится их фильтрация. Подробнее см. Предварительная фильтрация индикаторов.

В зависимости от потребностей бизнеса можно создать различные типы индикаторов:

  • Стандартный – индикатор создает индикацию, которая запускается и завершается, когда выполняются заданные условия, или отменяется.

    Например, время начала – это момент, когда статус задачи меняется на Назначено.

  • Ретроспективный – индикатор создает индикацию, которая определяет время запуска или превышения на основе полей типа Date/Time, заданных вручную. Индикации создаются для записей, удовлетворяющих заданным условиям.

    Например, индикация создается, когда статус задачи меняется на Назначено, но при этом, время начала – это значение поля Открыто в.

Создание индикатора

подсказка

Требуемая роль: service_level_manager

Чтобы создать новый индикатор, выполните следующие шаги:

  1. Перейдите в Управление индикациямиИндикаторы.
  2. Нажмите Создать и заполните форму.
  3. Нажмите Сохранить или Сохранить и выйти, чтобы применить изменения.

Поля формы Индикаторы

ПолеОбязательноОписание
НаименованиеДаУкажите имя индикатора. При создании индикаторов для одной и той же таблицы задавайте им разные имена.
ТаблицаДа

Укажите таблицу, к которой будут применяться условия индикатора.

После сохранения формы поле становится доступным только для чтения.

СоглашениеНетУкажите соглашение, относящееся к этому индикатору и содержащее метрики отслеживания.
Время запуска индикацииДа

Выберите один из трех вариантов:

  • Определяется условием – для стандартных индикаций. Стандартное время начала индикации – время сохранения записи, соответствующей Условиям запуска.
  • Определяется полем – для ретроспективных индикаций. Время начала ретроспективной индикации основано на значении, полученном из поля, указанного в Поле времени запуска. Запись также должна соответствовать условиям, определенным на вкладке Условия запуска. В отличие от стандартной индикации время выполнения условий игнорируется.
  • Определяется путем – время начала индикации определяется значением поля типа Date/Time, полученным через dot-walking, по пути, указанному в поле Путь до времени запуска.
Поле времени запускаДа

Поле появляется, если в поле Время запуска индикации выбрана опция Определяется полем.

Выберите колонку типа Date/Time таблицы, для записей которой должны рассчитываться индикации. Из этой колонки индикация извлекает значение времени начала.

Ретроспективная индикация подсчитывает значение, актуальное на момент создания индикатора. При изменении значения индикации не пересчитываются.

Путь до времени запускаДа

Поле появляется, если в поле Время запуска индикации выбрана опция Определяется путем.

Укажите путь в формате dot-walking к колонке типа Date/Time, из которой требуется получать значение времени начала индикации. Путь необходимо указывать относительно таблицы, для записей которой создаются индикации.

Если путь задан некорректно или целевое поле пустое, система создает индикацию, используя в качестве времени запуска время сохранения записи, соответствующей Условиям запуска.

Учитывать ретроспективную паузуНетУстановите флажок, чтобы при расчете Времени паузы индикации учитывались все периоды в истории записи, при которых выполнялись условия паузы, с применением правил. Эта суммарная длительность паузы используется при расчете других параметров индикации. По умолчанию флажок снят, в результате чего ретроспективная пауза не учитывается в расчетах Времени паузы.

Поле доступно для редактирования, если:

  • в поле Время запуска индикации выбрано Определяется полем, и
  • в поле Таблица выбрана таблица с установленным флажком Логировать.

Изменение состояния флажка применяется ко всем новым индикациям, создаваемым для данного индикатора.

Ретроспективная пауза рассчитывается с заданного момента запуска на основании данных таблицы История (sys_history). Расчет не производится, если в индикаторе используется расширенная модель записи (REM), так как данные о REM не хранятся в таблице История (sys_history).

Время превышения индикацииНет

Выберите один из трех вариантов:

  • Определяется длительностью – время нарушения индикации основано на значении поля Длительность. Время превышения соглашения также учитывает продолжительность пауз.
  • Определяется полем – определение времени превышения основывается на значении, полученном из поля, указанного в Поле времени превышения.
  • Определяется путем – время превышения определяется на основании значения поля типа Date/Time, полученного через dot-walking, по пути, указанному в поле Путь до времени превышения.

После сохранения формы поле становится доступным только для чтения.

Поле времени превышенияДа

Поле появляется, если в поле Время превышения индикации выбрана опция Определяется полем.

Выберите колонку типа Date/Time таблицы, для записей которой должны рассчитываться индикации. Из этой колонки индикация извлекает значение времени превышения.

После сохранения формы поле Время превышения индикации становится доступным только для чтения.

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

Поле появляется, если в поле Время превышения индикации выбрана опция Определяется путем.

Укажите путь в формате dot-walking к колонке типа Date/Time, из которой требуется получать значение времени превышения индикации. Путь необходимо указывать относительно таблицы, для записей которой создаются индикации.

Если путь задан некорректно или целевое поле пустое, индикация не создается.

При использовании dot-walking перерасчет времени превышения при обновлении целевой или связанной записи не производится – оно рассчитывается исходя из предыдущих значений.

ДлительностьДа

Это поле появляется, если в поле Время превышения индикации выбрана опция Определяется длительностью.

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

Минимальная длительностьНет

Поле появляется, если в поле Время превышения индикации выбрана опция Определяется полем.

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

Если полученная длительность меньше Минимальной длительности, то индикация не создается.

Если пользователь поменяет Поле времени превышения после создания индикации и полученная длительность окажется меньше Минимальной длительности, индикация отменяется.

Учитывается продолжительность дня согласно выбранному календарю.

После сохранения формы поле становится доступным только для чтения.

АктивенНетУстановите этот флажок, чтобы активировать индикатор.
Тип обязательстваДа

Укажите тип обязательства для этого индикатора. Доступные опции:

  • Время решения – время, необходимое для решения задачи (как правило, время с момента создания задачи до момента изменения ее статуса на Завершено).
  • Время реакции – время, необходимое для обработки задачи неавтоматизированным способом (как правило, время с момента создания задачи до момента изменения ее статуса на В работе).
Источник календаряДа

Укажите источник календаря для расчета рабочего времени. Доступные опции:

  • Календарь индикатора – используется календарь, выбранный в поле Календарь.
  • Другой календарь – календарь определяется значением поля типа Reference на таблицу календарей, полученным через путь dot-walking, указанный в поле Путь до календаря. При выборе этой опции поле Календарь скрывается.

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

КалендарьДа

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

Используйте один из существующих в системе календарей или настройте свой при помощи модуля Календарь.

Если выбранный календарь невалиден (состоит из элементов типа Исключая), то по умолчанию будет использоваться календарь 24х7.

Поле скрывается, если в поле Источник календаря выбрана опция Другой календарь.

Путь до календаряДа

Поле появляется, если в поле Источник календаря выбрана опция Другой календарь.

Укажите путь в формате dot-walking к колонке, которая содержит ссылку на запись календаря. Путь необходимо указывать относительно таблицы, для записей которой создаются индикации.

Если путь задан некорректно или целевое поле пустое, расчет индикации выполняется по календарю 24x7.

Часовой поясДа

Определяет часовой пояс индикатора. Доступны только активные часовые пояса.

Поле скрывается, если в поле Источник часового пояса выбрана опция Другой часовой пояс.

Источник часового поясаДа

Укажите источник часового пояса. Доступные опции зависят от целевой таблицы. Для всех таблиц доступны опции:

  • Часовой пояс индикатора
  • Другой часовой пояс – часовой пояс определяется значением поля типа Reference на таблицу часовых поясов, полученным через путь dot-walking, указанный в поле Путь к часовому поясу.

Для таблицы Задача (Task) и ее наследников доступны две дополнительные опции:

  • Часовой пояс локации задачи
  • Часовой пояс заявителя

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

Путь до часового поясаДа

Поле появляется, если в поле Источник часового пояса выбрана опция Другой часовой пояс.

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

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

внимание

Для следующих таблиц нельзя создать индикаторы:

  • Индикаторы (sys_indicator)
  • Индикации (sys_indication)
  • Запланированные скрипты (sys_schedule_script)
  • Запланированные импорты (sys_schedule_import)
  • История (sys_history)
  • Электронная почта (sys_email)
  • Вложения (sys_attachment)
  • Поисковый индекс (sys_search_index)
  • Объекты ленты активности (sys_activity_feed_item)
  • Основной журнал (sys_log)
  • Архивы журналов (sys_log_archive)
  • Журнал исключений (sys_log_exception)
  • Журнал работы скриптов (sys_log_script)
  • Журнал удаления записей (sys_record_deletion_log)
  • Записи VCS (sys_vcs_record)

Настройка условий


Используйте следующие вкладки, чтобы указать условия индикатора:

Условия запуска

ПолеОбязательноОписание
Условия запускаДа

С помощью конструктора условий задайте условия создания индикации.

Система использует поля выбранной Таблицы в качестве транзакционных данных для задания условий. При изменении транзакционных данных система проверяет доступность этих условий.

Когда отменитьНет

Установите условие отмены индикации:

  • Условия запуска не соблюдены – индикация отменяется, когда запись перестает соответствовать условиям запуска.
  • Условия отмены соблюдены – эта опция включает дополнительные условия, в случае выполнения которых индикация отменяется.
  • Не отменять – индикация не будет отменяться, кроме случая, описанного в Поле превышения времени.
Условия отменыДа

Эта опция появляется, если в поле Когда отменить выбрана опция Условия отмены соблюдены.

Определите дополнительные условия, которые необходимо выполнить для отмены индикации. Если запись соответствует условиям отмены, условия запуска будут проигнорированы.

Условия паузы

ПолеОбязательноОписание
Условия паузыДа

С помощью конструктора условий задайте условия приостановки индикации.

Система использует поля выбранной Таблицы в качестве транзакционных данных для задания условий. При изменении транзакционных данных система проверяет доступность этих условий.

Когда возобновитьНет

Установите условие для возобновления расчета индикации:

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

Эта опция отображается, если в поле Когда возобновить выбрана опция Условия возобновления соблюдены.

Поле позволяет определить дополнительные условия, которые должны быть выполнены, для возобновления индикации. Другими словами, если запись удовлетворяет условиям возобновления, Условия паузы будут проигнорированы.

Условия завершения

ПолеОбязательноОписание
Условия завершенияДа

Установите условия с помощью конструктора условий для остановки индикации.

Система использует поля выбранной Таблицы в качестве транзакционных данных для проверки условий. При изменении транзакционных данных система проверяет эти условия.

Условия сброса

примечание

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

Чтобы условие срабатывало только один раз, используйте операторы Изменяется, Изменяется с, Изменяется на. При использовании других операторов, возможны случаи сброса индикации при каждом изменении целевой записи.

ПолеОбязательноОписание
Условия сбросаНет

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

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

Система использует поля выбранной Таблицы в качестве транзакционных данных для проверки условий. При изменении транзакционных данных система проверяет эти условия.

внимание

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

Если индикация не находится в режиме паузы при соблюдении условий сброса:

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

Если индикация находится в режиме паузы, когда выполнены условия сброса:

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

При снятии флажка Активен или удалении индикатора связанные индикации будут отменены. В записях связанных индикаций в поле Когда изменено будет отображаться время отмены индикации.

Расчет длительности

Пример 1

Компания А использует календарь "24x7", что означает 24 рабочих часа, 7 дней в неделю и круглосуточную сменную работу. Если вы введете "2" в поле дни, это значение преобразуется в 48 рабочих часов или 2 рабочих дня.

Пример 2

Компания Б использует календарь "8x5", что означает 8 рабочих часов, 5 дней в неделю, один из самых распространенных календарей работы. Если вы введете "2" в поле дни, это значение преобразуется в 48 часов (поскольку в сутках 24 часа), что дает 6 рабочих дней.

Предварительная фильтрация индикаторов

При изменении записи выполняется предварительная фильтрация индикаторов для таблицы и обрабатываются только те индикаторы, которые удовлетворяют как минимум одному из следующих критериев:

  • Хотя бы одно из условий индикатора (запуска, паузы, возобновления, сброса, завершения или отмены) содержит обновленное поле из записи.
  • В записи было изменено поле, указанное в индикаторе как Поле времени превышения, если в поле Время превышения индикации выбрана опция Определяется полем.

Фильтрация по RE-модели


Если в Условиях запуска индикатора используется RE-модель, то при создании или изменении записи в таблице, для которой создан индикатор, применяется следующая логика:

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

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

внимание

Система проверяет наличие обновленного поля в условии по принципу вхождения системного имени колонки в строку условия. Например, при обновлении значения колонки state, индикатор с условием по колонке custom_state отработает для текущей записи.

При использовании RE-модели, если условие старта будет {re_model_id}:attribute=1^ORstate=1 и запись без RE-модели будет удовлетворять части условия state=1, то индикатор все равно не будет применен из-за REM-части условия.

Ретроспективная пауза

Если для индикатора установлен флажок Учитывать ретроспективную паузу, суммарное Время паузы индикации, созданной на его основе, рассчитывается из истории записи с применением следующих правил:

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