Вилучені об'єкти і сторінки. Як їх позбутися ?

В процесі експериментування у мене накопичилась немала кількість вилучених об'єктів і сторінок. Як їх позбутися остаточно, щоб не висіли вилученими ?

Нравится

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

Ігор, если речь идет о BPMonline, то следует создавать экспериментальные объекты и страницы в своей конфигурации, а не в TSBpm. Тогда по пункту контекстного меню "Отменить изменения" можно от них избавиться. Если же Вы создавали их в корневой конфигурации, то, по-моему, только запросом из базы.

Все верно, из корневой конфигурации удалять нужно зарпосом из таблицы SysSchema по Id, значение Id равно значению свойства UId схемы(его можно отыскать в метаданных или в исходном коде схемы).

А як дістатися до SysSchema, якщо мені доступний лише ресурс на bpmonline.com ?
Плюс до всього у більшості з них має місце ситуація, що виражається повідомленням:
"Невозможно получить экземпляр схемы типа ..."
А якщо спробувати зегенерувати метадані або програмний код, то буде
"Object reference not set to an instance of an object"

Ігоре, для того, щоб з'ясувати Id схеми в таблиці SysSchema достатньо відкрити схему на редагування в дизайнері (доведеться тимчасово відмінити видалення). В рядку адреси буде лінк типу:

<Ваш сайт>/Designers/PageSchemaDesigner.aspx?id=5e5f9a9e-aa7d-407d-9e1e-1c24c3f9b59a&viewMode=1

Ідентифікатор в лінку буде саме тим, що нам потрібно

Інший варіант - відкрити метадані схеми. Перший UId - це теж він, наприклад:

{
	"MetaData": {
		"Schema": {
			"ManagerName": "PageSchemaManager",
			"UId": "5e5f9a9e-aa7d-407d-9e1e-1c24c3f9b59a",

А далі потрібно сформувати такі запити для кожної схеми:
DELETE FROM SysSchemaInSolution WHERE SysShemaId = '<Знайдений Id>'
DELETE FROM SysSchema WHERE Id = '<Знайдений Id>'

Потім вислати файл з такими запитами, наприклад, на службу підтримки

Сподіваюся, ця інформація буде Вам корисною

"Чуприк Сергій Іванович" написал:Потім вислати файл з такими запитами, наприклад, на службу підтримки

Если уж идти таким путем, то проще создать пустую страницу с кнопкой и по кнопке выполнить delete:

var delete = new Delete(UserConnection).From("SysSchemaInSolution").Where("SysShemaId").IsEqual(Column.Parameter(new Guid("<Знайдений Id>'")));
delete.Execute();
Показать все комментарии