Перейти к содержимому

Конструктор форм

Описание

Конструктор форм — встроенный инструмент Puzzle RPA для визуального создания пользовательских интерфейсов ввода данных. С его помощью можно размещать на форме элементы управления — такие как текстовые поля, выпадающие списки, флажки, кнопки и настраивать их свойства. Созданные формы можно использовать для сбора параметров перед запуском алгоритма, настройки процессов или взаимодействия с пользователем в ходе выполнения сценария.

Чтобы открыть панель управления Конструктор форм, требуется кликнуть по кнопке, расположенной в Области кнопок взаимодействия с процессом:

image_1

Стартовый экран

image_2

Внешний вид

image_3

1 - Конструктор формы

В левой части конструктора расположены функции для управления формой:

  • Создать форму — запуск процесса создания формы;
  • Импортировать форму — запускает процесс импорта формы из другого проекта;
  • Список форм — список добавленных форм в проекте.

2 - Панель просмотра

В правой части отображается предпросмотр созданной формы.


Интерфейс создания формы

Для запуска процесса создания формы требуется выполнить клик на кнопку Создать форму. После клика открывается интерфейс изменения формы.

image_4

1 - Вид формы

В верхней части располагается раздел Вид формы, позволяющий изменить внешний вид формы:

  • Заголовок — заголовок формы;
  • Ширина и Высота — габариты формы;
  • Отступы — отступы элементов и кнопок от края формы;
  • Положение кнопок — позиционирование кнопок внутри формы;
  • Цвет — цвет фона и шапки формы.

2 - Элементы

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

  • Текст (строка) — однострочное текстовое поле;
  • Текст (абзац) — многострочное текстовое поле;
  • Пароль — поле для ввода с маскировкой символов;
  • Чекбокс — переключатель с двумя состояниями (включено/выключено);
  • Селект — выпадающий список с выбором одного значения;
  • Файл — элемент для выбора файла;
  • Число — поле для ввода числовых значений;
  • Дата — элемент выбора даты;
  • Радио — группа переключателей для выбора одного варианта из нескольких.

3 - Кнопки

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

  • Подтвердить (ОК) — завершает работу с формой и сохраняет введённые данные;
  • Отмена — закрывает форму без сохранения изменений;
  • Триггер — запускает выполнение заданной функции в проекте;
  • Модальное окно — открывает дополнительное диалоговое окно.

Элементы формы

Элементы формы — это отдельные компоненты, из которых состоит пользовательский интерфейс формы. Они позволяют отображать информацию и получать ввод от пользователя.

image_5

Добавление элемента

Для добавления нового элемента формы требуется выполнить клик на кнопку + Добавить элемент.

image_6

Тип элемента

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

image_7

Общие свойства элементов

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

Общие параметры:

  • ID — уникальный идентификатор элемента;

  • Ширина — ширина элемента на форме;

  • Заголовок — текстовая метка, отображаемая рядом с элементом;

  • Положение — положение заголовка относительно элемента;

  • Порядок — позиция элемента внутри своего ряда относительно других элементов;

  • Ряд — номер строки (горизонтального ряда), в которой размещается элемент (элементы с одинаковым значением ряда располагаются в одной строке);

  • Отступ — внешний отступ элемента от соседних компонентов или границ контейнера;

  • Значение по умолчанию — начальное значение элемента при открытии формы;

  • Отключён — чекбокс, определяющий, недоступен ли элемент для взаимодействия (элемент отображается, но не реагирует на действия пользователя).

  • Условия показа - условие для отображения элемента.

Уникальные свойства элементов

Уникальные параметры:

  • Текст (абзац) — количество строк;
  • Селект — варианты значений (задаются через запятую); image_8
  • Файл — множественный выбор и выбор папки;
  • Число — ограничение значения числа;
  • Радио — варианты значений (задаются через запятую).

Условия показа

Для каждого элемента доступен выбор условия показа в зависимости от значения в другом элементе. Для этого требуется:

  1. Выполнить клик на кнопку + Добавить условие; image_12
  2. Выбрать элемент, в зависимости от значения которого будет отображаться выбранная форма; image_13
  3. Указать условие; image_14

Пример условия показа

В данном примере элемент с ID field_date (Поле даты) будет отображено только если в текстовом поле с ID field_text (Текстовое поле) будет значение Puzzle RPA.

image_15

Кнопки формы

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

image_9

Добавление кнопки

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

image_10

Тип кнопки

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

image_11

Общие свойства кнопок

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

Общие параметры:

  • Ширина — ширина кнопки на форме;

  • Заголовок — текст, отображаемый на кнопке;

  • Порядок — позиция кнопки внутри своего ряда относительно других элементов;

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

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

