Публикация

Таблицы SysModuleEdit и SysModuleEntity

Вопрос

Интересует таблица SysModuleEdit. Куда ссылаются поля SysPageSchemaUId и MiniPageSchemaUId? Тот же вопрос для поля SysEntitySchemaUId из таблицы SysModuleEntity.

Ответ

Таблица SysModuleEdit:

Данная таблица описывает связь объектов конфигурации со страницами их редактирования.

Например объект «Активность». У него может быть одна или несколько страниц редактирования и они описываются в этой таблице. То есть, тут задается связь «Объект» – «Схема страницы, которая будет отображать содержимое этого объекта».

Основные колонки этой таблицы:

SysModuleEntityId – Ссылка на таблицу SysModuleEntity, которая будет описана ниже. По сути, в ней будет описана ссылка на схему объекта «Активность». А все схемы, это таблица SysSchema.

TypeColumnValue – если колонка пуста, значит у этого объекта одна страница редактирования. Если поле TypeColumnValue заполнено, то это идентификатор типа, по которому идет разграничение страниц редактирования. Например, разграничение страниц редактирования Активности может быть по колонке Тип (ActivityType), тогда Id именно этой таблицы (ActivityType) будут записаны в TypeColumnValue. Разграничение может быть по любой ссылочной колонке объекта, но только по одной в один момент времени. Обычно это все же «Тип».

CardSchemaUId – ссылка на поле UId таблицы SysSchema, а именно на схему страницы редактирования. Например, ссылка на UId схемы ActivityPageV2, но обязательно на ту строчку где

SELECT * FROM SysSchema WHERE Name = 'Activity' AND ExtendParent = 0

То есть, на базовую, родительскую схему карточки. Это относится к любым ссылкам на SysSchema. Они всегда ссылаются на родительскую схему (ExtendParent = 0), чтобы работало наследование.

Оставшиеся текстовые колонки – это текстовые представления карточек и действий.

SysPageSchemaUId – ссылка на устаревшие aspx карточки (SysSchema), на данный момент для новых сущностей не используется.

MiniPageSchemaUId нужна только для создания мини-карточек, о чем написано в соответствующей статье:

https://academy.terrasoft.ru/documents/technic-sdk/7-8/sozdanie-mini-kartochki

Таблица SysModuleEntity:

Развязочная таблица для SysModuleEdit, итоговая связь выглядит так

SysSchema (схема объекта) – SysModuleEntity SysModuleEdit SysSchema (схема(ы) карточек)

Основные колонки этой таблицы это:

SysEntitySchemaUId – ссылка на таблицу SysSchema, а именно на схему объекта. Например, на поле UId вот этой записи:

SELECT * FROM SysSchema WHERE Name = 'Activity' AND ExtendParent = 0

TypeColumnUId – заполняется для тех случаев, когда есть много страниц редактирования для одного объекта. Именно тут указывается UId колонки из метаданных объекта по которому идет разграничение, тесно связана идеологически с колонкой TypeColumnValue таблицы SysModuleEdit.

Нравится

Поделиться

0 комментариев
Показать все комментарии