Запуск скрипта из дашборда
8 800 555-89-02
Войти
Документация
CTRL+K
Standalone2409
SaaS

Запуск скрипта из дашборда

В этой статье

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

Данный функционал позволяет, например:

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

Настройка скрипта

Для запуска скрипта из дашборда необходимо создать скрипт, который можно будет использовать для настройки действия в виджете «Таблица». Для этого:

  1. Создайте новый скрипт в Панели данных пространства.
  2. Первым блоком (триггером) обязательно должен быть Ручной запуск. Для запуска действия можно использовать скрипт только с этим триггером.
  3. Настройте ожидаемые поля, они будут заполняться пользователем или автоматически во время запуска действия из виджета. В параметрах блока:
    • укажите название поля
    • выберите тип данных (текст, число, дата или дата и время)
    • если будет приниматься ряд данных, поставьте галочку рядом с полем Массив
    • можно сделать поле обязательным для заполнения переключателем Обязательное поле
    Настройка ожидаемого поля Действие в дашборде не выполнится, если указанный тип данных ожидаемого поля не совпадет с фактическим типом данных.
  4. При нажатии Продолжить открывается модальное окно с созданными полями. Заполните их и нажмите Выполнить. Блок протестируется и в левой панели отобразятся дата и время выполнения, а также введенные в полях значения. Окно с полями
  5. Добавьте блок, например, для удаления или обновления строки таблицы.
  6. Выберите таблицу, в которую будут вноситься изменения, и с помощью маппинга соотнесите поля. Маппинг полей
  7. Протестируйте блок и опубликуйте скрипт.
Заметка

Если скрипт не опубликован, он не отобразится при настройке действия в виджете «Таблица».

Настройка действия

Для настройки действия:

  1. Перейдите в дашборд, создайте или выберите таблицу, в которой необходимо настроить действие, и откройте вкладку Действия в левой панели. Вкладка Действия
  2. Нажмите Добавить.
  3. Добавьте название и, при необходимости, описание (будет использоваться в качестве подсказки на этапе запуска скрипта). Чтобы дашборд автоматически обновлялся после запуска действия, нажмите переключатель Обновить дашборд после выполнения действия.
  4. Настройте параметры действия:
    • название
    • описание
    • способ ввода:
      • из колонки — в параметр скрипта будет передаваться значение, выбранное в таблице
      • из переменной — указывается системная переменная или переменная дашборда (статический или динамический список). Для данного способа переменную необходимо вывести в виджет «Параметр». В скрипт передается значение по умолчанию или выбранное в «Параметре». При запуске действия выбрать значение невозможно
      • задать формулой — с помощью формулы можно настроить динамически изменяемый параметр
      • ввести вручную — данные вводятся вручную при запуске действия
      • статический список — создается статический список, при запуске пользователь выбирает значение из списка в окне запуска скрипта
      • динамический список — создается динамический список, при запуске пользователь выбирает значение из списка в окне запуска скрипта, можно задать фильтр с помощью кнопки + Фильтр
    • переключатель Скрыть параметр. Если настройка включена, параметр не отображается в окне запуска действия
    • по кнопке Удалить действие удаляется
  5. Опубликуйте дашборд.

Настройка действия

Заметка

Порядок параметров можно изменить. Для этого необходимо зажать параметр и переместить его на новое место. Изменение также отобразится в форме запуска действия.

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

Запуск действия

Чтобы запустить действие, нажмите на кнопку. В случае если выбран способ ввода, использующий значение из «Таблицы» («из колонки» или «задать формулой»), кнопка неактивна до тех пор, пока не выбраны строки. Выбрать отдельные строки можно, отметив их «галочкой». Если отметить «галочкой» заголовок столбца, выберутся все строки.

Запуск

Откроется окно запуска скрипта, в котором вводятся данные, если это необходимо. Кнопкой Выполнить запускается скрипт. Для отмены нажмите Закрыть.

Поля

Важно
  • Если в блоке Ручной запуск изменились ожидаемые поля, то в настройках действия с этим скриптом в виджете название ожидаемого поля изменится, а настройки способа ввода останутся прежними.
  • Действие применяется только к первой 1 000 выбранных строк.
  • Запуск скрипта доступен пользователям с доступом на чтение и/или редактирование пространства и дашборда.

Действие невозможно запустить, когда:

  • используемый скрипт удален
  • в используемом скрипте блок-триггер Ручной запуск заменен на другой
  • из модели данных удалена используемая таблица
  • используется пустое значение колонки из другой связанной таблицы. Необходимо изменить ее свойство на Nullable

