Права доступа
Select messages from
# through # FAQ
[/[Print]\]

-> Программирование отчетов в БЭСТ-5

#1: Права доступа Author: Slava111 PostPosted: 09 Aug 2007 05:11
    —
БЭСТ 5/3.3/8
Добрый день!
Подскажите. Как ограничить права доступа пользователей к отдельным отчета

#2:  Author: dshlykovLocation: Дмитрий Шлыков PostPosted: 09 Aug 2007 08:50
    —
Добрый день!
1. Самое простое ввести пароль на отчет: пункт меню "Файл - Параметры отчета" и установить галочку у параметра "Защита паролем". После выхода из окна Вам необходимо будет ввести пароль доступа к отчету. После этого перед любым обращением к отчету, будет запрашиватся пароль.
2. Контроль доступа можно сделать с помощью функций USER(), которая возвращает код или наименование пользователя, работающего в системе. Перед загрузкой отчета можно проанализировать права доступа и запретить выполнения отчета. При необходимости могу расписать данный пункт подробнее.

#3:  Author: Slava111 PostPosted: 10 Aug 2007 02:28
    —
Если не затруднит, можно второй пункт поподробн

#4:  Author: dshlykovLocation: Дмитрий Шлыков PostPosted: 10 Aug 2007 10:42
    —
Добрый день!
Slava111 wrote:
Если не затруднит, можно второй пункт поподробнее
В FR есть функция User(), она выдает следующие значения:
    USER('CODE') - код пользователя, который работает с БЭСТ-5
    USER('NAME') - имя пользователя, который работает с БЭСТ-5
При загрузке отчета, в событии OnActive карточки запроса, Вы проверяете имееет ли этот пользователь право на работу с отчетом. Если нет, то вы имееете возможность Выдать об этом сообщение (функция MESSAGEBOX()) и остановить выполнение отчета (функция STOPREPORT). Последняя функция отрабатывает только после карточки запроса. Если такое не подходит, обычно выводим все карточку запроса, на которой все объекты кроме кнопки "Отмена" за блокированы.

#5:  Author: Slava111 PostPosted: 13 Aug 2007 04:34
    —
А можно на примере, например на отчете кассовая книга.

#6:  Author: dshlykovLocation: Дмитрий Шлыков PostPosted: 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 //закрыть доступ к кнопке Выполнить



-> Программирование отчетов в БЭСТ-5


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Page 1 of 1

Powered by phpBB © 2001, 2005 phpBB Group