Действия для формы¶
Действия для формы можно создавать для каждой существующей формы.
Для добавления действия в существующую форму необходимо выполнить следующие действия:
Действие можно создать путем копирования существующего из ранее созданной формы или коллекции. Для этого необходимо из списка выбрать значение «Скопировать из формы» или «Скопировать из коллекции». В открывшемся окне выбрать приложение из списка существующих.
В следующем окне выбрать форму или коллекцию приложения, после чего необходимое действие, которое требуется скопировать. Выбранное действие появится в блоке Действия, его параметры будут полностью соответствовать исходным и доступны для редактирования.
3. Если действие создается вручную, в открывшейся форме заполнить поля.
В поле Код можно указать свой уникальный код действия, используя латинские буквы, цифры, дефисы и символы подчеркивания без пробелов. Заполнение данного поля не является обязательным; если его оставить пустым, код автоматически заполнится в момент создания действия. После создания действия поле Код становится недоступным для редактирования.
Поля Наименование и Описание заполняются вручную. Наименование действия должно быть уникальным в Системе.
Для каждого действия на форме предусмотрена иконка, источником которых является универсальная библиотека стороннего сервиса Vuetify. Для просмотра полного списка используемых иконок необходимо перейти на официальный сайт Material Design Icons. В поле Название иконки указывается префикс mdi-, после которого через дефис идет такое же наименование иконки, какое указано в библиотеке Material Design Icons. Система автоматически определяет желаемую иконку по указанному наименованию и добавляет ее для создаваемого действия на форме.
Поле Код NLS заполняется вручную, выбором значения из выпадающего списка, который открывается по нажатию ЛКМ по строке, или автоматически по нажатию кнопки
. При автоматической генерации поле заполняется в формате «actions.myAction», где «actions» – тип текущей сущности, «myAction» – ее код, если он был указан пользователем вручную.
Поле Порядок расположения заполняется вручную или выбором числового значения посредством переключения кнопок
.
В блоке Видимость можно выбрать форму, в которой будет отображаться создаваемое действие.
Активированный тумблер Доступно только при изменениях в форме делает текущее действие видимым только после внесения каких-либо изменений в форму.
Активированный тумблер Обрабатывать все файлы формы включает автоматическую обработку всех файлов после их загрузки. После обработки Система отобразит идентификаторы файлов для работы с ними.
Активированный тумблер Выполнять сразу при открытии запускает данное действие при открытии формы.
Тумблер Отображать в панели действий определяет видимость текущего действия. Деактивированный тумблер скрывает действие в пользовательском интерфейсе Системы.
Активированный тумблер Валидация формы перед выполнением запускает процесс проверки данных формы на соответствие требованиям.
Формулы видимости и блокировки заполняются вручную в соответствующих полях и работают так же, как и для элементов управления (см. п. ).
Доступно управление отображением действий с помощью формулы видимости в зависимости от наличия query параметров «_queryParams» и «_queryParamsArray». Для этого в поле Формула видимости можно прописать формулу, согласно которой будет осуществляться проверка вхождения в массив, например, @IsMember("test", #CONTEXT._queryParamsArray), где:
- @IsMember – ключевое слово;
- "test" – строка для проверки;
- ._queryParamsArray – массив, содержащий определенные строки.
Формула видимости для проверки обращается к системному полю «_queryParamsArray», которое содержится в контексте каждого действия. Согласно такой формуле, если в массиве есть параметр «test», то действие будет отображаться для пользователя; если параметра нет или он был удален самим пользователем из массива, действие будет скрыто после обновления страницы.
Помимо query параметров для формул видимости доступно использование параметра «_keys», например, для включения отображения поля «versionId», если он существует в контексте «_keys»: @IsMember("versionId", #CONTEXT._keys).
Тумблер Защита от обновления позволяет активировать дополнительную защиту для создаваемого действия, которая срабатывает при импорте сущностей одного типа. Если среди импортируемых сущностей есть действие для формы с таким же кодом, что и у текущего, то активный тумблер заблокирует импорт сущности и существующая не будет перезаписана Активация тумблера доступна только если текущее действие привязано к родительскому, а у родительского активирована защита от обновления.
Родительское действие выбирается в поле Родительское действие из списка, который открывается по нажатию ЛКМ на поле. Родительским может быть действие, для которого в поле Тип действия установлен признак «Группа действий». В блоке Действия такие действия группируются вместе.
Если в поле Тип действия выбрано значение «Внутренний запрос», то дополнительно необходимо выбрать один из сервисов Системы, а также класс объекта и тип эндпоинта в соответствующих полях. Данные поля будут скрыты, если в поле Тип действия выбраны значения «Внешний запрос» или «UI (без запроса)».
В блоке HTTP запрос необходимо указать структуру запроса для автоматического получения нужных данных. В первую очередь необходимо выбрать метод из выпадающего списка. Возможные справочные значения: «GET», «POST», «PUT», «DELETE», «PATCH». По умолчанию: «GET».
Поле URL включает в себя адрес сервера, сервис посредник, наименование сервиса, класс объекта и параметры. Его необходимо заполнять вручную.
Параметры на одноименной вкладке вводятся через нотацию @QUERY.
На вкладке Авторизация необходимо выбрать из справочника тип авторизации, после чего через нотацию $HEADERS ввести авторизационные данные. Возможные справочные значения: «No Auth», «Bearer Token», «Basic Auth». По умолчанию: «Bearer Token».
На вкладку Заголовки автоматически переносятся недоступные для редактирования данные из вкладки Авторизация, если был выбран тип авторизации и на вкладке Авторизация заполнены поля, соответствующие данному типу.
На вкладке Тело запроса** необходимо выбрать один из режимов:
- «none» – невозможно указать тело запроса;
- «raw» – появляется блок Тело запроса с возможностью выбора формата данных «JSON» или «TEXT».
При выборе значения «UI (без запроса)» в поле Тип действия блок HTTP запрос исключается из формы создания действия.
При выборе значения «Конвейер» блок HTTP запрос заменяется кнопкой [Добавить шаг]. Шаги можно создавать вручную, а также копировать из форм или коллекций. Для этого необходимо после нажатия кнопки [Добавить шаг] выбрать из списка значение «Скопировать из формы» или «Скопировать из коллекции». В открывшемся окне выбрать приложение из списка существующих, выбрать нужную форму или коллекцию, выбрать действие и выбрать шаг.
Выбранный шаг появится в качестве строки с уже заполненными параметрами, которые можно редактировать.
По нажатию на строку шага раскрываются его поля. Состав полей отличается в зависимости от выбранного типа действия. Наименование каждого шага Системой заполняется автоматически с указанием порядкового номера, но доступно для редактирования пользователем.
Любой добавленный шаг не требует отдельного сохранения. Сохранение всех шагов происходит после сохранения изменений в карточке. Для удаления определенного шага необходимо нажать кнопку
в конце его строки.
Конвейер при активации будет выполнять перечень последовательных шагов, заданных пользователем. Каждый последующий шаг имеет доступ к контексту предыдущих шагов.
За процессом выполнения конвейера после его применения можно следить в консоли в режиме отладки (debug_mode = true), где будет отображаться каждый шаг, текущий контекст и результат выполнения.
Описание типов шагов конвейеров, доступных для использования, см. в п. Типы действий конвейера.
Если в поле Тип действия выбрано значение «Слот», появится дополнительное поле Класс плагина для встраивания плагина. В поле Класс плагина нужно выбрать нужный класс и версию плагина. После выбора плагина ниже отобразятся его параметры. При необходимости параметры можно переопределить и расширить. После сохранения плагин интегрируется и будет открываться при активации текущего действия для формы в пользовательском интерфейсе Системы на vue3.
4. После заполнения необходимых полей в форме действия ажать кнопку [Сохранить].
Появится уведомление, информирующее об успешном добавлении нового действия.
Добавленное действие отобразится в соответствующем ему блоке, а также будет доступно для использования в той форме, для которой создавалось данное действие.
Сама карточка действия обновится, в ней появятся дополнительные блоки, которые раскрываются нажатием кнопки
в конце строки наименования блока:
- Конвертеры данных;
- Предварительные действия;
- Завершающие действия.
В карточке действия появится дополнительный тумблер Создать разрешение. При активации тумблера действие будет видимо только пользователям с соответствующим разрешением. Об этом информирует модальное окно при активации тумблера.
После подтверждения Система сгенерирует и отобразит под тумблером разрешение в формате «actions-myAction», где «actions» – тип текущей сущности, «myAction» – ее уникальный код. Код может быть вручную прописан пользователем или сгенерирован автоматически на этапе создания действия. Разрешение можно отредактировать, нажав кнопку
в конце его наименования. В открывшемся окне можно изменить его код вручную или с помощью автоматической генерации и добавить описание.
Конвертеры данных для действий создаются так же, как и для форм (см. п. Конвертеры данных для формы).
Описание работы с предварительными действиями для формы приведено в п. Предварительные действия для формы; с завершающими – в п. Завершающие действия для формы.










