Структура формы
============================

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

Для построения структуры формы в Synergy применяется компонент «Таблица».

Использование таблиц для разметки
---------------------------------

Компонент «Таблица» используется для разметки формы и структурирования
элементов внутри нее.

Таблица позволяет:

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

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

Вертикальная структура формы
----------------------------

Наиболее распространенная схема построения формы - вертикальное деление
на две колонки:

* левая колонка - наименования полей;
* правая колонка - элементы для ввода данных.

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

.. figure:: /images/form_vertical.png

   Вертикальная структура формы

Горизонтальная структура формы
-------------------------------

Помимо вертикального деления, форма может быть разделена горизонтально
на несколько логических блоков.

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

Для визуального выделения блока:

* создается отдельная таблица;
* добавляется строка заголовка;
* заголовок выравнивается по центру.

.. figure:: /images/form_horizontal.png

   Горизонтальное разделение формы на блоки

Вложенные таблицы
-----------------

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

Вложенные таблицы применяются для:

* отделения одного логического раздела от другого;
* создания многоуровневой структуры формы;
* оформления анкетных и дополнительных разделов.

Каждая таблица на форме настраивается независимо и может иметь
собственные параметры отображения.

Динамическая таблица
--------------------

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

Типовыми примерами использования динамической таблицы являются:

* перечень документов;
* список вложений;
* список позиций заказа;
* дополнительные сведения, количество которых заранее неизвестно.

Для создания динамической таблицы используется компонент «Таблица»,
для которого в настройках включаются параметры:

* «Добавлять строки в режиме заполнения»;
* «Добавить заголовок динамической таблицы».

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

Общие принципы построения структуры
-----------------------------------

При проектировании структуры формы рекомендуется:

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

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