Страница 1 из 1
					
				Protect-NoProtect
				Добавлено: 31 авг 2007, 15:32
				 Гаврилюк Марина
				Есть ли возможность блокировать изменение, добавление записей (функцией protect) стандартного каталога, например CURSVAL? 
Не в Protecte! Права на таблицы и т.д...это знакомо... а в vip-е?
			 
			
					
				
				Добавлено: 31 авг 2007, 15:35
				 Nikos
				Наверное, можно написать тригер на изменение по какому-то условию, а интерфейсом это условие менять.
			 
			
					
				
				Добавлено: 03 сен 2007, 12:14
				 Гаврилюк Марина
				Если можно хоть какой-нибудь пример...
Мой вариант (не работает):
const
#include Tunes.inc
end;
.form tuneusers 
.ard 
.table blank 
.var 
li1: boolean;
.endvar 
.begin 
li1:=boGetTuneEx('RGHTBL.NOUPDATE.KLVAL',0,0065000000000017h);
end. 
if li1=true;
{
   ProtectRecord(#CURSVAL, true); 
   ProtectRecord(#KLVAL, true); 
}
 else
{
  NoProtectRecord(#CURSVAL, true);
  NoProtectRecord(#KLVAL, true);  
}
.endform
			 
			
					
				
				Добавлено: 03 сен 2007, 12:53
				 Nikos
				Примера, к сожалению, нет - только теория. Пока с такой необходимостью не сталкивались.
			 
			
					
				
				Добавлено: 03 сен 2007, 14:12
				 Den
				Может это все таки функция не работает в фком. Попробуйте то же самое написать на vip и собрать. Protectrecord точно используется в исходниках интерфейсов.
			 
			
					
				
				Добавлено: 03 сен 2007, 17:42
				 Гаврилюк Марина
				Я добавила настройку, а вышеуказанный ( вообще-то он часть vip-a)ard компил-ся без проблем, но блокировка таблиц не происходит.
			 
			
					
				
				Добавлено: 03 сен 2007, 17:47
				 Гаврилюк Марина
				Может есть у кого перечень стандартных интерфейсов ?
			 
			
					
				
				Добавлено: 03 сен 2007, 20:02
				 Den
				Правильно так, но так он у Вас ошибку при компиляции валить будет. 
const 
#include Tunes.inc 
end; 
.form tuneusers 
.ard 
.table blank 
.var 
li1: boolean; 
.endvar 
.begin 
li1:=boGetTuneEx('RGHTBL.NOUPDATE.KLVAL',0,0065000000000017h); 
//end. 
if li1=true; 
{ 
ProtectRecord(#CURSVAL, true); 
ProtectRecord(#KLVAL, true); 
} 
else 
{ 
NoProtectRecord(#CURSVAL, true); 
NoProtectRecord(#KLVAL, true); 
} 
end.
.endform
Пиши на .vip этот тестовый пример и все будет ок. Компилятор форм не знает "кто такой" protectrecord