Запуск скрипта из дашборда
В рамках работы с одним пространством есть возможность не переходить от дашборда к скриптам, а запустить скрипт с помощью настроенного действия из виджета «Таблица».
Данный функционал позволяет, например:
- добавить, удалить или обновить строки таблицы
- совершить действие в другой системе:
- создать задачу
- повысить приоритет задачи
- отправить сообщение
Настройка скрипта
Для запуска скрипта из дашборда необходимо создать скрипт, который можно будет использовать для настройки действия в виджете «Таблица». Для этого:
- Создайте новый скрипт в Панели данных пространства.
- Первым блоком (триггером) обязательно должен быть Ручной запуск. Для запуска действия можно использовать скрипт только с этим триггером.
- Настройте ожидаемые поля, они будут заполняться пользователем или автоматически во время запуска действия из виджета. В параметрах блока:
- укажите название поля
- выберите тип данных (текст, число, дата или дата и время)
- если будет приниматься ряд данных, поставьте галочку рядом с полем Массив
- можно сделать поле обязательным для заполнения переключателем Обязательное поле
- При нажатии Продолжить открывается модальное окно с созданными полями. Заполните их и нажмите Выполнить. Блок протестируется и в левой панели отобразятся дата и время выполнения, а также введенные в полях значения.
- Добавьте блок, например, для удаления или обновления строки таблицы.
- Выберите таблицу, в которую будут вноситься изменения, и с помощью маппинга соотнесите поля.
- Протестируйте блок и опубликуйте скрипт.
Если скрипт не опубликован, он не отобразится при настройке действия в виджете «Таблица».
Настройка действия
Для настройки действия:
- Перейдите в дашборд, создайте или выберите таблицу, в которой необходимо настроить действие, и откройте вкладку Действия в левой панели.
- Нажмите Добавить.
- Добавьте название и, при необходимости, описание (будет использоваться в качестве подсказки на этапе запуска скрипта). Чтобы дашборд автоматически обновлялся после запуска действия, нажмите переключатель Обновить дашборд после выполнения действия.
- Настройте параметры действия:
- название
- описание
- способ ввода:
- из колонки — в параметр скрипта будет передаваться значение, выбранное в таблице
- из переменной — указывается системная переменная или переменная дашборда (статический или динамический список). Для данного способа переменную необходимо вывести в виджет «Параметр». В скрипт передается значение по умолчанию или выбранное в «Параметре». При запуске действия выбрать значение невозможно
- задать формулой — с помощью формулы можно настроить динамически изменяемый параметр
- ввести вручную — данные вводятся вручную при запуске действия
- статический список — создается статический список, при запуске пользователь выбирает значение из списка в окне запуска скрипта
- динамический список — создается динамический список, при запуске пользователь выбирает значение из списка в окне запуска скрипта, можно задать фильтр с помощью кнопки + Фильтр
- переключатель Скрыть параметр. Если настройка включена, параметр не отображается в окне запуска действия
- по кнопке Удалить действие удаляется
- Опубликуйте дашборд.
Порядок параметров можно изменить. Для этого необходимо зажать параметр и переместить его на новое место. Изменение также отобразится в форме запуска действия.
После настройки действия вверху таблицы появляется кнопка, она становится активной в режиме просмотра.
Запуск действия
Чтобы запустить действие, нажмите на кнопку. В случае если выбран способ ввода, использующий значение из «Таблицы» («из колонки» или «задать формулой»), кнопка неактивна до тех пор, пока не выбраны строки. Выбрать отдельные строки можно, отметив их «галочкой». Если отметить «галочкой» заголовок столбца, выберутся все строки.
Откроется окно запуска скрипта, в котором вводятся данные, если это необходимо. Кнопкой Выполнить запускается скрипт. Для отмены нажмите Закрыть.
- Если в блоке Ручной запуск изменились ожидаемые поля, то в настройках действия с этим скриптом в виджете название ожидаемого поля изменится, а настройки способа ввода останутся прежними.
- Действие применяется только к первой 1 000 выбранных строк.
- Запуск скрипта доступен пользователям с доступом на чтение и/или редактирование пространства и дашборда.
Действие невозможно запустить, когда:
- используемый скрипт удален
- в используемом скрипте блок-триггер Ручной запуск заменен на другой
- из модели данных удалена используемая таблица
- используется пустое значение колонки из другой связанной таблицы. Необходимо изменить ее свойство на Nullable
Когда скрипт запускается, в правом нижнем углу отображается статус «Действие "Название действия" запущено». Если скрипт успешно завершает работу, статус в правом нижнем углу меняется на «Действие выполнено». Если скрипт не был выполнен успешно, появляется сообщение об ошибке. В зависимости от причины возникновения ошибки вы можете перейти в журнал выполнений, перезапустить скрипт или закрыть окно.
Примеры запуска скриптов из дашборда
Для выполнения действий необходимо создать скрипты.
Скрипт для изменения длительности состоит из следующих блоков:
- Триггер Ручной запуск с полями «id строки» и «Длительность».
- Блок Выбрать строки через SQL-запрос с запросом на изменение длительности.
Пример SQL-запроса для изменения длительности:
select toUInt64(${a1.переменная длительности}) as duration
- Чтобы обновить данные в таблице, добавьте блок Обновить строки.
Скрипт для изменения опциональности состоит из следующих блоков:
- Триггер Ручной запуск с полем «id строки».
- Блок Выбрать строки через SQL-запрос с запросом на инвертирование опциональности.
Пример SQL-запроса для изменения опциональности:
select колонка id строки, if(колонка опциональности = 0, 1, 0) as optional from таблица where колонка id строки = ${a1.переменная id строки}
- Для обновления данных добавить блок Обновить строки .
Скрипт для удаления строки состоит из следующих блоков:
- Триггер Ручной запуск с полем «id строки».
- Блок SQL-запрос с запросом на удаление строки.
Пример SQL-запроса для удаления строки:
alter table таблица delete where колонка id строки=${a1.переменная id строки}
После создания всех скриптов перейдите в дашборд и выберите таблицу, чтобы создать действия.
Для удаления строк из дашборда:
- Задайте название действия.
- Выберите скрипт для удаления строки.
- Выберите способ ввода «из колонки».
- Выберите ту же колонку, что и указана в SQL-запросе скрипта.
- Чтобы результат выполнения отобразился сразу, активируйте переключатель Обновить дашборд после выполнения действия.
В режиме просмотра для запуска необходимо выбрать строки. Указать значение в окне запуска скрипта вручную невозможно. Нажмите Выполнить.
После успешного выполнения появляется сообщение о выполнении действия.
Для изменения длительности из дашборда:
- Задайте название действия.
- Выберите скрипт для изменения длительности.
- Для поля id строки выберите способ ввода «из колонки».
- Выберите колонку, которая была указана как колонка-ключ при настройке скрипта.
- Для поля Длительность выберите способ ввода «ввести вручную».
- Чтобы результат выполнения отобразился сразу, нажмите переключатель Обновить дашборд после выполнения действия.
В режиме просмотра для запуска необходимо выбрать строки и в окне запуска скрипта ввести длительность в секундах.
Длительность в строке изменена.
Для изменения опциональности из дашборда:
- Задайте название действия.
- Выберите скрипт для изменения опциональности.
- Выберите способ ввода «из колонки».
- Выберите колонку, которая была указана как колонка-ключ при настройке скрипта.
- Чтобы результат выполнения отобразился сразу, нажмите переключатель Обновить дашборд после выполнения действия.
В режиме просмотра для запуска необходимо выбрать строки. Указать значение в окне запуска скрипта вручную невозможно.
Значения в столбце «Опциональность» изменены.
Настройки скрипта и действия в YAML
Действие по клику для таблицы добавляется в блоке actions
. В таблице ниже представлены ключи, которые можно использовать.
Ключ | Тип | Определение |
---|---|---|
name | string | Название действия |
type | enum | Тип действия по клику: EXECUTE_SCRIPT Возможен только один тип действия |
description | string | Описание (необязательно) |
filters | — | Предустановленные фильтры (необязательно) |
scriptName | string | Название скрипта |
parameters | — | Параметры скрипта (необязательно) |
updateDashboard | boolean | Обновить дашборд после выполнения действия |
В блоке parameters
указываются параметры скрипта:
Ключ | Тип | Определение |
---|---|---|
name | string | Название параметра в скрипте |
displayName | string | Отображаемое название |
inputMethod | enum | Способ ввода значения переменной: - COLUMN — из колонки- VARIABLE — из переменной- FORMULA — задать формулой- MANUALLY — вручную- STATIC_LIST — статический список- DYNAMIC_LIST — динамический список |
isHidden | boolean | Скрыть параметр |
Пример:
actions:
- name: "Действие"
type: EXECUTE_SCRIPT
description: "Описание действия"
filters:
- name: case_id
formula: '"case_table"."case_id"'
dataType: 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"'
dataType: STRING
filters:
- name: case_id
formula: '"case_table"."case_id"'
dataType: STRING
format: STRING
filteringMethod: INCLUDE
checkedvalues:
- 'Value_1'
- 'Value_2'
- 'Value_3'
formValues: {}
defaultValue: '100'
isHidden: false
updateDashboard: true
Была ли статья полезна?