Когда скрипт запускается, в правом нижнем углу отображается статус «Действие "Название действия" запущено». Если скрипт успешно завершает работу, статус в правом нижнем углу меняется на «Действие выполнено». Если скрипт не был выполнен успешно, появляется сообщение об ошибке. В зависимости от причины возникновения ошибки вы можете перейти в журнал выполнений, перезапустить скрипт или закрыть окно.

Примеры запуска скриптов из дашборда

Для выполнения действий необходимо создать скрипты.

Скрипт для изменения длительности состоит из следующих блоков:

  1. Триггер Ручной запуск с полями «id строки» и «Длительность».
  2. Блок Выбрать строки через SQL-запрос с запросом на изменение длительности. Блок SQL-запрос для длительности Пример SQL-запроса для изменения длительности:
    select toUInt64(${a1.переменная длительности}) as duration
    
  3. Чтобы обновить данные в таблице, добавьте блок Обновить строки.

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

  1. Триггер Ручной запуск с полем «id строки».
  2. Блок Выбрать строки через SQL-запрос с запросом на инвертирование опциональности. Блок SQL-запрос для опциональности Пример SQL-запроса для изменения опциональности:
    select колонка id строки, if(колонка опциональности = 0, 1, 0) as optional
    from таблица
    where колонка id строки = ${a1.переменная id строки}
    
  3. Для обновления данных добавить блок Обновить строки .

Скрипт для удаления строки состоит из следующих блоков:

  1. Триггер Ручной запуск с полем «id строки».
  2. Блок SQL-запрос с запросом на удаление строки. Блок SQL-запрос для удаления Пример SQL-запроса для удаления строки:
    alter table таблица
    delete
    where колонка id строки=${a1.переменная id строки}
    

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

Для удаления строк из дашборда:

  1. Задайте название действия.
  2. Выберите скрипт для удаления строки.
  3. Выберите способ ввода «из колонки».
  4. Выберите ту же колонку, что и указана в SQL-запросе скрипта.
  5. Чтобы результат выполнения отобразился сразу, активируйте переключатель Обновить дашборд после выполнения действия.

Настройка действия Удалить строки

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

Запуск действия Удалить строки

После успешного выполнения появляется сообщение о выполнении действия.

Действие Удалить строки выполнено

Для изменения длительности из дашборда:

  1. Задайте название действия.
  2. Выберите скрипт для изменения длительности.
  3. Для поля id строки выберите способ ввода «из колонки».
  4. Выберите колонку, которая была указана как колонка-ключ при настройке скрипта.
  5. Для поля Длительность выберите способ ввода «ввести вручную».
  6. Чтобы результат выполнения отобразился сразу, нажмите переключатель Обновить дашборд после выполнения действия.

Настройка действия Изменить длительность

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

Запуск действия Изменить длительность

Длительность в строке изменена.

Действие Изменить длительность выполнено

Для изменения опциональности из дашборда:

  1. Задайте название действия.
  2. Выберите скрипт для изменения опциональности.
  3. Выберите способ ввода «из колонки».
  4. Выберите колонку, которая была указана как колонка-ключ при настройке скрипта.
  5. Чтобы результат выполнения отобразился сразу, нажмите переключатель Обновить дашборд после выполнения действия.

Настройка действия Инвертирование опциональности

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

Запуск действия Инвертирование опциональности

Значения в столбце «Опциональность» изменены.

Действия Инвертирование опциональности выполнено

Настройки скрипта и действия в YAML

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

КлючТипОпределение
namestringНазвание действия
typeenumТип действия по клику: EXECUTE_SCRIPT
Возможен только один тип действия
descriptionstringОписание (необязательно)
filtersПредустановленные фильтры (необязательно)
scriptNamestringНазвание скрипта
parametersПараметры скрипта (необязательно)
updateDashboardbooleanОбновить дашборд после выполнения действия

В блоке parameters указываются параметры скрипта:

КлючТипОпределение
namestringНазвание параметра в скрипте
displayNamestringОтображаемое название
inputMethodenumСпособ ввода значения переменной:
- COLUMN — из колонки
- VARIABLE — из переменной
- FORMULA — задать формулой
- MANUALLY — вручную
- STATIC_LIST — статический список
- DYNAMIC_LIST — динамический список
isHiddenbooleanСкрыть параметр

Пример:

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

Была ли статья полезна?

Да
Нет
Предыдущая
Разрезы и меры
8 (800) 555-89-028 (495) 150-31-45team@infomaximum.com
Для бизнеса
© 20102024. ООО «Инфомаксимум»
Мы используем файлы cookies, чтобы сайт был лучше для вас.