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