Действия для формы

Действия для формы можно создавать для каждой существующей формы.

Для добавления действия в существующую форму необходимо выполнить следующие действия:

  1. В карточке формы в блоке Действия нажать кнопку img.
  2. Из списка выбрать значение «Добавить действие».

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

img

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

3. Если действие создается вручную, в открывшейся форме заполнить поля.

img

В поле Код можно указать свой уникальный код действия, используя латинские буквы, цифры, дефисы и символы подчеркивания без пробелов. Заполнение данного поля не является обязательным; если его оставить пустым, код автоматически заполнится в момент создания действия. После создания действия поле Код становится недоступным для редактирования.

Поля Наименование и Описание заполняются вручную. Наименование действия должно быть уникальным в Системе.

Для каждого действия на форме предусмотрена иконка, источником которых является универсальная библиотека стороннего сервиса Vuetify. Для просмотра полного списка используемых иконок необходимо перейти на официальный сайт Material Design Icons. В поле Название иконки указывается префикс mdi-, после которого через дефис идет такое же наименование иконки, какое указано в библиотеке Material Design Icons. Система автоматически определяет желаемую иконку по указанному наименованию и добавляет ее для создаваемого действия на форме.

Поле Код NLS заполняется вручную, выбором значения из выпадающего списка, который открывается по нажатию ЛКМ по строке, или автоматически по нажатию кнопки . При автоматической генерации поле заполняется в формате «actions.myAction», где «actions» – тип текущей сущности, «myAction» – ее код, если он был указан пользователем вручную.

Поле Порядок расположения заполняется вручную или выбором числового значения посредством переключения кнопок img.

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

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

Активированный тумблер Обрабатывать все файлы формы включает автоматическую обработку всех файлов после их загрузки. После обработки Система отобразит идентификаторы файлов для работы с ними.

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

Тумблер Отображать в панели действий определяет видимость текущего действия. Деактивированный тумблер скрывает действие в пользовательском интерфейсе Системы.

Активированный тумблер Валидация формы перед выполнением запускает процесс проверки данных формы на соответствие требованиям.

Формулы видимости и блокировки заполняются вручную в соответствующих полях и работают так же, как и для элементов управления (см. п. Элементы управления для формы).

Доступно управление отображением действий с помощью формулы видимости в зависимости от наличия query параметров «_queryParams» и «_queryParamsArray». Для этого в поле Формула видимости можно прописать формулу, согласно которой будет осуществляться проверка вхождения в массив, например, @IsMember("test", #CONTEXT._queryParamsArray), где:

  • @IsMember – ключевое слово;
  • "test" – строка для проверки;
  • ._queryParamsArray – массив, содержащий определенные строки.

Формула видимости для проверки обращается к системному полю «_queryParamsArray», которое содержится в контексте каждого действия. Согласно такой формуле, если в массиве есть параметр «test», то действие будет отображаться для пользователя; если параметра нет или он был удален самим пользователем из массива, действие будет скрыто после обновления страницы.

Помимо query параметров для формул видимости доступно использование параметра «_keys», например, для включения отображения поля «versionId», если он существует в контексте «_keys»: @IsMember("versionId", #CONTEXT._keys).

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

Родительское действие выбирается в поле Родительское действие из списка, который открывается по нажатию ЛКМ на поле. Родительским может быть действие, для которого в поле Тип действия установлен признак «Группа действий». В блоке Действия такие действия группируются вместе.

img

Если в поле Тип действия выбрано значение «Внутренний запрос», то дополнительно необходимо выбрать один из сервисов Системы, а также класс объекта и тип эндпоинта в соответствующих полях. Данные поля будут скрыты, если в поле Тип действия выбраны значения «Внешний запрос» или «UI (без запроса)».

В блоке HTTP запрос необходимо указать структуру запроса для автоматического получения нужных данных. В первую очередь необходимо выбрать метод из выпадающего списка. Возможные справочные значения: «GET», «POST», «PUT», «DELETE», «PATCH». По умолчанию: «GET».

img

Поле URL включает в себя адрес сервера, сервис посредник, наименование сервиса, класс объекта и параметры. Его необходимо заполнять вручную.

Параметры на одноименной вкладке вводятся через нотацию @QUERY.

На вкладке Авторизация необходимо выбрать из справочника тип авторизации, после чего через нотацию $HEADERS ввести авторизационные данные. Возможные справочные значения: «No Auth», «Bearer Token», «Basic Auth». По умолчанию: «Bearer Token».

На вкладку Заголовки автоматически переносятся недоступные для редактирования данные из вкладки Авторизация, если был выбран тип авторизации и на вкладке Авторизация заполнены поля, соответствующие данному типу.

На вкладке Тело запроса** необходимо выбрать один из режимов:

  • «none» – невозможно указать тело запроса;
  • «raw» – появляется блок Тело запроса с возможностью выбора формата данных «JSON» или «TEXT».

При выборе значения «UI (без запроса)» в поле Тип действия блок HTTP запрос исключается из формы создания действия.

При выборе значения «Конвейер» блок HTTP запрос заменяется кнопкой [Добавить шаг]. Шаги можно создавать вручную, а также копировать из форм или коллекций. Для этого необходимо после нажатия кнопки [Добавить шаг] выбрать из списка значение «Скопировать из формы» или «Скопировать из коллекции». В открывшемся окне выбрать приложение из списка существующих, выбрать нужную форму или коллекцию, выбрать действие и выбрать шаг.

img

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

img

По нажатию на строку шага раскрываются его поля. Состав полей отличается в зависимости от выбранного типа действия. Наименование каждого шага Системой заполняется автоматически с указанием порядкового номера, но доступно для редактирования пользователем.

Любой добавленный шаг не требует отдельного сохранения. Сохранение всех шагов происходит после сохранения изменений в карточке. Для удаления определенного шага необходимо нажать кнопку img в конце его строки.

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

За процессом выполнения конвейера после его применения можно следить в консоли в режиме отладки (debug_mode = true), где будет отображаться каждый шаг, текущий контекст и результат выполнения.

img

Описание типов шагов конвейеров, доступных для использования, см. в п. Типы действий конвейера.

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

4. После заполнения необходимых полей в форме действия ажать кнопку [Сохранить].

Появится уведомление, информирующее об успешном добавлении нового действия.

Добавленное действие отобразится в соответствующем ему блоке, а также будет доступно для использования в той форме, для которой создавалось данное действие.

Сама карточка действия обновится, в ней появятся дополнительные блоки, которые раскрываются нажатием кнопки img в конце строки наименования блока:

  • Конвертеры данных;
  • Предварительные действия;
  • Завершающие действия.

img

В карточке действия появится дополнительный тумблер Создать разрешение. При активации тумблера действие будет видимо только пользователям с соответствующим разрешением. Об этом информирует модальное окно при активации тумблера.

img

После подтверждения Система сгенерирует и отобразит под тумблером разрешение в формате «actions-myAction», где «actions» – тип текущей сущности, «myAction» – ее уникальный код. Код может быть вручную прописан пользователем или сгенерирован автоматически на этапе создания действия. Разрешение можно отредактировать, нажав кнопку в конце его наименования. В открывшемся окне можно изменить его код вручную или с помощью автоматической генерации и добавить описание.

Конвертеры данных для действий создаются так же, как и для форм (см. п. Конвертеры данных для формы).

Описание работы с предварительными действиями для формы приведено в п. Предварительные действия для формы; с завершающими – в п. Завершающие действия для формы.