Low-code дизайнер > Создание форм / Динамические формы

Динамические формы

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

Как это работает?

Предположим, компания занимается продажей офисной мебели. Учет заказов, принятых от клиентов, ведется в отдельном приложении. На каждый заказ оформляется своя карточка с такими полями, как Товар, Количество, Сумма заказа и Итоговая сумма.

динамические формы

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

динамические формы 2

Как настроить динамическую форму?

В системе для настройки динамических форм используется виджет Код. Его можно разместить как на форме процессной задачи, так и на форме элемента приложения.

На форму задачи виджет добавляется в редакторе форм. Подробнее об этом вы можете прочитать в статьях Шаблоны форм и Дизайнер интерфейсов. Из них вы также узнаете, как настроить свою собственную карточку задачи, как добавить на нее виджеты и настроить их.

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

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

  • Сценарии на Typescript – здесь собрана информация о сценариях для работы с объектами системы и внешними страницами.