View previous topic :: View next topic |
Author |
Message |
Slava111
Joined: 09 Aug 2007 Posts: 3
|
Posted: 09 Aug 2007 05:11 Post subject: Права доступа |
|
|
БЭСТ 5/3.3/8
Добрый день!
Подскажите. Как ограничить права доступа пользователей к отдельным отчета |
|
Back to top |
|
|
dshlykov
Joined: 02 Aug 2005 Posts: 172 Location: Дмитрий Шлыков Occupation: Компания "БЭСТ" Interests: Москва
|
Posted: 09 Aug 2007 08:50 Post subject: |
|
|
Добрый день!
1. Самое простое ввести пароль на отчет: пункт меню "Файл - Параметры отчета" и установить галочку у параметра "Защита паролем". После выхода из окна Вам необходимо будет ввести пароль доступа к отчету. После этого перед любым обращением к отчету, будет запрашиватся пароль.
2. Контроль доступа можно сделать с помощью функций USER(), которая возвращает код или наименование пользователя, работающего в системе. Перед загрузкой отчета можно проанализировать права доступа и запретить выполнения отчета. При необходимости могу расписать данный пункт подробнее. _________________ С уважением, Дмитрий Шлыков
Компания "БЭСТ" |
|
Back to top |
|
|
Slava111
Joined: 09 Aug 2007 Posts: 3
|
Posted: 10 Aug 2007 02:28 Post subject: |
|
|
Если не затруднит, можно второй пункт поподробн |
|
Back to top |
|
|
dshlykov
Joined: 02 Aug 2005 Posts: 172 Location: Дмитрий Шлыков Occupation: Компания "БЭСТ" Interests: Москва
|
Posted: 10 Aug 2007 10:42 Post subject: |
|
|
Добрый день!
Slava111 wrote: | Если не затруднит, можно второй пункт поподробнее | В FR есть функция User(), она выдает следующие значения:
USER('CODE') - код пользователя, который работает с БЭСТ-5
USER('NAME') - имя пользователя, который работает с БЭСТ-5 При загрузке отчета, в событии OnActive карточки запроса, Вы проверяете имееет ли этот пользователь право на работу с отчетом. Если нет, то вы имееете возможность Выдать об этом сообщение (функция MESSAGEBOX()) и остановить выполнение отчета (функция STOPREPORT). Последняя функция отрабатывает только после карточки запроса. Если такое не подходит, обычно выводим все карточку запроса, на которой все объекты кроме кнопки "Отмена" за блокированы. _________________ С уважением, Дмитрий Шлыков
Компания "БЭСТ" |
|
Back to top |
|
|
Slava111
Joined: 09 Aug 2007 Posts: 3
|
Posted: 13 Aug 2007 04:34 Post subject: |
|
|
А можно на примере, например на отчете кассовая книга. |
|
Back to top |
|
|
dshlykov
Joined: 02 Aug 2005 Posts: 172 Location: Дмитрий Шлыков Occupation: Компания "БЭСТ" Interests: Москва
|
Posted: 13 Aug 2007 09:14 Post subject: |
|
|
Добрый день!
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 //закрыть доступ к кнопке Выполнить _________________ С уважением, Дмитрий Шлыков
Компания "БЭСТ" |
|
Back to top |
|
|
|