| 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: |   |  
				| 
 |  
				| Добрый день! 
 В FR есть функция User(), она выдает следующие значения: 	  | Slava111 wrote: |  	  | Если не затруднит, можно второй пункт поподробнее | 
 
 USER('CODE') - код пользователя, который работает с БЭСТ-5
При загрузке отчета, в событии OnActive карточки запроса, Вы проверяете имееет ли этот пользователь право на работу с отчетом. Если нет, то вы имееете возможность Выдать об этом сообщение (функция MESSAGEBOX()) и остановить выполнение отчета (функция STOPREPORT). Последняя функция отрабатывает только после карточки запроса. Если такое не подходит, обычно выводим все карточку запроса, на которой все объекты кроме кнопки "Отмена" за блокированы.USER('NAME') - имя пользователя, который работает с БЭСТ-5
 _________________
 С уважением, Дмитрий Шлыков
 Компания "БЭСТ"
 |  | 
	
		| 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 // есть права на обращение к отчету
5. Затем если прав нет закрываем доступ ко всем обьектам карточки запроса, кроме кнопки отмена. Для этого далее пишем следующий код:Else lUser=False; // нет прав на обращение к отчету
 
 name_B.Enabled := lUser   //закрыть доступ к параметру наименование
spr_sch.Enabled := lUser   //закрыть доступ к параметру счет
 ...
 Button1.Enabled := lUser   //закрыть доступ к кнопке Выполнить
 _________________
 С уважением, Дмитрий Шлыков
 Компания "БЭСТ"
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		|  |