07.06.2012, 06:15 | #1 |
Участник
|
Здравствуйте!
Подскажите, как программно определить под какой ролью зашел пользователь. Хочу попробывать на основании роли, выводить на форму только те поля которые указаны. |
|
07.06.2012, 16:02 | #2 |
Участник
|
Цитата:
Тут есть очень хорошая шпаргалка, там и про программирование и про виртуальные таблицы есть. |
|
08.06.2012, 07:09 | #3 |
Участник
|
Цитата:
Сообщение от Constantine
Попробуйте поиграться с виртуальными таблицами. Вам могут помочь таблицы 2000000053 или 2000000003, по крайней мере в предыдущих версиях Нава это работает. Тут есть очень хорошая шпаргалка, там и про программирование и про виртуальные таблицы есть. На данный момент у меня это получилось с помощью довавление гловальной переменной variant (boolean). И проставление ее в свойтва необходимых полей. А права я разграничила с помощью UserID. OnOpenPage() user:=USERID; If user = 'admin' THEN variable:=false; Подскажите, правильный ли я выбрала способ разграничения прав? Таким образом, мне придется для каждой Page писать код, и при том еще накладывать условия на USERID, т.е. блоков If user... будет столько сколько пользователей. |
|
08.06.2012, 10:27 | #4 |
Участник
|
Не знаком с 2009, но для классического у нас заведены спец таблички: справочник действий (например, отображение поля) и справочник пользователей с наделенными действиями. Дальше на опен форм для каждого контрола смотрится есть ли во второй табличке у него права на отображения, если есть показываем, нет скрываем. Это позволяет играться только настройками, у вас же придется лазить в код при добавлении нового юзверя.
|
|
08.06.2012, 10:35 | #5 |
Участник
|
|
|
08.06.2012, 11:29 | #6 |
Участник
|
Цитата:
Сообщение от InTacto
Не знаком с 2009, но для классического у нас заведены спец таблички: справочник действий (например, отображение поля) и справочник пользователей с наделенными действиями. Дальше на опен форм для каждого контрола смотрится есть ли во второй табличке у него права на отображения, если есть показываем, нет скрываем. Это позволяет играться только настройками, у вас же придется лазить в код при добавлении нового юзверя.
|
|
08.06.2012, 11:48 | #7 |
Участник
|
думаю User Setup не пойдет, потому как для одного пользователя можно задать несколько действий (отношение один ко многим).
Ушло 4 таблички: действия, группы действий(объединение действий, например по отделам), действия для пользовтеля, группы действий для пользователя + 4 формы + кодеюнит с ф-циями поиска (передаем юзерайди и действие, назад тру или фэлсе). Используется повсеместно: разрешение на валидацию полей, пункты меню, мигание контролов, доступ к меню (было сделано еще для 3.6 кажется). По коду всего лишь нужно прописать переменную кодеюнита и вызвать ф-цию с параметрами, а дальше использовать полученный результат, главное заранее все продумать, чтобы в код лазить не пришлось. |
|