Информация необходимая для функционирования документа располагается в скрытом, недоступном пользователю, разделе документа. Скрытый раздел содержит метаданные, управляющие поведением документа, и набор справочников, используемых при заполнении документа. Для хранения информации в скрытом разделе используются таблицы. Наиболее важными являются таблицы: закладок, правил, ограничений, описания экранных форм.
Таблица закладок содержит информацию о разметке основного и скрытого разделов документа. В этой таблице хранится информация о типе закладки, способах использования закладки. Таблица закладок является одной из самых важных таблиц и имеет всегда фиксированное имя. Доступ ко всем элементам документа, включая таблицы метаданных, осуществляется через закладки.
Информация о правилах, наложенных на вводимые пользователем значения, хранится в таблице правил. Каждое правило может содержать в себе несколько ограничений. Правило имеет уникальное имя, по которому система к нему обращается. Также с правилом связывается текст и тип ошибки, выводящиеся пользователю на экран, если введенные им данные не удовлетворяют ограничениям правила. Правила и ограничения находятся в отношении многие ко многим, то есть одно правило может содержать несколько ограничений, и одно ограничение может входить в несколько правил. Для поддержки данного отношения служит таблица связи правил и ограничений, поле «Link» данной таблицы используется для связи ограничений в правиле операциями «и» или «или». Информация об ограничениях на значения храниться в таблице ограничений. Поле «Name» задает уникальное имя ограничения, по которому к нему обращается система. Поле «Type» используется для указания типа данных проверяемого значения. Поддерживаются целый, вещественный, строковый, дата типы данных. Поля «Limit», «Min», «Max» используются для задания допустимого интервала значений проверяемого поля. Булево поле «Empty» указывает, обязательно ли поле для заполнения. Поле «Mask» служит для проверки соответствия проверяемого значения определенному шаблону. Задание поля поле «Format» позволяет отформатировать введенное значении в соответствии с указанным шаблоном.
Id
Name
ErrTitle
ErrMsg
ErrType
A. Таблица правил
Id
IdRule
IdConstraint
Link
Б. Таблица связи правил и ограничений
ID
Name
Type
Limit
Min
Max
Empty
Mask
Format
В. Таблица ограничений
Рис. ???. Структура таблиц хранения правил, налагаемых на вводимую пользователем информацию
В таблицах информации об экранных формах располагается данные о генерируемых во время работы документа формах для ввода данных. Для хранения данной информации используются три таблицы: таблица вкладок, таблица блоков данных, таблица содержания блока данных.
Формы для ввода данных имеют многостраничную архитектуру, то есть информация логически сгруппирована на вкладках. Для описания вкладок формы используется таблица вкладок. Каждая имеет уникальное имя, по которому система к нему обращается. Поле «Index» используется для управлением порядка вывода вкладок. Надпись конкретной вкладки храниться в поле «Caption».
Id
Name
Index
Caption
Рис. ???. Структура таблицы хранения информации о вкладках
Для описания параметров блоков ввода данных используется таблица блоков данных. Поле «Name» задает уникальное имя блока данных, по которому к нему обращается система. Атрибут «PgName» задает вкладку, на которой будет размещен блок ввода данных. Параметр «Bkmark» указывает на закладку, где располагается таблица содержания блока данных. Группа атрибутов «Width», «Height», «Top», «Left» задают расположение блока ввода данных на вкладке. Параметры «FocusR», «FocusC» указываю активный по умолчанию элемент управления.
ID
Name
Use
PgName
Bkmark
Width
Height
Top
Left
FocusR
FocusC
dg1
T
dgВкл1
dg2
T
dgВкл2
dg3
T
dgВкл4
dg4
T
dgВкл4П
dg5
T
dgВкл4
dg6
T
dgВкл5
Рис. ???. Структура таблицы хранения информации о вкладках
Каждый блок данных экранной формы описывается своей таблица содержания блока данных. В ячейках таблицы храниться информация о типе элемента управления, имя закладка, со значением которой связан этот элемент управления, имя правила, которому должно удовлетворять введенное пользователем значение и другие параметры. В табл. 1 и на рис. 8 приведен пример таблицы содержания блока данных и сгенерированный на ее основе фрагмент экранной формы.
Таблица 1. Информация о структуре создаваемой экранной формы
Text="Информация об учреждении"; MCol="2";ColW="170"; Align="2"; FontT="1";