Коллеги, прошу помочь.
задача: необходимо очистить измененные сервисы, чтобы они локально обновились без полной очистки профиля.

версия 5 сервис деск

Был применен скрипт:
delete from "SysProfileData"
where "ObjectId" =(select distinct "SysSchemaId" from "SysSchemaInSolution"
where "Name" = 'Название схемы');
commit;

где значение Name - название схем, а именно:
BaseApprovalGridPage
ApprovalInServiceRequestGridPage.

Например, для очистки, профилей пользователей страницы
BaseApprovalGridPage. Скрипт будет иметь вид:

delete from "SysProfileData"
where "ObjectId" =(select distinct "SysSchemaId" from "SysSchemaInSolution"
where "Name" = 'BaseApprovalGridPage');
commit;
"
Данный скрипт не удаляет настроек колонок

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

Нравится

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

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

SELECT TOP 1000 [Id]
      ,(select max([Name]) from [SysSchemaInSolution] where [SysSchemaId]  = [ObjectId])
      ,[ModifiedOn]
      ,[CreatedOn]
      ,[CreatedById]
      ,[ModifiedById]
      ,[SysUserId]
      ,[ObjectId]
      ,[Key]
      ,[ObjectData]
      ,[ObjectDifference]
  FROM [SysProfileData]
  order by [ModifiedOn] desc

Если меняем настройки колонок в нескольких разделах, появляются изменённые записи, все связанные со схемой MainPage, но с разным значением поля Key.
Попробуйте поменять настройки средствами пользователя и посмотреть, какие записи при этом обновятся.

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