При выборе типа кнопки Модальное окно необходимо указать:

  • Файл — выпадающий список, позволяющий выбрать другую форму из списка созданных форм в данном проекте.
  • ID поля — идентификатор, используемый в качестве ключа в словаре результата при возврате данных из дочернего модального окна (когда текущая форма вызывает другое модальное окно, значение, возвращённое этим окном, записывается в результат по указанному ID поля).

Сохранение формы

Конструктор форм позволяет сохранить созданную форму. Для этого требуется:

  1. Выполнить клик на кнопку Сохранить; image_16
  2. Указать название файла и выполнить клик на кнопку Сохранить. image_17

Импорт формы

Конструктор форм позволяет импортировать форму созданную в другом проекте. Для этого требуется:

  1. Выполнить клик на кнопку Импортировать форму; image_18
  2. Открыть форму из другого созданного проекта в студии Puzzle RPA.

Вызов формы

Вызов созданной формы в алгоритме программного робота осуществляется с помощью блока Показать форму. Для этого необходимо указать:

  • Путь к файлу формы — путь до файла сохраненной формы;
  • Значения по умолчанию — словарь для изменения параметров элементов формы.

Путь до файла

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

Значение по умолчанию

Блок позволяет динамически изменять свойства созданных элементов в форме. Для этого необходимо указать в блоке словарь:

{
'id_element': {
'property': 'new_value'
}
}

Пример динамического изменения параметров

В данном примере выполняется запуск формы и изменение свойств текстового поля c ID field_1:

  • label - изменение заголовка поля на “Поле отключено”;
  • disabled - изменение признака отключения поля на “Истина”.
image_20

Результат выполнения формы

Форма возвращает результат только при нажатии кнопки типа Подтвердить (ОК). В этом случае результатом является словарь, где ключи соответствуют ID элементов формы, а значения — данным, введённым или выбранному пользователем.

Если пользователь завершает работу с формой с помощью кнопки типа Отмена, форма возвращает значение “Ничто”.


Доступные параметры для динамического изменения

Элементы имеют ряд параметров, которые можно изменять динамически во время вызова формы из алгоритма:

Текст (строка)

  • label - заголовок поля (текстовое значение);
  • disabled- признак, определяющий, недоступен ли элемент для взаимодействия (допустимое значение: Истина/Ложь);
  • default - значение по умолчанию (текстовое значение).

Текст (абзац)

  • label - заголовок поля (текстовое значение);
  • disabled- признак, определяющий, недоступен ли элемент для взаимодействия (допустимое значение: Истина/Ложь);
  • default - значение по умолчанию (текстовое значение);
  • rows - количество строк (числовое значение).

Пароль

  • label - заголовок поля (текстовое значение);
  • disabled- признак, определяющий, недоступен ли элемент для взаимодействия (допустимое значение: Истина/Ложь).

Чекбокс

  • label - заголовок поля (текстовое значение);
  • disabled- признак, определяющий, недоступен ли элемент для взаимодействия (допустимое значение: Истина/Ложь);
  • default - признак, определяющий, выбран ли чекбокс при открытии формы (допустимое значение: Истина/Ложь).

Селект

  • label - заголовок поля (текстовое значение);
  • disabled- признак, определяющий, недоступен ли элемент для взаимодействия (допустимое значение: Истина/Ложь);
  • default - значение по умолчанию (текстовое значение);
  • options - список значений в выпадающем списке (массив значений).

Файл

  • label - заголовок поля (текстовое значение);
  • disabled- признак, определяющий, недоступен ли элемент для взаимодействия (допустимое значение: Истина/Ложь);
  • allowMultiple- признак, определяющий, доступен ли множественный выбор файлов (допустимое значение: Истина/Ложь);
  • directory- признак, определяющий, требуется выбрать папку (допустимое значение: Истина/Ложь).

Число

  • label - заголовок поля (текстовое значение);
  • disabled- признак, определяющий, недоступен ли элемент для взаимодействия (допустимое значение: Истина/Ложь);
  • default - значение по умолчанию (числовое значение);
  • min - минимальное значение (числовое значение);
  • max - максимальное значение (числовое значение);
  • step - шаг переключения между числами (числовое значение).

Дата

  • label - заголовок поля (текстовое значение);
  • disabled- признак, определяющий, недоступен ли элемент для взаимодействия (допустимое значение: Истина/Ложь);
  • default - значение по умолчанию (текстовое значение в формате YYYY-MM-DD. Пример: 2025-10-08).

Радио

  • label - заголовок поля (текстовое значение);
  • disabled- признак, определяющий, недоступен ли элемент для взаимодействия (допустимое значение: Истина/Ложь);
  • default - значение по умолчанию (текстовое значение);
  • options - список значений в выпадающем списке (массив значений).

Примеры использования

