TIME LINE#

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

Например, с помощью Time Line можно отобразить, когда началась и завершилась каждая Работа, сколько времени заняли отдельные этапы обработки заявки или как распределялись действия по времени.

Начало настройки виджета#

Для настройки виджета нажмите на значок редактирования .

Откроется всплывающее окно "Настройки виджета":

Заполните нужные поля для настройки виджета.

Общие поля#

№ п/пПолеОписание
1.Название виджета *Название, которое будет отображаться в заголовке виджета. Заполняется вручную.
2.РежимСпособ настройки запроса для получения данных.
2.1.Режим конструктораПозволяет собрать запрос из блоков: таблицы, объединения, фильтры, ряды виджета, группировка, сортировка и количество строк.
2.2.Расширенный режимПозволяет ввести SQL-запрос вручную. Для Time Line этот режим удобнее, так как можно явно задать нужные имена колонок.

Дополнительные поля, доступные для настройки только в Режиме конструктора#

Объединение таблиц#

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

Для сравнения двух таблиц, для последующего объединения, используются следующие операторы:

Название Описание
= Вернет строки из двух таблиц, где значения в указанных столбцах равны.
!= Вернет строки из двух таблиц, где значения в указанных столбцах не равны.
> Вернет строки, где значение в указанном столбце из первой таблицы больше значения в указанном столбце второй таблицы.
< Вернет строки, где значение в указанном столбце из первой таблицы меньше значения в указанном столбце второй таблицы.

Если требуется объединить только 2 таблицы, то необходимо заполнить поля:

  1. “Столбец” из всплывающего списка;
  2. “Оператор” из всплывающего списка;
  3. “Столбец 2” из всплывающего списка;

Например,

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

Если требуется удалить объединение таблиц, то необходимо нажать кнопку .

Фильтры#

Фильтры позволяют задавать условия для выбираемых данных с помощью операторов сравнения и логических операторов.

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

  1. “Столбец” из всплывающего списка;
  2. “Оператор” из всплывающего списка;
  3. “Значение” вручную с клавиатуры;

Например,

Если требуется скомбинировать несколько условий в одно целое, например, ((robots.is_deleted = 0) AND (robots.id > 13)), то необходимо использовать логические операторы. Для этого необходимо выбрать нужный оператор, кликнув на иконку , чтобы поменять её на OR, или , чтобы поменять её на AND. Далее нажать кнопку , после чего заполнить нужные поля:

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

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

Ряды виджета#

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

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

  1. “Столбец” из всплывающего списка;
  2. “Оператор” из всплывающего списка;
  3. “Название ряда” вручную с клавиатуры;

Например,

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

Группировка по#

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

Сортировка#

Поля для настройки процесса упорядочивания данных в результирующем наборе в определенном порядке в зависимости от значений в одном или нескольких столбцах. Для сортировки по возрастанию, требуется внести в поле “Сортировка по” значение “ASC”. Для сортировки по убыванию, значение “DESC”. Далее необходимо заполнить поле “Столбец” из выпадающего списка;

Количество строк#

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

Тестирование#

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

Для вывода Дашборда на панель, следует нажать кнопку “ОК”.

Для удаления всех заполненных данных, следует нажать кнопку “Отмена”.

Формат данных для Time Line#

Для корректного построения виджета запрос должен вернуть три колонки:

Колонка Описание
name Название строки на временной шкале. Например, имя Работы, этапа или формы.
StartTime Дата и время начала интервала.
FinishTime Дата и время окончания интервала.

Если значение FinishTime не заполнено, виджет отобразит короткий интервал длительностью 60 секунд от значения StartTime.

Режим конструктора (пример)#

Пример показывает последние Работы, у которых указано время запуска. Каждая Работа отображается на шкале как отдельный временной интервал от начала до завершения.

Необходимо заполнить поля:

Таблицы *

jobs

process_versions

processes

Объединение таблиц

Столбец Оператор Столбец 2
jobs.process_version_id = process_versions.id
process_versions.process_id = processes.id

Фильтры

Столбец Оператор Значение
jobs.is_deleted = 0
jobs.created > 2026-01-01 00:00:00

Ряды виджета

Столбец Оператор Название ряда
processes.name name
jobs.created StartTime
jobs.updated FinishTime

Для Time Line в Рядах виджета нужно указать именно name, StartTime, FinishTime. Эти названия используются кодом виджета для построения временной шкалы.

Сортировка по

Поле Значение
Столбец jobs.created
Сортировка по DESC

Количество строк

10

Расширенный режим (пример)#

Пример показывает последние Работы, у которых указано время запуска. Каждая Работа отображается на шкале как отдельный временной интервал от начала до завершения.

В поле SQL укажите запрос:

SELECT
    COALESCE(processes.name, CONCAT('Работа ', jobs.id)) AS name,
    COALESCE(jobs.started, jobs.created) AS StartTime,
    DATE_ADD(COALESCE(jobs.started, jobs.created), INTERVAL 2 HOUR) AS FinishTime
FROM jobs
LEFT JOIN process_versions ON jobs.process_version_id = process_versions.id
LEFT JOIN processes ON process_versions.process_id = processes.id
WHERE
    jobs.is_deleted = 0
    AND COALESCE(jobs.started, jobs.created) IS NOT NULL
ORDER BY COALESCE(jobs.started, jobs.created) DESC
LIMIT 10

Для вывода виджета на панель нажмите на кнопку "OK".