Глава 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 |
Значение настройки |
|