Глава 7. СПРАВОЧНИКИ
Системные таблицы CLASS, CLASS_FIELDS, CLASS_NAME_DEF, CLASS_SETTINGS
Информация о дереве классов справочников хранится в таблице CLASS.
Системная таблица CLASS
| Название поля |
Тип данных |
Назначение |
| CLASS_ID |
INTEGER |
Внутренний ID класса |
| PARENT_ID |
INTEGER |
Внутренний ID родительского класса |
| HAS_CHILDREN |
SMALLINT |
Если класс имеет дочерние классы, то в этом поле
записывается 1, если нет, то записывается 0 |
| NAME |
VARCHAR(80) |
Название класса (уникальное) |
| TABLE_NAME |
VARCHAR(31) |
Название таблицы, в которой хранятся собственные атрибуты класса (
уникальное) |
| IS_ABSTRACT |
SMALLINT |
Признак абстрактного класса.
0 – можно добавлять объекты
в справочник данного класса
1 – нельзя добавлять объекты
в справочник данного класса |
Каждый класс имеет свой CLASS_ID, который поставляется
генератором CLASS_ID_GEN. Классы образуют деревья
. Все базовые классы (корневые) имеют PARENT_
ID = 0. Имеется специальный «нулевой» класс
с CLASS_ID = 0, служащий для сохранения
ссылочной целостности. Информация об атрибутах классов хранится в таблице
CLASS_FIELDS.
Системная таблица CLASS_FIELDS
| Название поля |
Тип данных |
Назначение |
| CLASS_ID |
INTEGER |
Внутренний ID класса |
| FIELD_NAME |
VARCHAR(31) |
Имя поля в таблице (уникальное в сочетании с ID
) |
| DISPLAY_NAME |
VARCHAR(50) |
Название атрибута (уникальное в пределах класса и всех его
предков) |
| DISPLAY_FORMAT |
VARCHAR(50) |
Формат отображения чисел, дат или сборных наименований для полей
ссылок, в зависимости от типа поля |
| REF_TABLE_NAME |
VARCHAR(31) |
Только для полей ссылок: название таблицы, на которую
ссылается данное поле |
| IS_REQUIRED |
SMALLINT |
Требовать значение при вводе на стороне приложения
0 –
не требуется указывать значение при вводе данных
1 –
требуется указывать значение при вводе данных |
| NO_CLONE |
SMALLINT |
0 – при клонировании значение данного поля копируется
1
– при клонировании значение данного поля не копируется |
| COLUMN_COLOR |
VARCHAR(30) |
Цвет колонки при отображении справочника на экране |
| COLUMN_ALIGNMENT |
INTEGER |
Выравнивание значения поля при отображении справочника в колонках сеток:
0 – влево, 1 – вправо, 2
– по центру |
Сведения о способах форматирования наименований хранятся в таблице CLASS_
NAME_DEF.
Для каждого справочника хранится способ сборки каждого типа наименований в
виде элементов форматирования, состоящих из префикса, суффикса и
используемого атрибута. Каждый элемент форматирования занимает одну строку в
таблице CLASS_NAME_DEF.
Системная таблица CLASS_NAME_DEF
| Название поля |
Тип данных |
Назначение |
| FOR_CLASS_ID |
INTEGER |
Внутренний ID класса, для которого определяется способ форматирования |
| OBJECT_NAME_TYPE |
VARCHAR(31) |
«Тип наименования» (название поля в таблице OBJECT
_NAMES), для которого определен данный элемент форматирования |
| POS |
INTEGER |
Позиция элемента форматирования в строке наименования |
| CLASS_ID |
INTEGER |
Внутренний ID класса, собственный атрибут которого используется в элементе
форматирования |
| FIELD_NAME |
VARCHAR(31) |
Имя поля, которое используется в элементе форматирования |
| PREFIX |
VARCHAR(35) |
Префикс |
| SUFFIX |
VARCHAR(35) |
Суффикс |
| DISPLAY_FORMAT |
VARCHAR(50) |
Формат отображения чисел, дат или сборных наименований для полей
ссылок, в зависимости от типа поля |
Настройки размеров окон справочной системы, размеры колонок в сетках
и другие подобные сведения хранятся в таблице CLASS_SETTINGS
отдельно для каждого справочника и режима его отображения.
Системная таблица CLASS_SETTINGS
| Название поля |
Тип данных |
Назначение |
| CLASS_ID |
INTEGER |
Внутренний ID класса |
| SETTING_NAME |
VARCHAR(31) |
Имя настройки |
| SETTING_VALUE |
BLOB |
Значение настройки |
|