Необходимо получить отчет в котором содержатся следующие данные:
1.	Наименование контрагента (заказчика).
2.	Количество отработанного на него времени. 
3.	Пробег автомобилей
4.	Перепробег
5.	Сумма за часы и перепробег
6.	Итоговые суммы по контрагенту (форма в приложении).
Для реализации данного отчета был написан ARD отчет , содержащий два запроса :
.Create view t2 as select spzakaz.*,tarifn.*,tarifav.*
where ((spzakaz.ckatusl/==katusl.nrec))and t2.spzakaz.ckatzak=nkatzak
      and  katusl.name='за перепробег';
.Create view R1 as SELECT   putlst.npl,katusl.name,katzak.nrec,spzakaz.kol,spzakaz.sumusl,katorg.name
where((katzak.cputlst/==putlst.nrec and spzakaz.ckatzak/==katzak.nrec
and katzak.corg/==katorg.nrec and spzakaz.ckatusl/==katusl.nrec))
and  katusl.name='За часы'
order by katorg.name;  
В запросе R1 выбираются все путевые листы 
 Для каждого путевого листа существует запись в каталоге заказов (katzak) , которые ссылаются на путевой лист через поле Katzak.cputlst. На каждый заказ ссылаются спецификации заказов (таблица SpZakaz) где собственно и храниться сколько и чего было проделано по данному путевому листу (связь с Katzak через поле SpKatzak.Ckatzak).
В поле SPKATZAK. CKATUSL  храниться ссылка на каталог услуг ,                      SPKATZAK. SUMUSL  сумма за услуги , SPKATZAK . KOL  количество этих услуг.
Поле KATZAK. CORG ссылается на контрагента чей это заказ .
	Запрос R1  выбирает путевые листы у которых в спецификации заказа стоит услуга «За часы» (данная услуга есть у каждого путевого листа , различается лишь количество и стоимость).
	Запрос Т2 выбирает для того же путевого из спецификаций те строки , где в качестве услуги стоит «за перепробег». Для этого в блоке № 1  переменной Nkatzak присваивается значение номера записи в каталоге Katzak (заказа ссылающегося на данный путевой) и по нему выбирается , если есть , значения за перепробег. 
.
ard
.var
nkatzak:comp;
.endvar
.create view t2 as select spzakaz.*,tarifn.*,tarifav.*
where ((spzakaz.ckatusl/==katusl.nrec))and t2.spzakaz.ckatzak=nkatzak
      and  katusl.name='за перепробег';
.create view R1 as SELECT   putlst.npl,katusl.name,katzak.nrec,spzakaz.kol,spzakaz.sumusl,katorg.name
where((katzak.cputlst/==putlst.nrec and spzakaz.ckatzak/==katzak.nrec
and katzak.corg/==katorg.nrec and spzakaz.ckatusl/==katusl.nrec))
and  katusl.name='За часы'
order by katorg.name;
.{table R1
.begin
nkatzak:=r1.katzak.nrec;
end.
.{table t2
.}
.fields
R1.putlst.npl
R1.katusl.name
R1.spzakaz.kol
R1.spzakaz.sumusl
T2.katusl.name
T2.spzakaz.kol
T2.spzakaz.sumusl
R1.katorg.name
.endfields
@@@@@@@@@@@@@ @@@@@@@@@@@@@@@ @@@@@@@ @@@@@@@@ @@@@@@@@@@@@@@@ @@@@@@@ @@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@
.}
.endform   
Данная конструкция работает без нареканий , достаточно быстро и без ошибок. 
№ Пут.л.   Услуга         Кол     Стоимость Услуга         Кол     Стоимость Контрагент
098758        За часы         16      2409     за перепробег   260     83        АППАРАТ УПРАВЛЕНИЯ ООО ОГП   
098774        За часы         22      3404                                                       ОГПЗ                         
098778        За часы         22      3312                                                       ОГПЗ                         
098775        За часы         22      3312                                                       ОГПЗ                         
098740        За часы         22      2925                                                       ОГПЗ                         
098777        За часы         16      2476     за перепробег   320     334      ОГПЗ                         
098773        За часы         16      2409     за перепробег   240     0          ОГПЗ                         
098771        За часы         16      2409                                                       ОГПЗ                         
098780        За часы         22      3191     за перепробег   350     78        ОГПЗ                         
098772        За часы         22      3404                                                      ОГПЗ                         
098779        За часы         22      3404                                                      ОГПЗ                         
098754        За часы         14      2089     за перепробег   320     426      ОГПУ                         
098746        За часы         14      2031     за перепробег   262     203      ОГПУ                         
098753        За часы         14      2089     за перепробег   325     445      ОГПУ                         
098748        За часы         14      2089     за перепробег   530     1238     ОГПУ                         
098747        За часы         14      2089     за перепробег   390     697      ОГПУ                         
098751        За часы         14      2089                                                       ОГПУ                         
103450        За часы         14      2032                                                      ОГПУ                         
098750        За часы         14      2014     за перепробег   246     168      ОГПУ                         
103470        За часы         22      3312                                                      ОГПУ                         
098749        За часы         14      2089     за перепробег   300     348      ОГПУ                         
098757        За часы         14      2166     за перепробег   260     209      ОГПУ                         
098743        За часы         12      1807                                                      ОГПУ                         
098752        За часы         14      2089     за перепробег   280     271      ОГПУ                         
098755        За часы         14      2089     за перепробег   262     201      ОГПУ                         
098756        За часы         14      2089     за перепробег   216     23        ОГПУ                         
098759        За часы         16      2476                                                      ОГПЭ                         
098760        За часы         22      3312                                                      ОГПЭ                         
103453        За часы         15      2321                                                      ОГР                          
098767        За часы         15      2321                                                      ОГР                          
098768        За часы         16      2476                                                      ОРЕНБУРГСКИЙ ГЗ              
098769        За часы         16      2476     за перепробег   306     275      ОРЕНБУРГСКИЙ ГЗ              
098770        За часы         16      2476                                                      ОРЕНБУРГСКИЙ ГЗ              
098745        За часы         16      2321                                                       УЖДТ                         
098764        За часы         16      2476     за перепробег   340     417      УЖДТ                         
098741        За часы         16      2476     за перепробег   270     125      УЖДТ                         
098761        За часы         16      2321     за перепробег   268     109      УЖДТ                         
098762        За часы         16      2409     за перепробег   260     83       УЖДТ                         
098766        За часы         16      2476                                                      УЖДТ                         
104698        За ч%
			
			
									
						
										
						ARD отчет2
Модераторы: m0p3e, edward_K, Модераторы