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

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

Внешний вид

1 - Конструктор формы
В левой части конструктора расположены функции для управления формой:
- Создать форму — запуск процесса создания формы;
- Импортировать форму — запускает процесс импорта формы из другого проекта;
- Список форм — список добавленных форм в проекте.
2 - Панель просмотра
В правой части отображается предпросмотр созданной формы.
Интерфейс создания формы
Для запуска процесса создания формы требуется выполнить клик на кнопку Создать форму. После клика открывается интерфейс изменения формы.

1 - Вид формы
В верхней части располагается раздел Вид формы, позволяющий изменить внешний вид формы:
- Заголовок — заголовок формы;
- Ширина и Высота — габариты формы;
- Отступы — отступы элементов и кнопок от края формы;
- Положение кнопок — позиционирование кнопок внутри формы;
- Цвет — цвет фона и шапки формы.
2 - Элементы
В средней части располагается раздел Элементы, который позволяет добавлять на форму интерактивные компоненты ввода и отображения данных. Доступны следующие типы элементов:
- Текст (строка) — однострочное текстовое поле;
- Текст (абзац) — многострочное текстовое поле;
- Пароль — поле для ввода с маскировкой символов;
- Чекбокс — переключатель с двумя состояниями (включено/выключено);
- Селект — выпадающий список с выбором одного значения;
- Файл — элемент для выбора файла;
- Число — поле для ввода числовых значений;
- Дата — элемент выбора даты;
- Радио — группа переключателей для выбора одного варианта из нескольких.
3 - Кнопки
В нижней части располагается раздел Кнопки, который позволяет добавлять на форму управляющие элементы. Доступны следующие типы кнопок:
- Подтвердить (ОК) — завершает работу с формой и сохраняет введённые данные;
- Отмена — закрывает форму без сохранения изменений;
- Триггер — запускает выполнение заданной функции в проекте;
- Модальное окно — открывает дополнительное диалоговое окно.
Элементы формы
Элементы формы — это отдельные компоненты, из которых состоит пользовательский интерфейс формы. Они позволяют отображать информацию и получать ввод от пользователя.

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

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

Общие свойства элементов
Каждый элемент формы настраивается через набор свойств, которые делятся на общие (применяются ко всем типам элементов) и уникальные (доступны только для отдельных типов).
Общие параметры:
-
ID — уникальный идентификатор элемента;
-
Ширина — ширина элемента на форме;
-
Заголовок — текстовая метка, отображаемая рядом с элементом;
-
Положение — положение заголовка относительно элемента;
-
Порядок — позиция элемента внутри своего ряда относительно других элементов;
-
Ряд — номер строки (горизонтального ряда), в которой размещается элемент (элементы с одинаковым значением ряда располагаются в одной строке);
-
Отступ — внешний отступ элемента от соседних компонентов или границ контейнера;
-
Значение по умолчанию — начальное значение элемента при открытии формы;
-
Отключён — чекбокс, определяющий, недоступен ли элемент для взаимодействия (элемент отображается, но не реагирует на действия пользователя).
-
Условия показа - условие для отображения элемента.
Уникальные свойства элементов
Уникальные параметры:
- Текст (абзац) — количество строк;
- Селект — варианты значений (задаются через запятую);
- Файл — множественный выбор и выбор папки;
- Число — ограничение значения числа;
- Радио — варианты значений (задаются через запятую).
Условия показа
Для каждого элемента доступен выбор условия показа в зависимости от значения в другом элементе. Для этого требуется:
- Выполнить клик на кнопку + Добавить условие;
- Выбрать элемент, в зависимости от значения которого будет отображаться выбранная форма;
- Указать условие;
Пример условия показа
В данном примере элемент с ID field_date (Поле даты) будет отображено только если в текстовом поле с ID field_text (Текстовое поле) будет значение Puzzle RPA.

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

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

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

Общие свойства кнопок
Каждая кнопка формы настраивается через набор свойств, которые делятся на общие (применяются ко всем типам кнопок) и уникальные (доступны только для отдельных типов).
Общие параметры:
-
Ширина — ширина кнопки на форме;
-
Заголовок — текст, отображаемый на кнопке;
-
Порядок — позиция кнопки внутри своего ряда относительно других элементов;
-
Функция при нажатии — выпадающий список, позволяющий выбрать функцию из доступных в проекте, которая будет автоматически вызвана при нажатии на кнопку.
Уникальные свойства кнопок
При выборе типа кнопки Модальное окно необходимо указать:
- Файл — выпадающий список, позволяющий выбрать другую форму из списка созданных форм в данном проекте.
- ID поля — идентификатор, используемый в качестве ключа в словаре результата при возврате данных из дочернего модального окна (когда текущая форма вызывает другое модальное окно, значение, возвращённое этим окном, записывается в результат по указанному ID поля).
Сохранение формы
Конструктор форм позволяет сохранить созданную форму. Для этого требуется:
- Выполнить клик на кнопку Сохранить;
- Указать название файла и выполнить клик на кнопку Сохранить.
Импорт формы
Конструктор форм позволяет импортировать форму созданную в другом проекте. Для этого требуется:
- Выполнить клик на кнопку Импортировать форму;
- Открыть форму из другого созданного проекта в студии Puzzle RPA.
Вызов формы
Вызов созданной формы в алгоритме программного робота осуществляется с помощью блока Показать форму. Для этого необходимо указать:
- Путь к файлу формы — путь до файла сохраненной формы;
- Значения по умолчанию — словарь для изменения параметров элементов формы.
Путь до файла
В поле путь до файла требуется указать путь до сохраненного файла формы.
Значение по умолчанию
Блок позволяет динамически изменять свойства созданных элементов в форме. Для этого необходимо указать в блоке словарь:
{ 'id_element': { 'property': 'new_value' }}
Пример динамического изменения параметров
В данном примере выполняется запуск формы и изменение свойств текстового поля c ID field_1:
- label - изменение заголовка поля на “Поле отключено”;
- disabled - изменение признака отключения поля на “Истина”.

