Добрый день! При создании проблем не случается. Но возникают проблемы при модифицировании или удаления. Подскажите, пожалуйста, как правильно удалять разделы в bpm'online? Ведь много записей в таблице создается и других связок.

Нравится

15 комментариев

и про детали тоже интересно

Здравствуйте!

Сами разделы/детали (их страницы редактирования, а также объекты, на которые они ссылаются) Вы можете удалить из конфигурации.
При этом в базе данных останутся записи. Необходимо удалить записи с таблиц:
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 и злополучного раздела не увидел. Похоже, что сделанного оказалось достаточно.

Возможно, после удаления раздел был виден, поскольку закешировался в редисе. Нужно было почистить, и пропал бы.

Я создавал новый раздел. Раздел создал и нажал "Сохранить" без создания страницы. Создать это раздел повторно нельзя - такой уже есть, продолжить работу с ним нельзя, он не появляется в списке. Удалить нельзя, в указанных таблицах он не упоминается.

Добрый день, Владимир!

Если раздел не зарегистрирован, скорее всего, что-то пошло не так при его сохранении. Вы можете либо зарегистрировать его вручную, либо же просто удалить страницы и объекты из конфигурации, и создать его заново.

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

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

Нужно удалить пользовательский раздел.
В мастере есть или редактирование или создание нового, а удаления нету.
Удаление из custom папки нового сервиса с объектами не привело до конца к желаемому результату.
К сожалению, сохранилась вкладка на панели инструментов.
Её надо удалить.

ваши идеи?

Нравится

6 комментариев

В TSClient Файл->Настройки->Рабочие места
Предупреждение: там две вкладки, мои настройки и по умолчанию.

что-то я не нахожу вкладку [Рабочие места].

версия Terrasoft XRM: 3.3.2.290

В wnd_Main удалите раздел в невизуальных компонентах:

Maxim, а другие пользовательские сервисы будут отображаться?

На скрине пример. В невизуальных компонентах Вам необходимо найти свой раздел и удалить. Или, если не хотите рисковать - можете скрыть его в блоке свойств.

Также, можете сделать резервную копию базы данных, тогда точно ничего не пропадет =)

Игорь, отсутствие отдельного пункта меню "Удаление раздела" связано с тем, что на радел может быть завязана самая различная функциональность (например, перейти к), поэтому программисту следует внимательно следить за ссылками на раздел самостоятельно.

В версиях до 3.3.2 включительно пункты меню находятся в блоке Невизуальные в wnd_Main, в версиях начиная с 3.4.0 - хранятся в базе данных в таблицах tbl_Workspace и tbl_WorkspaceInDesktop (т.к. начиная с этой версии допускается различная настройка меню для разных пользователей системы).

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

Удалил раздел теперь появляется ошибка при запуске

TSObjectLibrary.Services: Èíôîðìàöèÿ ïî ñåðâèñó 'wnd_DovWorkspace' íå íàéäåíà

Нравится

5 комментариев

"Волков Максим" написал:Информация по сервису 'wnd_DovWorkspace' не найдена

Максим, Вам следует также удалить ссылки на созданный раздел в wnd_Main и scr_Main

"Alimova Anna" написал:
Волков Максим пишет:

Информация по сервису 'wnd_DovWorkspace' не найдена

Максим, Вам следует также удалить ссылки на созданный раздел в wnd_Main и scr_Main

С уважением, Анна Алимова

Специалист II линии технической поддержки Terrasoft


Спасибо! а где это? (common - main)?

Теперь ругается на

/* ENDMODULE ANALYSIS */
	RefDictionary.Add('ds_DebtFile', 'wnd_DebtFileWorkspace');
	RefDictionary.Add('ds_LegalCase', 'wnd_LegalCaseWorkspace');
	RefDictionary.Add('ds_Dov', 'wnd_DovWorkspace');
	RefDictionary.Add('ds_Dov', 'wnd_DovWorkspace');

как определить в каком это файле?

Можно воспользоваться поиском: TSAdmin - меню Инструменты - GrepSearch
и туда искомый RefDictionary.Add('ds_DebtFile', 'wnd_DebtFileWorkspace')...

"Александр Кудряшов" написал:

Можно воспользоваться поиском: TSAdmin - меню Инструменты - GrepSearch

и туда искомый RefDictionary.Add('ds_DebtFile', 'wnd_DebtFileWorkspace')...


нашел :) спасибо

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

Здравствуйте, подскажите плиз как полностью удалить раздел в конфигурации что б после него не осталось никаких следов??

Нравится

1 комментарий

Здравствуйте,
Простого пути нет, по сути нужно сделать обратную операцию создания раздела, как создавать раздел не мастером можно почитать здесь
http://www.community.terrasoft.ru/developer/advice/4576

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