CftClub.ru
Клуб специалистов ЦФТ-Банк

Как бы запретить изменение справочника по условию?

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle
Предыдущая тема :: Следующая тема  
Автор Сообщение
bvo
Участник со стажем


Вступление в Клуб: 06.12.2011
СообщениеЧт Мар 15, 2012 09:35   Как бы запретить изменение справочника по условию? Ответить с цитатой
Полезность: Нет оценки
Наверное это все-таки вопрос по PL-PLUS.

Нужно каким-то образом запретить редактирование склонений[DECLENSION] для справочника должностей определенным пользователям. Доступом это сделать нельзя, т.к. тогда они не смогут редактировать все склонения и у клиентов, в том числе.

Вопрос заключается в том - можно ли каким-то образом определить, из какого предыдущего представления было вызвано данное представление по типу DECLENSION?

Тогда можно будет произвести анализ и в случае, если у данного пользователя нет прав на операцию Изменить в справочнике Должности, не пускать его в операцию изменить в типе DEСLENSION. А если вызвано из другого типа, то разрешать ее?
yaffil
Профи


Вступление в Клуб: 18.08.2011
СообщениеЧт Мар 15, 2012 09:43    Ответить с цитатой
Полезность: Нет оценки
Думаю проще на операцию "Изменить"/"Удалить" повесить проверку по группе доступа.
Через расширение этих операций или копировании их.

P.S. Да и вообще можно группами доступа разделить, надо только под эти операции выделить отдельную группу и не включать туда ненужных пользователей.
bvo
Участник со стажем


Вступление в Клуб: 06.12.2011
СообщениеЧт Мар 15, 2012 10:25    Ответить с цитатой
Полезность: Нет оценки
Так дело в том, у одного и того же юзера операцию Изменить в типе [DECLENSION] должна быть доступна, если он сюда вошел из клиента и не доступна, если он вошел из Должности.

Разве Группа доступа тут поможет? Тип-то к сожалению один.
yaffil
Профи


Вступление в Клуб: 18.08.2011
СообщениеЧт Мар 15, 2012 10:35    Ответить с цитатой
Полезность: Нет оценки
Ну тогда только через расширение.
Если вас интересуют только банковские должности, то можно привязаться к юзерам, т.е. если клиент входит в пользователей, то без определённой роли, запретить ему редактирование.
Таким образом вы сможете разграничить редактирование сотрудников и клиентов.
Random
Эксперт


Вступление в Клуб: 27.06.2011
СообщениеЧт Мар 15, 2012 10:36   Re: Как бы запретить изменение справочника по условию? Ответить с цитатой
Полезность: Нет оценки
bvo пишет:
Наверное это все-таки вопрос по PL-PLUS.

Нужно каким-то образом запретить редактирование склонений[DECLENSION] для справочника должностей определенным пользователям. Доступом это сделать нельзя, т.к. тогда они не смогут редактировать все склонения и у клиентов, в том числе.

Вопрос заключается в том - можно ли каким-то образом определить, из какого предыдущего представления было вызвано данное представление по типу DECLENSION?

Тогда можно будет произвести анализ и в случае, если у данного пользователя нет прав на операцию Изменить в справочнике Должности, не пускать его в операцию изменить в типе DEСLENSION. А если вызвано из другого типа, то разрешать ее?


Если вопрос только по редактированию, то есть два решения:
1) создать отдельную для этой группы пользователей операцию редактирования, в теле прописать проверку принадлежности записи по collection_id к таблицам CASTA или CLIENT.

Например:
Код:
for(select t(1) in ::[CASTA] all where t.[DECL_CAST] = this%collection) loop
   pragma error('Приносим свои извинения. Вам запрещено редактировать склонения должностей');
end loop;


2) То же самое организовать в триггере, хотя это наверное, более сложный путь
bvo
Участник со стажем


Вступление в Клуб: 06.12.2011
СообщениеЧт Мар 15, 2012 11:48    Ответить с цитатой
Полезность: Нет оценки
Спасибо, понятно.
Придется делать проверку на наличие в справочнике должностей.
Вопрос был только в этом,
а то пользователи портят этот справочник Sad
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru