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