Группировка в отчете
Добавлено: 07 май 2009, 16:52
Есть view
.Create View m //
As Select//
tab25.scheto,
tab25.subossch,
tab25.schetk,
tab25.subschk,
tab25.sumob,
tab25.sodprr,
spkau.code,
spkau.name
from tab25, spkau
where ((
spkau.nrec == tab25.ckau
))
order by spkau.code
;
Вывожу в отчет записи.
.{table 'm' by spkau.nrec;// цикл по кау
.{ by tab25.ckau;
.{?internal;(m.tab25.scheto='420' or m.tab25.scheto='423' or m.tab25.scheto='425' or m.tab25.scheto='426')// для 20 сч
.begin
sum20_1:=sum20_1+m.tab25.sumob;//
end.
.}
.{?internal;((m.tab25.scheto='468' and m.tab25.subossch='50') and (m.tab25.schetk='499' and m.tab25.subschk='02'))//
.begin
if pos('ИП',m.tab25.sodprr)=0 then sum20_2:=sum20_2+m.tab25.sumob;//
if pos('ИП',m.tab25.sodprr)>0 then sum20_3:=sum20_3+m.tab25.sumob;//
end.
.}
.}// table 'm.tab25'
.fields
dfor1 dfor2
m.code m.name
DoubleToStr(sum20_1, '\2p[|-]3666666666666666666.88') DoubleToStr(sum20_2, '\2p[|-]3666666666666666666.88') DoubleToStr(sum20_3, '\2p[|-]3666666666666666666.88')
.endfields
.{?internal;(m.code<>K3)
@@@@@@@@@@ ^ ^ ^
.}
.begin//
K3:=m.code;//
end.
.} // table m
.endform//
Выгружает только последнюю запись.
Необходимо чтобы записи группировались по spkau.code, суммы брались из tab25 .{ by tab25.ckau;
.Create View m //
As Select//
tab25.scheto,
tab25.subossch,
tab25.schetk,
tab25.subschk,
tab25.sumob,
tab25.sodprr,
spkau.code,
spkau.name
from tab25, spkau
where ((
spkau.nrec == tab25.ckau
))
order by spkau.code
;
Вывожу в отчет записи.
.{table 'm' by spkau.nrec;// цикл по кау
.{ by tab25.ckau;
.{?internal;(m.tab25.scheto='420' or m.tab25.scheto='423' or m.tab25.scheto='425' or m.tab25.scheto='426')// для 20 сч
.begin
sum20_1:=sum20_1+m.tab25.sumob;//
end.
.}
.{?internal;((m.tab25.scheto='468' and m.tab25.subossch='50') and (m.tab25.schetk='499' and m.tab25.subschk='02'))//
.begin
if pos('ИП',m.tab25.sodprr)=0 then sum20_2:=sum20_2+m.tab25.sumob;//
if pos('ИП',m.tab25.sodprr)>0 then sum20_3:=sum20_3+m.tab25.sumob;//
end.
.}
.}// table 'm.tab25'
.fields
dfor1 dfor2
m.code m.name
DoubleToStr(sum20_1, '\2p[|-]3666666666666666666.88') DoubleToStr(sum20_2, '\2p[|-]3666666666666666666.88') DoubleToStr(sum20_3, '\2p[|-]3666666666666666666.88')
.endfields
.{?internal;(m.code<>K3)
@@@@@@@@@@ ^ ^ ^
.}
.begin//
K3:=m.code;//
end.
.} // table m
.endform//
Выгружает только последнюю запись.
Необходимо чтобы записи группировались по spkau.code, суммы брались из tab25 .{ by tab25.ckau;