Запуск скрипта из дашборда
В рамках работы с одним пространством есть возможность не переходить от дашборда к скриптам, а запустить скрипт с помощью настроенного действия из виджета Таблица.
Данный функционал позволяет, например:
- Добавить, удалить или обновить строки таблицы
- Совершить действие в другой системе:
- Создать задачу
- Повысить приоритет задачи
- Отправить сообщение
Настройка скрипта
Для запуска скрипта из дашборда необходимо создать скрипт, который можно будет использовать для настройки действия в виджете Таблица. Для этого:
- Создайте новый скрипт в Панели данных пространства.
- Первым блоком (триггером) обязательно должен быть Ручной запуск. Для запуска действия можно использовать скрипт только с этим триггером.
- Настройте ожидаемые поля, они будут заполняться пользователем или автоматически во время запуска действия из виджета. В параметрах блока:
- Укажите название поля
- Выберите тип данных (текст, число, дата или дата и время)
- Если будет приниматься ряд данных, поставьте галочку рядом с полем Массив
- Можно сделать поле обязательным для заполнения переключателем Обязательное поле
- При нажатии Продолжить открывается модальное окно с созданными полями. Заполните их и нажмите Выполнить. Блок протестируется и в левой панели отобразятся дата и время выполнения, а также введенные в полях значения.
- Добавьте блок, например, для удаления или обновления строки таблицы.
- Выберите таблицу, в которую будут вноситься изменения, и с помощью маппинга соотнесите поля.
- Протестируйте блок и опубликуйте скрипт.
Если скрипт не опубликован, он не отобразится при настройке действия в виджете Таблица.
Настройка действия
Чтобы настроить действие, перейдите в дашборд, создайте или выберите таблицу, для которой необходимо настроить действие, и откройте вкладку Действия в правой панели. Нажмите + Действие.
После нажатия появляются параметры для настройки действия.
Параметры настройки действия
Добавьте название и, при необходимости, описание, которое используется в качестве подсказки на этапе запуска скрипта. Чтобы дашборд автоматически обновлялся после запуска действия, настройте параметр Обновить дашборд после выполнения скрипта. Можно обновить все виджеты или только тот, для которого настроено действие. Также можно отключить параметр.
В поле Активация кнопки можно добавить условие, при выполнении которого кнопка в режиме просмотра становится доступной для нажатия. Указать условие для активации можно по формуле или по переменной. При выборе активации по переменной, доступны только переменные типа Статический список. Если установленное в условии значение не соответствует текущему значению переменной, то в режиме просмотра кнопка запуска действия не активна.
Дополнительно можно выбрать тип кнопки: основная, второстепенная или ссылка. Также можно настроить базовый цвет фона и текста.
Настройте параметры действия:
- Название
- Описание
- Способ ввода
Настройка способа ввода
Из колонки
В параметр скрипта будет передаваться значение из таблицы, выбранное в списке.
Из переменной
Указывается системная переменная или переменная дашборда (статический или динамический список). Для данного способа переменную необходимо вывести в виджет Параметр. В скрипт передается значение по умолчанию или выбранное в Параметре. При запуске действия выбрать значение невозможно.
Из модели данных
Позволяет использовать в качестве списка значений для параметра список таблиц из модели данных или список колонок. Выбор происходит в модальном окне запуска действия в режиме просмотра.
Список таблиц — это основной параметр, а Список колонок — зависимый. Чтобы использовать в способе ввода Список колонок, сначала необходимо настроить параметр, для которого будет использоваться Список таблиц.
После этого при настройке Списка колонок понадобится задать значение для Связанного параметра, в котором выбирается таблица для отображения колонок. В раскрывающемся списке значений отображаются только те параметры, для которых используется Список таблиц.
В режиме просмотра поле параметра, для которого используется Список колонок, становится активным после выбора таблицы в основном параметре.
Если ожидаемое поле в скрипте — массив, то при использовании способа ввода Из модели данных для параметра со списком таблиц доступен выбор только одной таблицы. При этом для параметра со списком колонок можно выбрать несколько значений.
Если в основном параметре изменить способ ввода, выбрать вариант Список колонок или удалить параметр, то в зависимый параметр перестает быть сконфигурированным.
Задать формулой
С помощью формулы можно настроить динамически изменяемый параметр.
Задать агрегацией
С помощью формулы можно передавать результат агрегации в ожидаемое поле скрипта. Результат агрегации должен совпадать с типом ожидаемого поля. В режиме просмотра при выполнении действия поле с этим способом ввода заполняется значением из формулы поля. При выполнении скрипта значение функции передается в ожидаемое поле скрипта. Если ожидаемое поле — массив, то функция должна возвращать массив.
При использовании Фильтра по строкам значение рассчитывается с учетом выбранных строк.
Ввести вручную
При запуске действия данные вводятся вручную в поле Значение по умолчанию. Для поля можно указать описание.
Статический список
Создается статический список, при запуске пользователь выбирает значение из списка в окне запуска скрипта. Создать список можно с помощью YAML. В поле Значение по умолчанию можно ввести или выбрать одно или несколько значений.
Динамический список
Создается динамический список, при запуске пользователь выбирает значение из списка в окне запуска скрипта. В дополнение к списку можно настроить:
- Отображаемый список
- Значение по умолчанию
- Фильтр по строкам
- Предустановленные фильтры (кнопка + Фильтр)
- Переключатели:
- Скрыть параметр — параметр не будет отображаться в окне запуска действия
- Ввод любых значений — в режиме просмотра в параметр можно вводить и отправлять одно значение, которого нет в динамическом списке. Если ожидаемое поле в скрипте — массив, то переключатель скрыт
- Учитывать фильтры — в параметр передаются данные с учетом фильтров, назначенных в режиме просмотра
Запуск действия
- Для каждого действия дополнительно отображаются названия параметра в скрипте и тип.
- Порядок параметров можно изменять. Для этого нажмите и удерживайте параметр, перемещая его в нужное место. Изменение также отобразится в форме запуска действия.
После настройки действия над таблицей появляется кнопка. Она становится активной в режиме просмотра.
Когда все необходимые параметры заданы, опубликуйте дашборд.
Чтобы запустить действие, нажмите на кнопку. Если выбран способ ввода Из колонки или Задать формулой, кнопка неактивна до тех пор, пока не выбраны строки. Чтобы выбрать отдельные строки, отметьте их галочкой. Если отметить галочкой заголовок столбца, выберутся все строки.
Выделение строк сохраняется для каждой страницы отдельно. Если применить фильтрацию или сортировку на колонки таблицы, выделение строк сбрасывается.
Если вы нажали кнопку запуска скрипта по ошибке, запустите другой скрипт во время отображения анимации загрузки запуска. В этом случае окно запуска первого скрипта не открывается.
Откроется окно запуска скрипта. Заполните обязательные поля и другие, если необходимо. Чтобы запустить скрипт, нажмите Выполнить или Enter. Для отмены нажмите иконку крестика в правом верхнем углу окна.
Если поле не обязательно для заполнения, но значение для него уже выбрано, его можно сбросить, нажав на иконку крестика. Иконка появляется в правой стороне поля при наведении на него курсора мыши.
- Если в блоке Ручной запуск изменились ожидаемые поля, то в настройках действия с этим скриптом в виджете название ожидаемого поля изменится, но настройки способа ввода останутся прежними.
- Действие применяется только к первой 1 000 выбранных строк.
- Запуск скрипта доступен пользователям с доступом на чтение и/или редактирование пространства и дашборда.
Действие невозможно запустить, когда:
- Используемый скрипт удален
- В используемом скрипте блок-триггер Ручной запуск заменен на другой
- Из модели данных удалена используемая таблица
- Используется пустое значение колонки из другой связанной таблицы. Необходимо изменить ее свойство на Nullable
Когда скрипт запускается, в правом нижнем углу отображается сообщение Действие «Название действия» запущено. Если скрипт успешно завершает работу, в правом нижнем углу появляется сообщение Действие выполнено. Если скрипт не был выполнен успешно, отображается сообщение об ошибке. В зависимости от причины возникновения ошибки вы можете перейти в журнал выполнений, перезапустить скрипт или закрыть окно.
Примеры запуска скриптов из дашборда
Чтобы выполнить какое-либо действие, необходимо создать скрипт.
Добавить строку
Чтобы добавить строку в таблицу:
- Создайте новый скрипт в дашборде.
- Добавьте блок Ручной запуск. В блок добавьте ожидаемые поля, укажите необходимые типы данных и нажмите Продолжить. Используйте названия колонок таблиц из модели данных. Протестируйте блок.
- Добавьте блок Добавить строки. В блоке выберите необходимую таблицу, а в колонках — указанные в первом блоке ожидаемые поля. Для удобства используйте визуальный маппинг. Протестируйте блок.
- Опубликуйте скрипт.
- Откройте дашборд с необходимой таблицей. Добавьте действие во вкладке Действия и укажите для него название. В параметрах каждого поля укажите необходимый способ ввода и колонку. Чтобы результат выполнения отобразился после выполнения скрипта, установите для параметра Обновить после выполнения скрипта значение Этот виджет.
- Опубликуйте дашборд. В верху таблицы нажмите Добавить строку. Укажите необходимые параметры и нажмите Выполнить.
- Строка добавлена.
Удалить строки
Чтобы удалить строки из таблицы:
- Создайте новый скрипт в дашборде.
- Добавьте блок Ручной запуск. В блок добавьте ожидаемое поле, укажите необходимый тип данных и нажмите Продолжить. Используйте название колонки таблицы из модели данных. Протестируйте блок.
- Добавьте блок SQL-запрос с запросом на удаление строки. Протестируйте блок.
Пример SQL-запроса для удаления строки:
DELETE FROM case_table WHERE incident_id = ${a1.Номер проблемы};
- Опубликуйте скрипт.
- Откройте дашборд с необходимой таблицей. Добавьте действие во вкладке Действия и укажите для него название. В параметрах поля укажите способ ввода Из колонки. Выберите ту же колонку, что и указана в SQL-запросе скрипта. Чтобы результат выполнения отобразился после выполнения скрипта, установите для параметра Обновить после выполнения скрипта значение Этот виджет.
- Опубликуйте дашборд. Выберите строки, которые хотите удалить и нажмите Удалить строки над таблицей. Нажмите Выполнить.
- Строки удалены.
Изменить приоритет
Чтобы изменить приоритет:
- Создайте новый скрипт в дашборде.
- Добавьте блок Ручной запуск. В блок добавьте ожидаемые поля, укажите необходимые типы данных и нажмите Продолжить. Протестируйте блок.
- Добавьте блок Обновить строки. В блоке укажите необходимую таблицу, колонку-ключ и значение ключа, а в колонках — приоритет. Для удобства можно использовать визуальный маппинг. Протестируйте блок.
- Опубликуйте скрипт.
- Откройте дашборд с необходимой таблицей. Добавьте действие во вкладке Действия и укажите для него название. В параметрах каждого поля укажите необходимый способ ввода и колонку. Чтобы результат выполнения отобразился после выполнения скрипта, установите для параметра Обновить после выполнения скрипта значение Этот виджет.
- Опубликуйте дашборд. Выберите строки, для которых хотите изменить приоритет. В верху таблицы нажмите Изменить приоритет. Введите или выберите необходимое значение и нажмите Выполнить.
- У выбранных задач изменился приоритет.
Настройки скрипта и действия в YAML
Действие по клику для таблицы настраивается в блоке actions
. В таблице ниже представлены ключи, которые можно использовать.
Ключ | Тип | Определение |
---|---|---|
name | string | Название действия |
type | enum | Тип действия по клику: EXECUTE_SCRIPT Возможен только один тип действия |
description | string | Описание (необязательный ключ) |
filters | — | Предустановленные фильтры (необязательный ключ) |
scriptKey | string | Ключ скрипта |
parameters | — | Параметры скрипта (необязательный ключ) |
autoUpdate | enum | Обновить после выполнения скрипта: - NONE — нет- THIS_WIDGET — этот виджет- ALL_WIDGETS — все виджеты |
buttonType | enum | Тип кнопки: - primary — основная- primary-outlined — второстепенная - link — ссылка |
color | string | Цвет текста кнопки |
backgroundColor | string | Цвет фона кнопки |
borderColor | string | Цвет обводки второстепенной кнопки |
blockingCondition | — | Активация кнопки |
Параметры скрипта (блок parameters)
В блоке parameters
указываются параметры скрипта:
Ключ | Тип | Определение |
---|---|---|
name | string | Название параметра в скрипте |
displayName | string | Отображаемое название |
inputMethod | enum | Способ ввода значения переменной |
isHidden | boolean | Скрыть параметр |
Способ ввода (ключ inputMethod)
Доступны перечисленные способы ввода значения:
COLUMN
— из колонкиVARIABLE
— из переменнойDATA_MODEL
— из модели данныхFORMULA
— задать формулойAGGREGATION
— задать агрегациейMANUALLY
— ввести вручнуюSTATIC_LIST
— статический списокDYNAMIC_LIST
— динамический список
Настройки для способа ввода Из колонки (COLUMN
):
Ключ | Тип | Определение |
---|---|---|
tableName | string | Название таблицы |
columnName | string | Название колонки из таблицы, указанной в ключе tableName |
Настройки для способа ввода Из переменной (VARIABLE
):
Ключ | Тип | Определение |
---|---|---|
sourceVariable | string | Название переменной |
Настройки для способа ввода Из модели данных (DATA_MODEL
):
Ключ | Тип | Определение |
---|---|---|
option | enum | Вариант использования: - TABLE_LIST — список таблиц- COLUMN_LIST — список колонок |
parent | string | Название основного параметра, в котором используется вариант TABLE_LIST . Только для варианта COLUMN_LIST |
Настройки для способа ввода Задать формулой (FORMULA
):
Ключ | Тип | Определение |
---|---|---|
formula | string | Формула |
filterByRows | boolean | Расчет формулы с учетом фильтра по выбранным строкам |
Настройки для способа ввода Задать агрегацией (AGGREGATION
):
Ключ | Тип | Определение |
---|---|---|
formula | string | Формула с возможностью использовать агрегатные функции |
filterByRows | boolean | Расчет формулы с учетом фильтра по выбранным строкам |
Настройки для способа ввода Ввести вручную (MANUALLY
):
Ключ | Тип | Определение |
---|---|---|
defaultValue | string | Значение по умолчанию |
filterByRows | boolean | Расчет формулы с учетом фильтра по выбранным строкам |
validation | string | Валидация |
description | string | Описание поля |
Настройки для способа ввода Статический список (STATIC_LIST
):
Ключ | Тип | Определение |
---|---|---|
options | string | Список значений |
defaultOptionIndex | number[] | Значение по умолчанию |
Настройки для способа ввода Динамический список (DYNAMIC_LIST
):
Ключ | Тип | Определение |
---|---|---|
options | string | Список (задается по формуле) |
displayOptions | string | Отображаемый список (задается по формуле) |
insertAnyValues | boolean | Переключатель Ввод любых значений. В режиме просмотра в параметр можно вводить и отправлять одно значение, которого нет в динамическом списке |
validation | string | Валидация (только используется insertAnyValues ) |
defaultValue | string | Значение по умолчанию. Задается по формуле |
filterByRows | boolean | Расчет формулы с учетом фильтра по выбранным строкам |
filters | — | Предустановленные фильтры (необязательный ключ) |
considerFilters | boolean | Учитывать фильтры из режима просмотра |
Настройка цвета для кнопки
При настройке блоков backgroundColor
, color
или borderColor
используйте ключи, описанные в таблице ниже.
Ключ | Тип | Определение |
---|---|---|
mode | enum | Режим окрашивания: - AUTO — авто - BASE — базовый |
value | string | HEX-код цвета (указывается в двойных кавычках) |
Активация кнопки (блок blockingCondition)
Ключ | Тип | Определение |
---|---|---|
mode | enum | Режим активации кнопки: - VARIABLE — по переменной- FORMULA — по формуле |
variableName | string | Только для режима VARIABLE Название переменной (указывается в двойных кавычках) |
variableValue | string | Только для режима VARIABLE Значение переменной (указывается в двойных кавычках) |
formula | string | Только для режима FORMULA Формула (указывается в двойных кавычках) |
Пример:
actions:
- name: "Действие"
type: EXECUTE_SCRIPT
description: "Описание действия"
filters:
- name: case_id
formula: '"case_table"."case_id"'
dbDataType: STRING
format: STRING
filteringMethod: INCLUDE
checkedvalues:
- 'Value_1'
- 'Value_2'
- 'Value_3'
formValues: {}
scriptName: script_1
parameters:
- name: parameter_1
displayName: "Параметр 1"
inputMethod: COLUMN
tableName: table_1
columnName: column_1
isHidden: false
- name: parameter_2
displayName: "Параметр 2"
inputMethod: VARIABLE
sourceVariable: variable_1
isHidden: false
- name: parameter_3
displayName: "Параметр 3"
inputMethod: FORMULA
formula: 'avg("table_1"."column_1")'
isHidden: false
- name: parameter_4
displayName: "Параметр 4"
inputMethod: MANUALLY
description: "Описание поля параметра"
isHidden: false
- name: parameter_5
displayName: "Параметр 5"
inputMethod: STATIC_LIST
options:
- '10'
- '20'
- '30'
defaultOptionIndex: 0
isHidden: false
- name: parameter_6
displayName: "Параметр 6"
inputMethod: DYNAMIC_LIST
formula: '"table_1"."column_1"'
dbDataType: STRING
filters:
- name: case_id
formula: '"case_table"."case_id"'
dbDataType: STRING
format: STRING
filteringMethod: INCLUDE
checkedvalues:
- 'Value_1'
- 'Value_2'
- 'Value_3'
formValues: {}
defaultValue: '100'
isHidden: false
updateDashboard: true
Была ли статья полезна?