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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Yandex [Bot]


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

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