Перейти к содержанию

Сценарии

Сценарии

Исполняемый код + правила его выполнения.

Поле Название Комментарий Обязательное
app_name Имя приложения Служит для логического разделения и поиска исходного кода сценария (пара "Имя приложения", "Имя" должна быть уникальна) Да
shortname Имя Краткое наименование сценария, которое используется для технических целей (не рекомендуется менять после создания) Да
description Описание Развёрнутое описание (сюда можно поместить правила использования сценария)
label Текст Краткое наименование сценария для отображения в пользовательском интерфейсе Да
module Модуль Модуль, в котором содержится исполняемый код
method Метод Метод, который будет исполняться при вызове сценария
script Сценарий "Родительский"ценарий, который будет запускаться с указанным вариантом при вызове сценария
variant Вариант Вариант, с которым будет запускаться "родительский" сценарий

Важное замечание для пользователей: в настоящее время в системе "продублированы" некоторые сценарии. Сценарии с одинаковым именем, но разными Имя приложения (planiqum.core/core и planiqum.apps/apps) используют один и тот же код, были созданы в ходе перехода на новый подход к построению имени. Просьба использовать сценарии с "полным" именем planiqum.core и planiqum.apps.

Комментарий для разработчика: Если не указаны script и variant, сценарий будет искать исполняемый код "по адресу" {app_name}.scripts.{module}.{method} (если module или method не указаны, будет использовать вместо них shortname)

Комментарий для разработчика: Скрипт (инстанс модели) можно создать с помощью декоратора @pq_script (см planiqum.core.scripts.decorators.pq_script)

Исполняемый код на Python

Если для сценария заполнены поля "Модуль" и "Метод", то сценарий при запуске будет выполнять соответствующий кода на Python.

Наследование сценариев

Можно создавать сценарии, основывающиеся на других сценариях, заполнив поля "Сценарий" и "Вариант". При запуске будет запускаться указанный сценарий с указанным вариантом. Таких вложений можно делать бесконечно много (главное - не допускать зацикливания и иметь в основе "самого базового сценария" исполняемый код).

Варианты

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

Виды сценариев

Методы корректировки

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

Рутины

Сценарии, реализующие бизнес-логику.

Запуск рутин через API

Рутины можно запустить, отправив POST-запрос на соответствующий эндпоинт. Запрос должен отправляться от имени пользователя, у которого есть право на выполнение этой рутины.

Узнайте ID рутины, найдя рутину в списке рутин.

Для запуска рутины отправьте POST-запрос на адрес

/core/scripts/api/routines/{id}/execute/

Важно:

  • нужно авторизоваться, пользователю должна быть доступна запускаемая рутина
  • в конце запроса нужно не забыть слэш ("/")
  • если рутине требуется передать данные, нужно передать их в формате json в словаре с ключом options

Например

Если рутине нужно передать на вход аргумент id

{
    "options": {
        "id": 1
    }
}

Если рутине нужно передать на вход аргумент name

{
    "options": {
        "name": "Имя"
    }
}

Сигнатуры рутин уточняйте у разработчика

Триггеры

Сценарии, запускающиеся автоматически при изменении данных.