Страница 2 из 2
					
				
				Добавлено: 13 май 2005, 08:32
				 scanner
				Sheinina при попытке сделать временную таблицу у меня ничего не выходит. Дело в том, что basedoc.nrec == attribut.crec не равно, значения разные. Сам выводил и смотрел. Да и еще у нас используются таблицы ATTRVAL и ATTRNAM - это почти тоже самое что ATTRCAT и ATTRIBUTE, типы полей одинаковые. Подскажите кто сможет через какую таблицу можно связать basedoc и attrval?
			 
			
					
				
				Добавлено: 13 май 2005, 08:57
				 scanner
				Все разобрался ATTRVAL.CREC == SPSTEP.NREC
			 
			
					
				
				Добавлено: 13 май 2005, 09:08
				 Max_Fin
				А кто говорил, что атрибуты привязаны к ДО?  

 
			 
			
					
				
				Добавлено: 13 май 2005, 09:13
				 scanner
				Да просто писали для нас форму 

, там как раз к ДО привязывалось. По аналогии смотрел. Осталось еще разобраться со вторым способом 

 
			 
			
					
				
				Добавлено: 13 май 2005, 09:27
				 scanner
				Возник еще один вопрос, как вывести только полу содержащее данные? У нас успользуются поля VSTRING и VDATE. Всего 3 атрибута, у первого VDATE, у остальных VSTRING
			 
			
					
				
				Добавлено: 13 май 2005, 09:56
				 Max_Fin
				если через логическую таблицу, то к примеру так
Код: Выделить всё
.fields
...
if (vMyTbl.AttrVal.vDate <> Date(0, 0, 0), vMyTbl.AttrVal.vDate, '') + ' ' + 
if (vMyTbl.AttrVal.vDouble <> Double(0), DoubleToStr(vMyTbl.AttrVal.vDouble, '666 666 666 666.88), '')
if (vMyTbl.AttrVal.vString <> '', vMyTbl.AttrVal.vString, 'Значение не определено')
...
.endfields
 
			 
			
					
				
				Добавлено: 13 май 2005, 11:38
				 scanner
				Спасибо все работает. Сделал через логическую таблицу.
			 
			
					
				
				Добавлено: 17 май 2005, 11:09
				 scanner
				Опять таки проблеммка.
Код: Выделить всё
.Create view t1 as select
attrval.*, stepdoc.*, attrnam.*, schfact.*
where ((
CSCHFACT == schfact.nrec and
schfact.cstepdoc == stepdoc.nrec and
stepdoc.nrec == spstep.cstepdoc and
spstep.nrec == attrval.crec and
ATTRNAM.NREC==ATTRVAL.CATTRNAM AND
1104==attrval.wtable)) and
(attrnam.name = 'доверенное лицо')
;
в fields 
и при выводе пишу
Код: Выделить всё
.{table 't1' by attrnam.name;
.begin
  DOVLIC:=attrval.vstring;
end.
.}
@@@@@@@@@@
Подскажите как сделать, чтоб переменной присваивалось значение. Данная схема связана с тем, что поле стоит в одной строке еще за другими полями, которые, в свою очередь, беруться из другой логической таблицы.
 
			 
			
					
				
				Добавлено: 17 май 2005, 11:53
				 scanner
				Если сделать 
Код: Выделить всё
.{table 't1' by attrnam.name; 
.begin 
  DOVLIC:=attrval.vstring; 
end. 
@@@@@@@@@@
.}
то тогда делаем
Код: Выделить всё
.Create view t1 as select 
attrval.*, stepdoc.*, attrnam.*, schfact.* 
where (( 
CSCHFACT == schfact.nrec and 
schfact.cstepdoc == stepdoc.nrec and 
stepdoc.nrec == spstep.cstepdoc and 
spstep.nrec == attrval.crec and 
ATTRNAM.NREC==ATTRVAL.CATTRNAM AND 
1104==attrval.wtable)) and 
((attrnam.name = 'доверенное лицо') or
(attrnam.name = '№ доверенности'))
;
при выводится все по 2 раза, сначала для 'доверенное лицо', а затем для '№ доверенности'.
Может подскажите как этого избежать
 
			 
			
					
				
				Добавлено: 17 май 2005, 12:34
				 oiko
				используй синоним attrnam и атррвал 
либо ограничь attrnam переменной
и в блоке begin end задавай ей значение
'доверенное лицо' or  '№ доверенности'