Пример 1 - Получение данных от пользователя

В данном примере выполняется получение идентификационного номера налогоплательщика (ИНН) от пользователя для использования в алгоритме программного робота. Для этого:

  1. Создается форма с текстовым полем для ввода ИНН кнопкой подтверждения или отмены ввода;

    image_22
  2. Создается алгоритм программного робота состоящий из:

    • Вызов созданной формы;
    • Проверка на пустое значение, полученное от формы (если пользователь нажал на кнопку Отмена, форма возвращает “Ничто”);
    • Если пользователь выполнил нажатие на кнопку ОК и отправил данные, выполняется запись полученного ИНН в файл.
    image_23

Пример 2 - Кнопка Триггер

Тип кнопки Триггер позволяет запустить функцию

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

  1. Создается кнопка с типом Триггер;
  2. Задается Действие при нажатии для созданной кнопки и выбирается функция из проекта do something; image_24
  3. Создается кнопка номер 2 с типом Триггер;
  4. Задается Действие при нажатии для созданной кнопки и выбирается функция из проекта do something2. image_25

При вызове формы, кнопки на форме с типом Триггер будут запускать выполнение функции do something или do something2.

image_26

Пример 3 - Вызов дочернего модального окна

В данном примере выполняется запуск дочернего модально окна. Для этого:

  1. Создается модальное окно с названием puzzle_modal_form:

    image_27
  2. Создается вторая форма:

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

    image_28
  3. Создается вызов формы:

    image_29

При клике на кнопку Вызов puzzle_modal_form открывается дополнительная форма, созданная на шаге 1.

image_30

Результат будет получен в виде словаря:

image_31

Значение из модального окна puzzle_modal_form можно получить по ключу словаря modal_1:

image_32

Ключ задается в настройках кнопки вызова модального окна:

image_33

Пример 4 - Изменение свойств элементов при вызове формы

В данном примере выполняется отключение текстового поля при вызове формы. Для этого:

  1. Создается форма с двумя текстовыми полями c ID field_1 и field_2:

    image_34
  2. Создается вызов созданной формы:

    В данном случае выполняется отключение поля field_1 и изменение заголовка данного поля на значение Поле отключено. Для этого в разъем Значение по умолчанию передается словарь, где ключ - ID элемента на форме, значения - словарь с изменяемыми параметрами данного элемента.

    • label - заголовок поля (текстовое значение);
    • disabled- признак, определяющий, недоступен ли элемент для взаимодействия (допустимое значение: Истина/Ложь).
    image_35

После запуска формы будет отключено поле с ID field_1 и изменен заголовок.

image_36

Пример 5 - Выбор окружения перед запуском робота

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

  1. Создаётся форма с элементами: Селект (значения: dev, test, prod) и Чекбокс «Запустить немедленно»; image_37
  2. В алгоритме вызывается форма и из результата читаются ключи env_select и run_now; image_38
  3. В зависимости от выбранного может изменяться логика выполнения алгоритма и выполняется запуск.

Пример словаря для динамического задания значений по умолчанию:

{
'env_select': {
'label': 'Окружение',
'default': 'prod',
},
'run_now': {
'label': 'Запустить немедленно',
'default': True,
}
}

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

image_39

Пример 6 - Плановый запуск отчёта с параметрами периода

Робот перед запуском отчёта запрашивает у пользователя даты «с» и «по» и путь для сохранения.

  1. Создаётся форма с полями: Дата (date_from), Дата (date_to) и Файл (выбор папки); image_40
  2. По умолчанию date_from = текущая дата минус 7 дней, date_to = текущая дата; image_41
  3. После подтверждения робот формирует отчёт за выбранный период и сохраняет в указанную директорию.

Пример словаря для установки дефолтных значений:

{
'date_from': { 'default': '2025-10-01' },
'date_to': { 'default': '2025-10-08' }
}

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

image_42

Пример 7 - Ввод параметров подключения к БД и проверка соединения

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

  1. Создаётся форма с полями: Текст host, Число port, Текст user, Пароль password; image_43
  2. Кнопка типа Триггер «Проверить соединение» вызывает функцию проекта check_connection для теста коннекта; image_44
  3. При успешной проверке пользователь подтверждает запуск основного сценария кнопкой «ОК».

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

image_45

Пример 8 - Утверждение распознанных данных перед отправкой

После OCR робот показывает ключевые поля для проверки и правки оператором.

  1. Создаётся форма с полями Текст для «Номер счёта», «ИНН», «Сумма» и чекбокс «Данные верны»; image_46
  2. Поля заполняются значениями по умолчанию из результата распознавания; image_47
  3. Пользователь при необходимости корректирует значения, ставит отметку «Данные верны» и подтверждает; image_48
  4. Робот отправляет данные в целевую систему.