Добрый день! При создании проблем не случается. Но возникают проблемы при модифицировании или удаления. Подскажите, пожалуйста, как правильно удалять разделы в bpm'online? Ведь много записей в таблице создается и других связок.
Нравится
Здравствуйте!
Сами разделы/детали (их страницы редактирования, а также объекты, на которые они ссылаются) Вы можете удалить из конфигурации.
При этом в базе данных останутся записи. Необходимо удалить записи с таблиц:
SysModule
SysModuleEdit
SysModuleEditLcz
"Демьяник Алексей Олегович" написал:Необходимо удалить записи с таблиц:
Что же так не любят SQL-запрос предоставить? :)
"Владимир Соколов" написал:Что же так не любят SQL-запрос предоставить? :)
А разгадка проста: разделы стараются не удалять. Максимум — скрыть в рабочих местах и удалить из раздела все записи.
Ведь если стандартный раздел удалить, кто знает, что поломается в других разделах, с ним связанных.
Иногда даже удаление поля чревато.
А полностью скрывать детали от пользователей нужно с помощью прав доступа?
Мне нужно удалить пользовательский раздел в BPMOnline. Сервисов, связанных с ним нет, но раздел в списке присутствует. Я удалил запись из SysModule, но это не помогло. В таблицах SysModuleEdit,
SysModuleEditLcz информации по нему нет.
"Зверев Александр" написал:Максимум — скрыть в рабочих местах и удалить из раздела все записи.
Проблема в том, что "мусор" появляется в условиях фильтрации и только усложняет её.
"Владимир Соколов" написал:Что же так не любят SQL-запрос предоставить? :)
Владимир, на основании одного объекта можно сделать два раздела. Будет обидно, если предоставленный запрос удалит оба раздела вместо одного.
Приблизительный запрос ниже:
declare @SectionObject varchar(50) set @SectionObject = /*Название объекта раздела*/ delete from SysModule where SysModule.SysModuleEntityId in (select SysModuleEntity.Id from SysModuleEntity join SysSchema on SysSchema.UID = SysModuleEntity.SysEntitySchemaUId where SysSchema.Name = @SectionObject)
Для выполнения запроса нужно еще очистить связи.
"Тюльпа Владимир" написал:Мне нужно удалить пользовательский раздел в BPMOnline. Сервисов, связанных с ним нет, но раздел в списке присутствует. Я удалил запись из SysModule, но это не помогло. В таблицах SysModuleEdit,
SysModuleEditLcz информации по нему нет.
Владимир, уточните, пожалуйста, в каком списке присутствует раздел? Проверьте таблицу SysModuleInWorkplace.
"Тюльпа Владимир" написал:Мне нужно удалить пользовательский раздел в BPMOnline. Сервисов, связанных с ним нет, но раздел в списке присутствует. Я удалил запись из SysModule, но это не помогло. В таблицах SysModuleEdit,
SysModuleEditLcz информации по нему нет.
Владимир, здравствуйте!
Ниже инструкция по удалению типового раздела из системы:
Пусть «ToDelete» - название обьекта раздела
1. Выполнить скрипт в БД для удаления регистрационных данных:
DECLARE @UId UNIQUEIDENTIFIER;
DECLARE @ModuleEntityUID UNIQUEIDENTIFIER;
DECLARE @ModuleID UNIQUEIDENTIFIER;
DECLARE @Name NVARCHAR(max) = 'ToDelete';
select @UId = UId from SysSchema where Name Like @Name
select @ModuleEntityUID = Id from SysModuleEntity where SysEntitySchemaUId = @UId
select @ModuleID = Id from SysModule where SysModuleEntityId = @ModuleEntityUID;
delete from SysModuleInWorkplace where SysModuleId = @ModuleID;
delete from SysModule where Id = @ModuleID;
delete from SysModuleEdit where SysModuleEntityId = @ModuleEntityUID;
delete from SysModuleEntity where Id = @ModuleEntityUID;
delete from SysDetail where EntitySchemaUId = @UId;
delete from SysLookup where SysEntitySchemaUId = @UId;
delete from [Lookup] where SysEntitySchemaUId = @UId;
2. Через конфигурацию удалите схемы в следующем порядке:
Клентские схемы (раздела, редактирования, детали)
ToDeleteFile
ToDeleteInFolder
ToDeleteInTag
ToDeleteTag
ToDeleteFolder
ToDelete
Проще всего запустить профайлер и создать ещё один раздел, посмотреть, в какие таблицы идёт запись.
Спасибо за материалы. Воспользоваться ими не пришлось. Запустил BPMOnline и злополучного раздела не увидел. Похоже, что сделанного оказалось достаточно.
Возможно, после удаления раздел был виден, поскольку закешировался в редисе. Нужно было почистить, и пропал бы.
Я создавал новый раздел. Раздел создал и нажал "Сохранить" без создания страницы. Создать это раздел повторно нельзя - такой уже есть, продолжить работу с ним нельзя, он не появляется в списке. Удалить нельзя, в указанных таблицах он не упоминается.
Добрый день, Владимир!
Если раздел не зарегистрирован, скорее всего, что-то пошло не так при его сохранении. Вы можете либо зарегистрировать его вручную, либо же просто удалить страницы и объекты из конфигурации, и создать его заново.