#1: Права доступа Author: Slava111, Posted: 09 Aug 2007 05:11 БЭСТ 5/3.3/8
Добрый день!
Подскажите. Как ограничить права доступа пользователей к отдельным отчета
#2: Author: dshlykov, Location: Дмитрий ШлыковPosted: 09 Aug 2007 08:50 Добрый день!
1. Самое простое ввести пароль на отчет: пункт меню "Файл - Параметры отчета" и установить галочку у параметра "Защита паролем". После выхода из окна Вам необходимо будет ввести пароль доступа к отчету. После этого перед любым обращением к отчету, будет запрашиватся пароль.
2. Контроль доступа можно сделать с помощью функций USER(), которая возвращает код или наименование пользователя, работающего в системе. Перед загрузкой отчета можно проанализировать права доступа и запретить выполнения отчета. При необходимости могу расписать данный пункт подробнее.
#3: Author: Slava111, Posted: 10 Aug 2007 02:28 Если не затруднит, можно второй пункт поподробн
#4: Author: dshlykov, Location: Дмитрий ШлыковPosted: 10 Aug 2007 10:42 Добрый день!
Slava111 wrote:
Если не затруднит, можно второй пункт поподробнее
В FR есть функция User(), она выдает следующие значения:
USER('CODE') - код пользователя, который работает с БЭСТ-5
USER('NAME') - имя пользователя, который работает с БЭСТ-5
При загрузке отчета, в событии OnActive карточки запроса, Вы проверяете имееет ли этот пользователь право на работу с отчетом. Если нет, то вы имееете возможность Выдать об этом сообщение (функция MESSAGEBOX()) и остановить выполнение отчета (функция STOPREPORT). Последняя функция отрабатывает только после карточки запроса. Если такое не подходит, обычно выводим все карточку запроса, на которой все объекты кроме кнопки "Отмена" за блокированы.
#5: Author: Slava111, Posted: 13 Aug 2007 04:34 А можно на примере, например на отчете кассовая книга.
#6: Author: dshlykov, Location: Дмитрий ШлыковPosted: 13 Aug 2007 09:14 Добрый день!
Slava111 wrote:
А можно на примере, например на отчете кассовая книга.
Расказываю на примере отчета кассовая книга:
1. Открываете дизайнер отчетов и в нем открываете указанный Вами отчет.
2. С помощью пункта меню "Сохранить-Сохранить Как" сохраняете этот отчет по новым именем (так как поставочные отчеты пользователь не имеет права корректоровать).
3. В новом отчете находите карточку запроса (в данном случае она находится на стр.1) и щелкаете дважы мышкой в любом месте на этой карточке, где нет объектов или входите событие OnActive карточки запрсоса через инспектор свойств (клавиша F11).
4. В данном событии пишете следующий код:
IF [USER('CODE')='amdin'] OR [USER('CODE')='0000001'](....) Then lUser=True // есть права на обращение к отчету
Else lUser=False; // нет прав на обращение к отчету
5. Затем если прав нет закрываем доступ ко всем обьектам карточки запроса, кроме кнопки отмена. Для этого далее пишем следующий код:
name_B.Enabled := lUser //закрыть доступ к параметру наименование
spr_sch.Enabled := lUser //закрыть доступ к параметру счет
...
Button1.Enabled := lUser //закрыть доступ к кнопке Выполнить