Вывод данных из другой таблицы при доработке отчета
Модераторы: m0p3e, edward_K, Модераторы
- 
				scanner
 - Постоянный обитатель
 - Сообщения: 192
 - Зарегистрирован: 29 мар 2005, 17:49
 - Откуда: Кемерово, ОАО "Мелькорм"
 - Контактная информация:
 
Sheinina при попытке сделать временную таблицу у меня ничего не выходит. Дело в том, что basedoc.nrec == attribut.crec не равно, значения разные. Сам выводил и смотрел. Да и еще у нас используются таблицы ATTRVAL и ATTRNAM - это почти тоже самое что ATTRCAT и ATTRIBUTE, типы полей одинаковые. Подскажите кто сможет через какую таблицу можно связать basedoc и attrval?
			
			
									
						
										
						- 
				Max_Fin
 - На пенсии
 - Сообщения: 797
 - Зарегистрирован: 29 мар 2005, 17:49
 - Откуда: г. Тюмень
 - Контактная информация:
 
если через логическую таблицу, то к примеру так
			
			
									
						
										
						Код: Выделить всё
.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
- 
				scanner
 - Постоянный обитатель
 - Сообщения: 192
 - Зарегистрирован: 29 мар 2005, 17:49
 - Откуда: Кемерово, ОАО "Мелькорм"
 - Контактная информация:
 
Опять таки проблеммка.
;
в fields
и при выводе пишу
Подскажите как сделать, чтоб переменной присваивалось значение. Данная схема связана с тем, что поле стоит в одной строке еще за другими полями, которые, в свою очередь, беруться из другой логической таблицы.
			
			
									
						
										
						Код: Выделить всё
.var
  DOVLIC:String
.endvarКод: Выделить всё
.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
Код: Выделить всё
DOVLICи при выводе пишу
Код: Выделить всё
.{table 't1' by attrnam.name;
.begin
  DOVLIC:=attrval.vstring;
end.
.}
@@@@@@@@@@- 
				scanner
 - Постоянный обитатель
 - Сообщения: 192
 - Зарегистрирован: 29 мар 2005, 17:49
 - Откуда: Кемерово, ОАО "Мелькорм"
 - Контактная информация:
 
Если сделать 
то тогда делаем
при выводится все по 2 раза, сначала для 'доверенное лицо', а затем для '№ доверенности'.
Может подскажите как этого избежать
			
			
									
						
										
						Код: Выделить всё
.{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 = '№ доверенности'))
;Может подскажите как этого избежать