AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Функционал
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.10.2008, 13:12   #1  
Lates is offline
Lates
Участник
 
207 / 10 (1) +
Регистрация: 08.02.2007
Добрый день!

Есть желание разграничить доступ пользователей к двум отчетам - чтобы одни могли пользоваться только одним, а другие, соответственно, другим.
При помощи прав доступа сделать этого не удалось. Хотя может я чего не докопал...

Попробовал еще вариант - Выбор принтера. Хотел настроить печать отчета, к которому не должно быть доступа, на несуществующий принтер. Но в качестве принтера можно выбрать только существующий. Да и если в итоге все-таки настроить несуществующий, печать пойдет на принтер по умолчанию. Ну и еще - в конечном диалоге печати все равно можно изменить принтер.

В связи с вышеописанным - вопрос.
Может кто-нибудь решал такую проблему?

Заранее спасибо!
Старый 14.10.2008, 13:26   #2  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
из всех общих ролей удаляем строчку Репорт 0

делаем 3 роли:
1. все отчеты
2. отчет А
3. отчет Б

в первой перечисляем все объекты типа Репорт кроме А и Б
во второй только А
в третьей только Б

всем пользователям присваиваем роль 1, кому надо - 2, кому надо - 3.
се ту
Старый 14.10.2008, 13:29   #3  
prefreitor is offline
prefreitor
Участник
 
214 / 11 (1) +
Регистрация: 03.10.2006
В зависимости от того, что это за отчеты и какие таблицы они смотрят вижу два варианта:
1) Ограничить доступ на уровне таблиц (подойдет в ограниченном числе случаев, когда группы пользователей при работе используют доступ к разным таблицам)
2) Завести настроечную табличку, связанную по коду пользователя с User Setup в которой указывать разрешенные ID отчетов и написать проверочный код при запуске отчетов.
P.S
Пока писал сообщение, коллега уже предложил наиболее правильное решение вопроса ))
Старый 14.10.2008, 14:55   #4  
Lates is offline
Lates
Участник
 
207 / 10 (1) +
Регистрация: 08.02.2007
Цитата:
Сообщение от Sancho Посмотреть сообщение
из всех общих ролей удаляем строчку Репорт 0

делаем 3 роли:
1. все отчеты
2. отчет А
3. отчет Б

в первой перечисляем все объекты типа Репорт кроме А и Б
во второй только А
в третьей только Б

всем пользователям присваиваем роль 1, кому надо - 2, кому надо - 3.
се ту
Вообще примерно таким путем и шел... Только когда удалил у всех пользователей строчку Репорт 0, отчеты все равно запускались. Я решил, что что-то не работает.
А как перечислить все объекты типа репорт? Руками заманаешься... Импортом?
Старый 14.10.2008, 15:58   #5  
Lates is offline
Lates
Участник
 
207 / 10 (1) +
Регистрация: 08.02.2007
Попробовал еще раз - ничего не получается.
У ВСЕХ убрал строку Report 0 и одному добавил разрешение печатать отчет с номером ХХХ.
Зашел под ним - он спокойно видит и печатает другие отчеты. Nav4.0 SP3.

Про решение с настроечной таблицей согласен, можно.
Только хотелось с минимум (а лучше без) доработок
Старый 14.10.2008, 16:17   #6  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
Цитата:
Сообщение от Lates Посмотреть сообщение
У ВСЕХ убрал строку Report 0 и одному добавил разрешение печатать отчет с номером ХХХ.
Зашел под ним - он спокойно видит и печатает другие отчеты. Nav4.0 SP3.
значит не у всех
если разговор про 4-ку, то после любого изменения прав необходимо синхренизировать все логины (процедурка на полчасика)
Старый 14.10.2008, 17:44   #7  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от Sancho Посмотреть сообщение
значит не у всех
если разговор про 4-ку, то после любого изменения прав необходимо синхренизировать все логины (процедурка на полчасика)
Только на SQL
Старый 15.10.2008, 11:28   #8  
Lates is offline
Lates
Участник
 
207 / 10 (1) +
Регистрация: 08.02.2007
Не знаю.. Все проверил. Репорт 0 ни у кого (кроме супера), у нужного пользователя доступ у одному отчету.
Синхронизировали.
Не работает все равно. Видит все, запускает чего хочет.
Старый 15.10.2008, 12:35   #9  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
На чистом кронусе:
1. создал пользователя админ - "SUPER". (это на всякий случай)
2. создал пользователя юзер
3. пользователю юзер дал роль "ВСЕ"
4. в роле "ВСЕ" удалил строку report 0
5. в роле "ВСЕ" добавил право на запуск ObjectDesigner

Пользователь может зайти в базу, запустить обжект дизайнер, но не может запустить ни отчет 1, ни отчет 2.

6. в роль "ВСЕ" добавил строку report 1

Теперь пользователь может запустить отчет 1, но не может запустить отчет 2.

Про SQL ничего не скажу.

PS. Роль ВСЕОТЧЕТЫ, лучше создавать програмно, перебирая отчетом записи в таблице
AllObj (2000000038) отфильтровав ее по типу объекта = Report.

В триггере onAfterGetRecord написать:
Код:
//rPermission - record.Repmission (2000000005)
rPermision.INIT;
rPermision."Role ID":='ВСЕОТЧЕТЫ';
rPermision."Object Type":=rPermision."Object Type"::Report;
rPermision."Object ID":=AllObj."Object ID";
rPermision."Execute Permission":=rPermision."Execute Permission"::Yes;
IF rPermision.INSERT THEN;
Старый 15.10.2008, 13:28   #10  
Lates is offline
Lates
Участник
 
207 / 10 (1) +
Регистрация: 08.02.2007
Цитата:
Сообщение от apanko Посмотреть сообщение
5. в роли все добавил право на запуск ObjectDesigner
Как это право назначается, подскажите плз?
Старый 15.10.2008, 14:11   #11  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
Тип Объекта = Система, Объект ID = 5210
Старый 15.10.2008, 14:29   #12  
Lates is offline
Lates
Участник
 
207 / 10 (1) +
Регистрация: 08.02.2007
Цитата:
Сообщение от apanko Посмотреть сообщение
Тип Объекта = Система, Объект ID = 5210
Хм.. У меня такой настройки нигде в правах не было, но при этом дизайнер запускался у любого пользователя.
Старый 15.10.2008, 16:53   #13  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
все пользователи - хакеры
Старый 15.10.2008, 18:08   #14  
Lates is offline
Lates
Участник
 
207 / 10 (1) +
Регистрация: 08.02.2007
В итоге проблему решил настроив ограничение на таблицу Выбор Отчета.

Всем спасибо за помошь!
 


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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 10:13.