Ручная регистрация раздела (актуально для версии 7.11.2) (обходное решение)
Вопрос
Как зарегистрировать раздел на уровне БД если в интерфейсе он не отображается? Используется русская локализация
Ответ
Если в таблицах SysModuleEntity, SysModuleEdit и SysModule отсутствует информация об новом разделе, то поступаем в следующем порядке:
В данной статье представлен минимум при котором раздел должен работать корректно
- I Этап. Создать запись в таблице SysModuleEntity (таблица, где хранится информация объектах разделов):
SysModuleEntity
insert into SysModuleEntity (SysEntitySchemaUId) values ('AF6DD4AD-1398-4FCE-8837-78DC65AE0F9E')
где [SysEntitySchemaUId] - колонка Uid объекта раздела (например, "UsrRK") в таблице SysSchema;
- II Этап. Создать запись в таблице SysModuleEdit (страница редактирования "Page"):
SysModuleEdit
insert into SysModuleEdit (SysModuleEntityId ,UseModuleDetails ,CardSchemaUId ,ActionKindCaption ,ActionKindName ,PageCaption) values ('8ED522AF-00E1-4595-AC13-643944B005B7' ,1 ,'8B22D9BE-4BBC-4B50-80EA-AB6FBB604B7E' ,'Добавить' ,'UsrRK1Page' ,'Card schema: "RK"')
где [SysModuleEntityId] - колонка Id записи таблицы SysModuleEntity из первого этапа (проверка Select Id from SysModuleEntity Where SysEntitySchemaUId='AF6DD4AD-1398-4FCE-8837-78DC65AE0F9E')
[CardSchemaUId] - колонка Uid страницы редактирования объекта (например, "UsrRK1Page") в таблице SysSchema (проверка Select Uid,Name from SysSchema where name like '%UsrRK%'). Нам необходима схема, которая называется "Название объекта + 1Page"
[ActionKindCaption] - Название кнопки в реестре раздела;
[ActionKindName] - Название схемы страницы редактирования;
[PageCaption] - Заголовок схемы страницы редактирования в таблице SysSchema (проверка Select Uid,Name,Caption from SysSchema where name like '%UsrRK1Page%')
- III Этап. Создать запись в таблице SysModule (страница раздела "Section"):
SysModule
insert into SysModule (Caption ,SysModuleEntityId ,FolderModeId ,GlobalSearchAvailable ,Code ,SectionModuleSchemaUId ,SectionSchemaUId ,CardModuleUid ,Image32Id) values (N'RK' ,'8ED522AF-00E1-4595-AC13-643944B005B7' ,'B659D704-3955-E011-981F-00155D043204' ,1 ,'UsrRK' ,'DF58589E-26A6-44D1-B8D4-EDF1734D02B4' ,'B3D153C0-92EF-4A53-B868-9395C3E43516' ,'4E1670DC-10DB-4217-929A-669F906E5D75' ,'026742D9-390C-4778-BC46-9FA85C42677A')
где [Caption] - Название раздела (можно брать caption объекта раздела) -
[SysModuleEntityId] - колонка Id записи таблицы SysModuleEntity из первого этапа (проверка Select Id from SysModuleEntity Where SysEntitySchemaUId='AF6DD4AD-1398-4FCE-8837-78DC65AE0F9E')
[Code] - Название объекта раздела (на английском языке);
[SectionModuleSchemaUId] - UId модуля SectionModuleV2 с помощью которой открывается схему раздела (Id для всех разделов одинаковый);
[SectionSchemaUId] - колонка Uid страницы раздела объекта (например, "UsrRK1Section") в таблице SysSchema (проверка Select Uid,Name,Caption from SysSchema where name like '%UsrRK%'). Нам необходима схема, которая называется "Название объекта + 1Section"