Результат выполнения формы
Форма возвращает результат только при нажатии кнопки типа Подтвердить (ОК). В этом случае результатом является словарь, где ключи соответствуют 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 - Получение данных от пользователя
В данном примере выполняется получение идентификационного номера налогоплательщика (ИНН) от пользователя для использования в алгоритме программного робота. Для этого:
-
Создается форма с текстовым полем для ввода ИНН кнопкой подтверждения или отмены ввода;
-
Создается алгоритм программного робота состоящий из:
- Вызов созданной формы;
- Проверка на пустое значение, полученное от формы (если пользователь нажал на кнопку Отмена, форма возвращает “Ничто”);
- Если пользователь выполнил нажатие на кнопку ОК и отправил данные, выполняется запись полученного ИНН в файл.
Пример 2 - Кнопка Триггер
Тип кнопки Триггер позволяет запустить функцию
В данном примере выполняется запуск двух функций с помощью кнопок на форме. Для этого:
- Создается кнопка с типом Триггер;
- Задается Действие при нажатии для созданной кнопки и выбирается функция из проекта do something;
- Создается кнопка номер 2 с типом Триггер;
- Задается Действие при нажатии для созданной кнопки и выбирается функция из проекта do something2.
При вызове формы, кнопки на форме с типом Триггер будут запускать выполнение функции do something или do something2.

Пример 3 - Вызов дочернего модального окна
В данном примере выполняется запуск дочернего модально окна. Для этого:
-
Создается модальное окно с названием puzzle_modal_form:
-
Создается вторая форма:
В данной форме создаётся кнопка типа Модальное окно, при нажатии на которую открывается уже созданная форма puzzle_modal_form.
-
Создается вызов формы:
При клике на кнопку Вызов puzzle_modal_form открывается дополнительная форма, созданная на шаге 1.

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

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

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

Пример 4 - Изменение свойств элементов при вызове формы
В данном примере выполняется отключение текстового поля при вызове формы. Для этого:
-
Создается форма с двумя текстовыми полями c ID field_1 и field_2:
-
Создается вызов созданной формы:
В данном случае выполняется отключение поля field_1 и изменение заголовка данного поля на значение Поле отключено. Для этого в разъем Значение по умолчанию передается словарь, где ключ - ID элемента на форме, значения - словарь с изменяемыми параметрами данного элемента.
- label - заголовок поля (текстовое значение);
- disabled- признак, определяющий, недоступен ли элемент для взаимодействия (допустимое значение: Истина/Ложь).
После запуска формы будет отключено поле с ID field_1 и изменен заголовок.

Пример 5 - Выбор окружения перед запуском робота
Робот запрашивает у пользователя окружение запуска и подтверждение перед стартом.
- Создаётся форма с элементами: Селект (значения: dev, test, prod) и Чекбокс «Запустить немедленно»;
- В алгоритме вызывается форма и из результата читаются ключи
env_select
иrun_now
; - В зависимости от выбранного может изменяться логика выполнения алгоритма и выполняется запуск.
Пример словаря для динамического задания значений по умолчанию:
{ 'env_select': { 'label': 'Окружение', 'default': 'prod', }, 'run_now': { 'label': 'Запустить немедленно', 'default': True, }}
В случае задания динамических значений по умолчанию форма и алгоритм будут выглядеть следующим образом:

Пример 6 - Плановый запуск отчёта с параметрами периода
Робот перед запуском отчёта запрашивает у пользователя даты «с» и «по» и путь для сохранения.
- Создаётся форма с полями: Дата (date_from), Дата (date_to) и Файл (выбор папки);
- По умолчанию
date_from
= текущая дата минус 7 дней,date_to
= текущая дата; - После подтверждения робот формирует отчёт за выбранный период и сохраняет в указанную директорию.
Пример словаря для установки дефолтных значений:
{ 'date_from': { 'default': '2025-10-01' }, 'date_to': { 'default': '2025-10-08' }}
В случае задания динамических значений по умолчанию форма и алгоритм будут выглядеть следующим образом:

Пример 7 - Ввод параметров подключения к БД и проверка соединения
Перед выполнением записи в базу данных робот собирает параметры подключения и валидирует их.
- Создаётся форма с полями: Текст host, Число port, Текст user, Пароль password;
- Кнопка типа Триггер «Проверить соединение» вызывает функцию проекта check_connection для теста коннекта;
- При успешной проверке пользователь подтверждает запуск основного сценария кнопкой «ОК».
При успешной проверке подключения к базе данных, форма покажет статус выполнения функции check_connection.

Пример 8 - Утверждение распознанных данных перед отправкой
После OCR робот показывает ключевые поля для проверки и правки оператором.
- Создаётся форма с полями Текст для «Номер счёта», «ИНН», «Сумма» и чекбокс «Данные верны»;
- Поля заполняются значениями по умолчанию из результата распознавания;
- Пользователь при необходимости корректирует значения, ставит отметку «Данные верны» и подтверждает;
- Робот отправляет данные в целевую систему.