Отображение пользовательских объектов в базе данных

Добавление пользовательских классов

При добавлении пользовательского класса создается таблица с базовым набором колонок, см. Базовый набор колонок таблицы БД для бизнес-объекта.

При добавлении пользовательского класса с жизненным циклом и/или возможностью назначать ответственного, для него создается таблица аналогичная таблице TBL_SERVICECALL__EVT.

Добавление пользовательских атрибутов

При добавлении пользовательского атрибута в класс или тип (системный и пользовательский), в соответствующую таблицу добавляются одна или несколько колонок.

Атрибут простого типа

При добавлении атрибута типов: "Вещественное число", "Дата", "Дата/время", "Логический", "Строка", "Текст", "Текст в формате RTF", "Целое число" в таблице формируется одна колонка с названием равным коду атрибута:

  • <код_атрибута> — для атрибутов добавленных в классе.
  • <код_типа>$<код_атрибута> — для атрибутов добавленных в типе.

Составной атрибут

При добавлении атрибута составного типа формируется несколько колонок. Название колонок формируется по тем же правилам, что и для атрибутов простого типа. Код атрибута, как правило, является префиксом в названии колонки.

Тип атрибутов "Ссылка на бизнес-объект", "Элемент справочника"

При добавлении атрибута данных типов также создается одна колонка, но при этом формируется внешний ключ FK на id таблицы, соответствующего класса бизнес-объекта или справочника.

Тип атрибутов "Набор ссылок на БО", "Набор элементов справочника"

При добавлении атрибута данных типов добавляется таблица, реализующая связь "многие ко многим" между объектами класса владельца атрибута и объектами целевого класса или справочника. Имя таблицы формируется по следующим правилам:

  • TBL_<код_класса>_<код_атрибута> — для атрибутов добавленных в классе
  • TBL_<код_класса>$<код_типа>_<код_атрибута> — для атрибутов, добавленных в типе.

Все коды обрезаются до 8 символов.

Название колонки Описание
<код_класса>_id PK, FK(<таблица_класса_владельца_атрибута>.id) ссылка на объект класса владельца атрибута
<код_атрибута>_id PK, FK(<таблица_целевого_класса_или_справочника>.id) ссылка на объект целевого класса или элемент справочника

где <код_класса> — код класса владельца атрибута, <код_типа> — код типа, при добавлении атрибута в тип.

Тип атрибутов "Временной интервал"

При добавлении атрибута типа "Временной интервал" добавляется таблица.

Название колонки Описание
<код_атрибута> Продолжительность интервала в миллисекундах
<код_атрибута>_i Строковое представление единицы измерения атрибута (DAY, MINUTE, HOUR, DAY, WEEK)

Тип атрибутов "Гиперссылка"

При добавлении атрибута типа "Гиперссылка" добавляется таблица.

Название колонки Описание
<код_атрибута>_t Название ссылки
<код_атрибута>_h Адрес ссылки

Тип атрибутов "Счетчик времени"

При добавлении атрибута типа "Счетчик времени" добавляется таблица.

Название колонки Описание
<код_атрибута>_l Прошло времени (промежуточный результат). В миллисекундах
<код_атрибута>_b Время начала отсчета. В миллисекундах
<код_атрибута>_s Код статуса счетчика

Тип атрибутов "Счетчик времени (обратный)"

При добавлении атрибута типа "Счетчик времени (обратный)" добавляется таблица.

Название колонки Описание
<код_атрибута>_l Прошло времени (промежуточный результат). В миллисекундах
<код_атрибута>_b Время начала отсчета. В миллисекундах
<код_атрибута>_s Код статуса счетчика
<код_атрибута>_d Время окончания отсчета. В миллисекундах
<код_счетчика>_e Период нахождения счетчика в статусе "кончился запас времени" от момента входа в статус по текущее время. В миллисекундах
<код_счетчика>_ai Набор интервалов активности (нахождения счетчика в статусе "Активен"): Активен:Приостановлен и Активен:Остановлен. В миллисекундах

Коды статусов счетчика:

  • 'e' — кончился запас времени;
  • 'a' — активен;
  • 'n' — ожидает начала;
  • 'p' — приостановлен;
  • 's' — остановлен.

Тип атрибутов "Агрегирующий атрибут"

При добавлении атрибута типа "Агрегирующий атрибут" добавляются колонки (при выборе на форме добавления соответствующих агрегируемых классов).

Название колонки Описание
<код_атрибута>_ou FK(TBL_OU.id) ссылка на отдел
<код_атрибута>_em FK(TBL_EMPLOYEE.id) ссылка на сотрудника
<код_атрибута>_te FK(TBL_TEAM.id) ссылка на команду