| 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 | 
		 | 
	
	
		  | 
	
	
		 |