Текущее время: Сб, июл 19 2025, 19:43

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 21 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Определить программно роль пользователя
СообщениеДобавлено: Вт, июл 30 2013, 14:03 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 351
Можно и так.
Можно создать/найти объект полномочий с полями БЕ и вид_документа, и потом использовать что-то вроде:
Code:
PARAMETERS: field TYPE тип MODIF ID ля-ля-ля.

  LOOP AT SCREEN.
    IF screen-group1 = 'ля-ля-ля'.
      AUTHORITY-CHECK OBJECT 'Объект' ID 'БЕ' FIELD бе ID 'вид_документа' FIELD вид_документа.
      IF sy-subrc <> 0.
        screen-active = '0'.     " невидим
        MODIFY SCREEN.
      ENDIF.
    ENDIF.
  ENDLOOP.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определить программно роль пользователя
СообщениеДобавлено: Вт, июл 30 2013, 14:11 
Начинающий
Начинающий

Зарегистрирован:
Ср, окт 07 2009, 14:33
Сообщения: 19
me написал:
В программе читаю роль пользователя, БЕ и вид документа из таблицы и в зависимости от этого ставлю видно/не видно.

Как реализуем это же с собственным объектом полномочий?

Это вполне себе ложится на свой объект полномочий с полями:
-Активность Просмотр/Изменение
-Имя поля на экране
-БЕ
-Вид документа

Объект добавить каждую из трех ролей, с соответствующими значениями. И проверять перед выводом на экран.
Не намного сложнее чем настроечная Z-таблица, на мой взгляд.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определить программно роль пользователя
СообщениеДобавлено: Вт, июл 30 2013, 14:17 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, авг 18 2004, 11:47
Сообщения: 406
Пол: Мужской
Если брать видимость по полям, придется для каждого поля отдельный объект полномочий делать, либо в объект полномочий поле "Имя поля на экране" добавлять, после чего добавлять видимость по каждому полю/БЕ/Виду документа в роль.
В стандарте настройки видимости полей находятся в SPRO, цитируя уважаемого Удав-а "Есть стандартный подход".

_________________
En Taro Tassadar


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определить программно роль пользователя
СообщениеДобавлено: Вт, июл 30 2013, 14:55 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 351
Так речь о собственной разработке или о расширении стандарта?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определить программно роль пользователя
СообщениеДобавлено: Вт, июл 30 2013, 22:16 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
me написал:
Ок, коллеги, чтоб не быть голословным, мое решение:
У пользователей есть 3 роли: Исполнитель, Зам, Начальник. При создании документа указываются БЕ и Вид документа.
Делаем Z-таблицу, где определяю зависимость видимости поля от БЕ, Вида документа и роли.
В программе читаю роль пользователя, БЕ и вид документа из таблицы и в зависимости от этого ставлю видно/не видно.

Как реализуем это же с собственным объектом полномочий?


1.Вместо БЕ, вида документа и имени роли в настроечной таблице 1 указываем поле "Ключ полномочий".
2.Делаем настроечную таблицу 2 с полями БЕ, вид документа, Ключ полномочий.
3.На основе ЭД для поля "Ключ полномочий" делаем поле авторизации.
4.Создаем объект полномочий с полями Операция(ACTVT), Ключ полномочий.(при условии, что проверка на БЕ осуществляется с помощью другого объекта полномочий. Иначе добавляем в объект полномочий БЕ)
5. Для определения нужного ключа полномочий делаем выборку из таблицы 2, каждую запись проверяем с помощью AUTHORITY-CHECK.
6. По первой успешной проверке выбираем ключ полномочий.

Вместо п.п.5 и 6 можно воспользоваться ФМ SUSR_USER_AUTH_FOR_OBJ_GET

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определить программно роль пользователя
СообщениеДобавлено: Ср, июл 31 2013, 04:34 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, авг 18 2004, 11:47
Сообщения: 406
Пол: Мужской
Удав написал(а):
1.Вместо БЕ, вида документа и имени роли в настроечной таблице 1 указываем поле "Ключ полномочий".
2.Делаем настроечную таблицу 2 с полями БЕ, вид документа, Ключ полномочий.
3.На основе ЭД для поля "Ключ полномочий" делаем поле авторизации.
4.Создаем объект полномочий с полями Операция(ACTVT), Ключ полномочий.(при условии, что проверка на БЕ осуществляется с помощью другого объекта полномочий. Иначе добавляем в объект полномочий БЕ)
5. Для определения нужного ключа полномочий делаем выборку из таблицы 2, каждую запись проверяем с помощью AUTHORITY-CHECK.
6. По первой успешной проверке выбираем ключ полномочий.

Вместо п.п.5 и 6 можно воспользоваться ФМ SUSR_USER_AUTH_FOR_OBJ_GET


Согласен.
Утром тоже подумал про ключ полномочий.

_________________
En Taro Tassadar


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 21 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB