Сценарии¶
Сценарии ¶
Исполняемый код + правила его выполнения.
| Поле | Название | Комментарий | Обязательное |
|---|---|---|---|
| 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": "Имя"
}
}
Сигнатуры рутин уточняйте у разработчика
Триггеры¶
Сценарии, запускающиеся автоматически при изменении данных.