ручная регистрация раздела

Добрый день, столкнулся с такой проблемой после переноса изменение из svn разделы не добавились в список разделов, после изучения бд выяснил что о разделах не было записи в таблицах SysModuleEntity, SysModuleEdit, SysModule после добавления в эти таблицы разделы начали отображаться в списке разделом но при добавлении и их в рабочее место рабочее место не загружается и в консоли появлятся ошибка

user: dgolovachev/e7f5fff2-2fea-4aa6-b704-b306cf31b654
 file: undefined
 line: undefined
 column: undefined
 message: Cannot read property 'imageId' of undefined
 date: Tue May 30 2017 14:42:26 GMT+0600 (Central Asia Standard Time)
 moduleId: ext-window
 moduleName: undefined

подскажите в каком направлении необходимо копать заранее благодарен.

Нравится

3 комментария

Дмитрий,

мой совет может показаться Вам банальным: чтобы понять 'в чём корень зла', необходимо выполнить отладку.

Здравствуйте, Дмитрий!

В целом, если раздел не был корректно зарегистрирован мастером в БД, лучшее решение - создать заново, ибо мастер гарантированно внесет все необходимые привязки.

Если всеже хотите пойти сложным путем, вот необходимый минимум таблиц, в которых раздел нужно зарегистрировать(тестировали на 7.9.2):

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
,Image32Id) values ('RK'
,'8ED522AF-00E1-4595-AC13-643944B005B7'
,'B659D704-3955-E011-981F-00155D043204'
,1
,'UsrRK'
,'DF58589E-26A6-44D1-B8D4-EDF1734D02B4'
,'B3D153C0-92EF-4A53-B868-9395C3E43516'
,'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 с помощью которой открывается схему раздела;
[SectionSchemaUId] - колонка Uid страницы раздела объекта (например, "UsrRK1Section") в таблице SysSchema (проверка Select Uid,Name,Caption from SysSchema where name like '%UsrRK%'). Нам необходима схема, которая называется "Название объекта + 1Section"

Павел, добрый день!

Регистрировал раздел по вашему алгоритму, т.к. мастер у меня упорно не хочет работать. Вроде бы все заработало, но столкнулся с такой проблемой: если создать делать, которая будет ссылаться на нашу новую сущность, то при формировании ссылки на карточку этого раздела ссылка будет некорректной. "Вскрытие" показало, что причина в отсутствии записи в таблице SysModule в колонке CardModuleUId. Без этой записи ссылка формируется без CardModuleV2 и карточка не открывается.

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