Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 MDS 2012 - Сущность - Блокировать элементы от редактирования в зависимости от значения  [new]
Marchuk
Member

Откуда: Москва
Сообщений: 104
День добрый.
Есть Microsoft SQL Server 2012 - 11.0.5548.0 (X64). На него установлен Master Data Services (MDS).

В "Управление пользователями" в "Модели" можно добавить Атрибут с разрешением только для чтения.
Соответственно, данный атрибут, будет недоступен на редактирования для данного пользователя.

Задумка.
Есть Атрибут (который могу редактировать только я), в котором есть несколько статусов на выбор (Принята, Черновик, Завершено).
Если выбрано "Завершено", то я хочу, чтобы пользователь уже не смог больше в любых других полях ничего поменять.
Т.е. все Атрибуты (поля) данного элемента (строка) были закрыты пользователям для редактирования.

Это можно как-то настроить?
2 окт 14, 17:09    [16651743]     Ответить | Цитировать Сообщить модератору
 Re: MDS 2012 - Сущность - Блокировать элементы от редактирования в зависимости от значения  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8350
SQL сервер такое не умеет делать.
2 окт 14, 17:30    [16651896]     Ответить | Цитировать Сообщить модератору
 Re: MDS 2012 - Сущность - Блокировать элементы от редактирования в зависимости от значения  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4805
Marchuk,

Повесьте триггер INSTREAD OF UPDATE и делайте в нём RAISEERROR при попытке обновить запись с таким статусом
2 окт 14, 18:04    [16652093]     Ответить | Цитировать Сообщить модератору
 Re: MDS 2012 - Сущность - Блокировать элементы от редактирования в зависимости от значения  [new]
Marchuk
Member

Откуда: Москва
Сообщений: 104
a_voronin
Повесьте триггер INSTREAD OF UPDATE и делайте в нём RAISEERROR при попытке обновить запись с таким статусом

Спасибо, попробую в понедельник почитать про это.
2 окт 14, 19:47    [16652550]     Ответить | Цитировать Сообщить модератору
 Re: MDS 2012 - Сущность - Блокировать элементы от редактирования в зависимости от значения  [new]
Exproment
Member

Откуда:
Сообщений: 416
a_voronin
Повесьте триггер INSTREAD OF UPDATE и делайте в нём RAISEERROR при попытке обновить запись с таким статусом

MS официально не рекомендуют вносить изменения в схему данных MDS. Он реализует только тот функционал который реализует. Хотите что-то большее - пишите свое управление НЦИ.


Marchuk
Если выбрано "Завершено", то я хочу, чтобы пользователь уже не смог больше в любых других полях ничего поменять.
Т.е. все Атрибуты (поля) данного элемента (строка) были закрыты пользователям для редактирования.

Разбейте на два справочника. Активные и завершенные. А при загрузке данных из MDS в бизнес слой выполняйте union all.
2 окт 14, 22:16    [16653114]     Ответить | Цитировать Сообщить модератору
 Re: MDS 2012 - Сущность - Блокировать элементы от редактирования в зависимости от значения  [new]
Exproment
Member

Откуда:
Сообщений: 416
Marchuk, еще можете забить на MDS и редактировать данные через плагины экселя. Там сможете любые ограничения настроить с минимальными знаниями.
2 окт 14, 22:18    [16653130]     Ответить | Цитировать Сообщить модератору
 Re: MDS 2012 - Сущность - Блокировать элементы от редактирования в зависимости от значения  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 34758
Блог
Для этого же предназначен функционал "версий"...
3 окт 14, 07:02    [16653908]     Ответить | Цитировать Сообщить модератору
 Re: MDS 2012 - Сущность - Блокировать элементы от редактирования в зависимости от значения  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8350
Подобный функционал реализуется клиентским приложением, т.к. противоречит модели хранения и обработки данных сервером.
3 окт 14, 11:00    [16654723]     Ответить | Цитировать Сообщить модератору
 Re: MDS 2012 - Сущность - Блокировать элементы от редактирования в зависимости от значения  [new]
Marchuk
Member

Откуда: Москва
Сообщений: 104
Владислав Колосов
Подобный функционал реализуется клиентским приложением, т.к. противоречит модели хранения и обработки данных сервером.

Я задаю вопрос про функционал MDS. (Master Data Services).
Ясно что накодить можно что удобно и на чем угодно.
3 окт 14, 12:22    [16655331]     Ответить | Цитировать Сообщить модератору
 Re: MDS 2012 - Сущность - Блокировать элементы от редактирования в зависимости от значения  [new]
Marchuk
Member

Откуда: Москва
Сообщений: 104
Критик
Для этого же предназначен функционал "версий"...

Версии не совсем удобны, т.к. необходимо переключаться между версиями для просмотра, а не все данные на одном экране.
3 окт 14, 12:24    [16655343]     Ответить | Цитировать Сообщить модератору
 Re: MDS 2012 - Сущность - Блокировать элементы от редактирования в зависимости от значения  [new]
Marchuk
Member

Откуда: Москва
Сообщений: 104
Exproment
Marchuk, еще можете забить на MDS и редактировать данные через плагины экселя. Там сможете любые ограничения настроить с минимальными знаниями.

что за плагины?
3 окт 14, 12:24    [16655351]     Ответить | Цитировать Сообщить модератору
 Re: MDS 2012 - Сущность - Блокировать элементы от редактирования в зависимости от значения  [new]
Marchuk
Member

Откуда: Москва
Сообщений: 104
Exproment
Разбейте на два справочника. Активные и завершенные. А при загрузке данных из MDS в бизнес слой выполняйте union all.

интересный вариант, надо подумать над реализацией.
3 окт 14, 12:25    [16655362]     Ответить | Цитировать Сообщить модератору
 Re: MDS 2012 - Сущность - Блокировать элементы от редактирования в зависимости от значения  [new]
Marchuk
Member

Откуда: Москва
Сообщений: 104
Владислав Колосов,

Я спрашиваю про вебку Master Data Services (MDS), а не SQL Server.
3 окт 14, 12:26    [16655368]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить