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

не могу программно выдать доступ

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Администрирование доступа
Предыдущая тема :: Следующая тема  
Автор Сообщение
vtar
Эксперт
Неподтвержденный


Вступление в Клуб: 20.03.2009
СообщениеВт Мар 13, 2018 15:48   не могу программно выдать доступ Ответить с цитатой
Полезность: Нет оценки
Всем привет!

На операцию "Изменить" которая запускается из родительского ТБП "Клиенты" пытаюсь выдать доступ пользователю в типе "Организации"
Код:

class_name := 'CLIENT';
         SECADMIN.SetClassRights(class_name,usr.[USERNAME], 0);
         select x(to_char(x.id)) in criteria%rowtype where x.[SHORT_NAME] =  'VW_CRIT_CLIENT' into obj_id;
         SECADMIN.SetCriteriaRights(class_name, obj_id,usr.[USERNAME]);
         select x(to_char(x.id)) in methods%rowtype where x.[CLASS_ID] = class_name and  x.[SHORT_NAME] =  'EDIT#AUTO'  into obj_id;
         SECADMIN.SetMethodRights(class_name, obj_id,usr.[USERNAME]);

class_name := 'CL_ORG';
         SECADMIN.SetClassRights(class_name,usr.[USERNAME], 0);
         select x(to_char(x.id)) in criteria%rowtype where x.[SHORT_NAME] =  'VW_CRIT_CL_ORG' into obj_id;
         SECADMIN.SetCriteriaRights(class_name, obj_id,usr.[USERNAME]);
         
         select x(to_char(x.id)) in methods%rowtype where x.[CLASS_ID] = class_name and  x.[SHORT_NAME] =  'EDIT#AUTO'  into obj_id;
         SECADMIN.SetMethodRights(class_name, obj_id,usr.[USERNAME]);


В навигаторе операция недоступна.

Операция "Добавить" ( которая NEW_AUTO) из дочернего ТБП таким методом становится доступна.

Кто может помочь ?
_________________
Нельзя всем дать всё: всех много, а всего мало
lexus
Профи
Межтопэнергобанк (вкл. Алемар)
Совладелец


Вступление в Клуб: 28.09.2007
СообщениеСр Мар 14, 2018 22:54    Ответить с цитатой
Полезность: Нет оценки
Мысли для проверки:
1. В CL_ORG есть своя EDIT#AUTO. Доступ даешь на нее, получается. Но, она, например, недоступна для вызова в Навигаторе.
2. Между CL_ORG и CLIENT есть еще CL_CORP. Может и в нем ее надо доступной сделать
3. Эта операция (именно эта, а не перекрывающая ее из дочерних типов) видна IBS'у в CL_ORG?
Alkov
Профи
Неподтвержденный


Вступление в Клуб: 23.09.2010
СообщениеЧт Мар 15, 2018 02:37    Ответить с цитатой
Полезность: Нет оценки
--SECADMIN.SetClassRights(class_name,usr.[USERNAME], 0);
а если тут без третьего параметра попробовать:
SECADMIN.SetClassRights(class_name,usr.[USERNAME]); ?
vtar
Эксперт
Неподтвержденный


Вступление в Клуб: 20.03.2009
СообщениеЧт Мар 15, 2018 09:47    Ответить с цитатой
Полезность: Нет оценки
lexus пишет:
Мысли для проверки:
1. В CL_ORG есть своя EDIT#AUTO. Доступ даешь на нее, получается. Но, она, например, недоступна для вызова в Навигаторе.
2. Между CL_ORG и CLIENT есть еще CL_CORP. Может и в нем ее надо доступной сделать
3. Эта операция (именно эта, а не перекрывающая ее из дочерних типов) видна IBS'у в CL_ORG?


в CORP нету, в ORG см. код вверху, раздал уже Smile
_________________
Нельзя всем дать всё: всех много, а всего мало
vtar
Эксперт
Неподтвержденный


Вступление в Клуб: 20.03.2009
СообщениеЧт Мар 15, 2018 09:49    Ответить с цитатой
Полезность: Нет оценки
Alkov пишет:
--SECADMIN.SetClassRights(class_name,usr.[USERNAME], 0);
а если тут без третьего параметра попробовать:
SECADMIN.SetClassRights(class_name,usr.[USERNAME]); ?


да пробовал и с параметром и без , все равно не работает

Причем самое смешное что когда заходишь в Админ доступа там операшка EDIT#AUTO отображается в CL_ORG как доступная пользаку , а в Навигаторе ее не видно Smile
_________________
Нельзя всем дать всё: всех много, а всего мало
lexus
Профи
Межтопэнергобанк (вкл. Алемар)
Совладелец


Вступление в Клуб: 28.09.2007
СообщениеЧт Мар 15, 2018 11:28    Ответить с цитатой
Полезность: Нет оценки
А может во вьюхе включен ограниченный список операций? Там же в свойствах вьюхи можно выбрать, чтобы не все операции отображались...
vtar
Эксперт
Неподтвержденный


Вступление в Клуб: 20.03.2009
СообщениеЧт Мар 15, 2018 11:38    Ответить с цитатой
Полезность: Нет оценки
lexus пишет:
А может во вьюхе включен ограниченный список операций? Там же в свойствах вьюхи можно выбрать, чтобы не все операции отображались...


тоже смотрел, там они доступны
_________________
Нельзя всем дать всё: всех много, а всего мало
Эмиралька
Профи
Неподтвержденный


Вступление в Клуб: 09.11.2015
СообщениеЧт Мар 15, 2018 14:13    Ответить с цитатой
Полезность: Нет оценки
vtar пишет:
lexus пишет:
А может во вьюхе включен ограниченный список операций? Там же в свойствах вьюхи можно выбрать, чтобы не все операции отображались...


тоже смотрел, там они доступны


С лицензией не может быть связано?
lexus
Профи
Межтопэнергобанк (вкл. Алемар)
Совладелец


Вступление в Клуб: 28.09.2007
СообщениеЧт Мар 15, 2018 15:01    Ответить с цитатой
Полезность: Нет оценки
Проверь на другой операции в другом типе таким кодом получится доступ дать или нет. Чтобы понять - проблема в системе доступа или в операциях этого типа.
vtar
Эксперт
Неподтвержденный


Вступление в Клуб: 20.03.2009
СообщениеЧт Мар 15, 2018 15:39    Ответить с цитатой
Полезность: Нет оценки
lexus пишет:
Проверь на другой операции в другом типе таким кодом получится доступ дать или нет. Чтобы понять - проблема в системе доступа или в операциях этого типа.


выше писал - для другой, родной операции в том же типе (которая без перекрытия) у меня получилось выдать.
_________________
Нельзя всем дать всё: всех много, а всего мало
vtar
Эксперт
Неподтвержденный


Вступление в Клуб: 20.03.2009
СообщениеЧт Мар 15, 2018 15:40    Ответить с цитатой
Полезность: Нет оценки
Эмиралька пишет:
vtar пишет:
lexus пишет:
А может во вьюхе включен ограниченный список операций? Там же в свойствах вьюхи можно выбрать, чтобы не все операции отображались...


тоже смотрел, там они доступны


С лицензией не может быть связано?


тогда бы IBS наверно тоже не имел доступа, не ?
_________________
Нельзя всем дать всё: всех много, а всего мало
lexus
Профи
Межтопэнергобанк (вкл. Алемар)
Совладелец


Вступление в Клуб: 28.09.2007
СообщениеЧт Мар 15, 2018 15:51    Ответить с цитатой
Полезность: 3
vtar пишет:
lexus пишет:
Проверь на другой операции в другом типе таким кодом получится доступ дать или нет. Чтобы понять - проблема в системе доступа или в операциях этого типа.


выше писал - для другой, родной операции в том же типе (которая без перекрытия) у меня получилось выдать.


Кстати да, получается проблема в том, что перекрыта операция...
Судя по коду - сначала берешь класс CLIENT, операцию EDIT#AUTO из этого класса и даешь доступ к этой операции в том же классе CLIENT.

А дальше берешь CL_ORG, операцию EDIT#AUTO из этого класса и даешь доступ к ней, а не к операции из родителя, в том же типе CL_ORG.

Но, ведь надо взять операцию из CLIENT и дать к ней доступ в CL_ORG ?
vtar
Эксперт
Неподтвержденный


Вступление в Клуб: 20.03.2009
СообщениеЧт Мар 15, 2018 16:09    Ответить с цитатой
Полезность: Нет оценки
lexus пишет:
Но, ведь надо взять операцию из CLIENT и дать к ней доступ в CL_ORG ?


Ура !!! Заработало!

респект и уважуха.
_________________
Нельзя всем дать всё: всех много, а всего мало
Эмиралька
Профи
Неподтвержденный


Вступление в Клуб: 09.11.2015
СообщениеПт Мар 16, 2018 06:06    Ответить с цитатой
Полезность: Нет оценки
vtar пишет:
lexus пишет:
Но, ведь надо взять операцию из CLIENT и дать к ней доступ в CL_ORG ?


Ура !!! Заработало!

респект и уважуха.

Очень рада, что у вас всё заработало Smile
lexus, ваш совет замечательный!
Постараюсь запомнить.
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Администрирование доступа Часовой пояс: GMT + 3
Страница 1 из 1

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