TIME LINE#
Виджет Time Line отображает интервалы времени в виде горизонтальной временной шкалы. Его удобно использовать, когда нужно показать длительность выполнения Работ, этапов процесса или действий пользователя в форме.
.png)
Например, с помощью Time Line можно отобразить, когда началась и завершилась каждая Работа, сколько времени заняли отдельные этапы обработки заявки или как распределялись действия по времени.
Начало настройки виджета#
Для настройки виджета нажмите на значок редактирования
.
.png)
Откроется всплывающее окно "Настройки виджета":
.png)
Заполните нужные поля для настройки виджета.
Общие поля#
| № п/п | Поле | Описание |
| 1. | Название виджета * | Название, которое будет отображаться в заголовке виджета. Заполняется вручную. |
| 2. | Режим | Способ настройки запроса для получения данных. |
| 2.1. | Режим конструктора | Позволяет собрать запрос из блоков: таблицы, объединения, фильтры, ряды виджета, группировка, сортировка и количество строк. |
| 2.2. | Расширенный режим | Позволяет ввести SQL-запрос вручную. Для Time Line этот режим удобнее, так как можно явно задать нужные имена колонок. |
Дополнительные поля, доступные для настройки только в Режиме конструктора#
Объединение таблиц#
Объединение таблиц необходимо для того, чтобы извлечь данные из нескольких связанных таблиц и сформировать более полные и информативные результаты.
Для сравнения двух таблиц, для последующего объединения, используются следующие операторы:
| Название | Описание |
|---|---|
| = | Вернет строки из двух таблиц, где значения в указанных столбцах равны. |
| != | Вернет строки из двух таблиц, где значения в указанных столбцах не равны. |
| > | Вернет строки, где значение в указанном столбце из первой таблицы больше значения в указанном столбце второй таблицы. |
| < | Вернет строки, где значение в указанном столбце из первой таблицы меньше значения в указанном столбце второй таблицы. |
Если требуется объединить только 2 таблицы, то необходимо заполнить поля:
- “Столбец” из всплывающего списка;
- “Оператор” из всплывающего списка;
- “Столбец 2” из всплывающего списка;
Например,

Если требуется объединить больше двух таблиц, то необходимо нажать кнопку
, после чего заполнить нужные поля.
Если требуется удалить объединение таблиц, то необходимо нажать кнопку
.
Фильтры#
Фильтры позволяют задавать условия для выбираемых данных с помощью операторов сравнения и логических операторов.
Для того, чтобы задать одно условие, необходимо заполнить поля:
- “Столбец” из всплывающего списка;
- “Оператор” из всплывающего списка;
- “Значение” вручную с клавиатуры;
Например,

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

Если требуется задать сложное условие для Фильтра, включающее в себя несколько скобок, то необходимо нажать кнопку
, после чего заполнить нужные поля.
Если требуется удалить условие, то необходимо нажать кнопку
.
Ряды виджета#
Ряды виджета используются для указания колонок данных, которые необходимо извлечь из базы данных. Они определяют, какие данные будут возвращены в результатах запроса.
Для того, чтобы настроить Ряды виджета, необходимо заполнить поля:
- “Столбец” из всплывающего списка;
- “Оператор” из всплывающего списка;
- “Название ряда” вручную с клавиатуры;
Например,

Если требуется вывести дополнительные данные на легенду, то следует нажать кнопку
.
Группировка по#
Поле для настройки процесса объединения строк данных с одинаковыми значениями в определенном столбце (или столбцах) в единый набор, что позволяет выполнять агрегатные операции над этими группами. Для объединения строк данных, необходимо заполнить поле столбец из выпадающего списка;
Сортировка#
Поля для настройки процесса упорядочивания данных в результирующем наборе в определенном порядке в зависимости от значений в одном или нескольких столбцах. Для сортировки по возрастанию, требуется внести в поле “Сортировка по” значение “ASC”. Для сортировки по убыванию, значение “DESC”. Далее необходимо заполнить поле “Столбец” из выпадающего списка;
Количество строк#
Поле заполняется вручную с клавиатуры или с помощью счетчика
. Данное поле позволяет ограничить количество записей, которые возвращаются в результате запроса для построения Дашборда.
Тестирование#
Для того чтобы удостовериться, что запрос настроен верно, необходимо нажать на кнопку
, после чего появится таблица с данными, по которым будет построен Дашборд Line Chart.
Для вывода Дашборда на панель, следует нажать кнопку “ОК”.
Для удаления всех заполненных данных, следует нажать кнопку “Отмена”.
Формат данных для Time Line#
Для корректного построения виджета запрос должен вернуть три колонки:
| Колонка | Описание |
| name | Название строки на временной шкале. Например, имя Работы, этапа или формы. |
| StartTime | Дата и время начала интервала. |
| FinishTime | Дата и время окончания интервала. |
Если значение FinishTime не заполнено, виджет отобразит короткий интервал длительностью 60 секунд от значения StartTime.
Режим конструктора (пример)#
Пример показывает последние Работы, у которых указано время запуска. Каждая Работа отображается на шкале как отдельный временной интервал от начала до завершения.
.png)
.png)
.png)
.png)
Необходимо заполнить поля:
Таблицы *
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
.png)
Расширенный режим (пример)#
Пример показывает последние Работы, у которых указано время запуска. Каждая Работа отображается на шкале как отдельный временной интервал от начала до завершения.
В поле 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".