Формулировка проблемы: необходимо иметь возможность создать, отредактировать и удалить представление для заполнения формы на мобильном устройстве.
Решение: для формы вводится новая сущность — представление. Представление определяет внешний вид формы в каком-либо режиме (просмотр, заполнение, печать) в зависимости от того, каким проигрывателем форма воспроизводится. В редакторе форм мы можем:
добавить представление определённого типа;
перейти к просмотру и редактированию этого представления;
удалить представление определённого типа;
В данной задаче мы вводим один новый тип представления — мобильный —
который будет использоваться для заполнения формы на мобильном
устройстве. Уже имеющееся в форме представление (используемое для
просмотра и заполнения формы в «обычном» web-клиенте
Synergy
) впредь будем называть «основным».
Основное представление формы создаётся вместе с самой формой и его
нельзя удалить.
Для удобства дальнейшего изложения полезно разделить все компоненты формы на три вида: структурные, с хранением данных и особые.
Структурные компоненты предназначены не для ввода, хранения и отображения данных, а для структурирования и маркировки других компонентов либо частей формы. К структурным компонентам относятся: таблица, страница, неизменяемый текст, изображение.
Компоненты с хранением данных, как следует из их названия, хранят
какие-либо данные, и в большинстве случаев, позволяют пользователям
эти данные вводить. К таким компонентам относятся: однострочное
поле, многострочный текст, HTD-редактор
,
выпадающий список, дата/время, выбор вариантов, переключатель
вариантов, файл, ссылка, объекты Synergy
, номер,
ссылка на документ.
К особым компонентам относятся те компоненты, которые нужны для отображения данных, не относящихся напрямую к форме (можно сказать, что эти данные не хранятся в файле по форме), а берущихся из её окружения. К таким компонентам относятся: лист подписей, ход выполнения.
Мобильное представление формы имеет следующие ограничения:
Основная таблица формы может содержать только один столбец.
Набор компонентов, которые можно использовать в мобильном представлении, ограничен:
Из структурных компонентов можно использовать только «неизменяемый текст».
Можно использовать только те компоненты с хранением данных, которые добавлены на основное представление (такие компоненты на основном и на мобильном представлении будут иметь одинаковые идентификаторы) , причём не все — только компоненты типов «однострочное поле», «многострочный текст», «выпадающий список». Компоненты, отфильтрованные и сгруппированные по типу, выбираются из списка, в котором они подписаны своими уникальными идентификаторами; дважды добавить один и тот же компонент на представление нельзя (иначе получится несколько компонентов с одинаковыми идентификаторами на одном представлении).
Специальные компоненты на мобильном представлении использовать нельзя.
Компонент, добавленный в строку основной таблицы представления, должен занимать 100% её площади