var List:TStringList; Listk:TStringList; i:Integer; k:Integer; M13:Real; M12:Real; M11:Real; M23:Real; M22:Real; M21:Real; procedure GroupHeader1OnBeforePrint(Sender: TfrxComponent); begin if Engine.FinalPass then begin Memo1.Text := List[i]; Memo3.Text := List[i+1]; Memo4.Text := List[i+2]; Memo5.Text := List[i+3]; Memo6.Text := List[i+4]; Memo7.Text := List[i+5]; Memo8.Text := List[i+6]; Memo9.Text := List[i+7]; Memo10.Text := List[i+8]; Memo11.Text := List[i+9]; Memo12.Text := List[i+10]; Memo13.Text := List[i+11]; Memo14.Text := List[i+12]; // Memo12.Text := FormatMaskText('0,000',List[i]); end end; procedure GroupHeader2OnBeforePrint(Sender: TfrxComponent); begin if <frxDBTabel."KOD_GRUP"> = 0 then GroupHeader2.Visible := False; if Engine.FinalPass then begin Memo21.Text := Listk[k]; Memo22.Text := Listk[k+1]; Memo23.Text := Listk[k+2]; Memo24.Text := Listk[k+3]; Memo25.Text := Listk[k+4]; Memo26.Text := Listk[k+5]; Memo27.Text := Listk[k+6]; Memo28.Text := Listk[k+7]; Memo29.Text := Listk[k+8]; Memo30.Text := Listk[k+9]; Memo31.Text := Listk[k+10]; Memo32.Text := Listk[k+11]; Memo33.Text := Listk[k+12]; end end; procedure GroupFooter1OnBeforePrint(Sender: TfrxComponent); begin if not Engine.FinalPass then begin List.Add(FloatToStr(SUM(<frxDBTabel."VSEGODNI">,MasterData1,1))); List.Add(FloatToStr(SUM(<frxDBTabel."N_DNI">,MasterData1,1))); List.Add(FloatToStr(SUM(<frxDBTabel."RK_DNI">+<frxDBTabel."SR_DNI">+<frxDBTabel."RT_DNI">,MasterData1,1))); List.Add(FloatToStr(SUM(<frxDBTabel."RO_DNI">,MasterData1,1))); List.Add(FloatToStr(SUM(<frxDBTabel."TO_DNI">,MasterData1,1))); List.Add(FloatToStr(SUM(<frxDBTabel."RZ_DNI">,MasterData1,1))); List.Add(FloatToStr(SUM(<frxDBTabel."PV_DNI">,MasterData1,1))); List.Add(FloatToStr(SUM(<frxDBTabel."PP_DNI">,MasterData1,1))); List.Add(FloatToStr(SUM(<frxDBTabel."PG_DNI">,MasterData1,1))); M11 := SUM(<frxDBTabel."N_DNI">,MasterData1,1)/SUM(<frxDBTabel."VSEGODNI">,MasterData1,1); M11 := Round(M11*1000)/1000; List.Add(FloatToStr(M11)); M12 := 1-(SUM(<frxDBTabel."RK_DNI">+<frxDBTabel."SR_DNI">+<frxDBTabel."RT_DNI">,MasterData1,1)+SUM(<frxDBTabel."RO_DNI">,MasterData1,1)+SUM(<frxDBTabel."TO_DNI">,MasterData1,1))/SUM(<frxDBTabel."VSEGODNI">,MasterData1,1); M12 := Round(M12*1000)/1000; List.Add(FloatToStr(M12)); M13 := SUM(<frxDBTabel."GRUZPOD">*<frxDBTabel."VSEGODNI">,MasterData1,1); M13 := Round(M13*1000)/1000; List.Add(FloatToStr(M13)); List.Add(FloatToStr(SUM(<frxDBTabel."GRUZPOD">*<frxDBTabel."N_DNI">,MasterData1,1))); end else begin Inc(i); Inc(i); Inc(i); Inc(i); Inc(i); Inc(i); Inc(i); Inc(i); Inc(i); Inc(i); Inc(i); Inc(i); Inc(i); end end; procedure GroupFooter2OnBeforePrint(Sender: TfrxComponent); begin if not Engine.FinalPass then begin Listk.Add(FloatToStr(SUM(<frxDBTabel."VSEGODNI">,MasterData1,1))); Listk.Add(FloatToStr(SUM(<frxDBTabel."N_DNI">,MasterData1,1))); Listk.Add(FloatToStr(SUM(<frxDBTabel."RK_DNI">+<frxDBTabel."SR_DNI">+<frxDBTabel."RT_DNI">,MasterData1,1))); Listk.Add(FloatToStr(SUM(<frxDBTabel."RO_DNI">,MasterData1,1))); Listk.Add(FloatToStr(SUM(<frxDBTabel."TO_DNI">,MasterData1,1))); Listk.Add(FloatToStr(SUM(<frxDBTabel."RZ_DNI">,MasterData1,1))); Listk.Add(FloatToStr(SUM(<frxDBTabel."PV_DNI">,MasterData1,1))); Listk.Add(FloatToStr(SUM(<frxDBTabel."PP_DNI">,MasterData1,1))); Listk.Add(FloatToStr(SUM(<frxDBTabel."PG_DNI">,MasterData1,1))); M21 := SUM(<frxDBTabel."N_DNI">,MasterData1,1)/SUM(<frxDBTabel."VSEGODNI">,MasterData1,1); M21 := Round(M21*1000)/1000; Listk.Add(FloatToStr(M21)); M22 := 1-(SUM(<frxDBTabel."RK_DNI">+<frxDBTabel."SR_DNI">+<frxDBTabel."RT_DNI">,MasterData1,1)+SUM(<frxDBTabel."RO_DNI">,MasterData1,1)+SUM(<frxDBTabel."TO_DNI">,MasterData1,1))/SUM(<frxDBTabel."VSEGODNI">,MasterData1,1); M22 := Round(M22*1000)/1000; Listk.Add(FloatToStr(M22)); M23 := SUM(<frxDBTabel."GRUZPOD">*<frxDBTabel."VSEGODNI">,MasterData1,1); M23 := Round(M23*1000)/1000; Listk.Add(FloatToStr(M23)); Listk.Add(FloatToStr(SUM(<frxDBTabel."GRUZPOD">*<frxDBTabel."N_DNI">,MasterData1,1))); end else begin Inc(k); Inc(k); Inc(k); Inc(k); Inc(k); Inc(k); Inc(k); Inc(k); Inc(k); Inc(k); Inc(k); Inc(k); Inc(k); end end; procedure frxReportTabel2OnStartReport(Sender: TfrxComponent); begin List := TStringList.Create; Listk := TStringList.Create; end; procedure frxReportTabel2OnStopReport(Sender: TfrxComponent); begin List.Free; Listk.Free; end; procedure Page1OnBeforePrint(Sender: TfrxComponent); begin i := 0; k := 0; end; begin end. |