Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   In Fastreport die Gruppensummen per Code (https://www.delphipraxis.net/196370-fastreport-die-gruppensummen-per-code.html)

NoName1 16. Mai 2018 07:48

In Fastreport die Gruppensummen per Code
 
Guten Tag,
ich möchte, wie oben erwähnt, die Gruppensummen per Code ermitteln und dann einem Feld für den Ausdruck zuweisen.
Der Hintergrund dafür ist folgender:
Die gebildete Gruppensumme kann positiv oder auch negativ sein.
Ist sie negativ, dann wird ein Minuszeichen vorangestellt und die Farbe rot zugewiesen.
Mit diesem Code habe ich es Versucht, aber es ist Falsch. Die Gruppensummen stimmen mit diesem Code nicht.
Delphi-Quellcode:
 var
 sumAusgaben: Extended;
 sumEinzahlungen: Extended;
   
procedure bubetragOnBeforePrint(Sender: TfrxComponent);
var
 pEA: string;
 pBetrag: Extended;                                      
begin
 pEA := <frxDBKonten."KONTOART">;
 pBetrag := <frxDBKonten."ZAHLUNG">;

  // Alle Einnahmen                                              
 if pEA = 'E' then
 begin            
  sumEinzahlungen := sumEinzahlungen + pBetrag;
  bubetrag.font.color := clBlack;                                                                                                
  bubetrag.text := Format('%2.2m', [pBetrag]); //der Einzelbetrag wird korrekt dargestellt                              
  grpSumme.Text := Format('%2.2m', [sumEinzahlungen-sumAusgaben]); // dies soll die Gruppensumme werden                                                                                  
 end;

 // Alle Ausgaben        
 if pEA = 'A' then
 begin
  sumAusgaben := sumAusgaben + pBetrag;
  bubetrag.font.color = clRed;                                                                              
  bubetrag.text := Format('-%2.2m', [pBetrag]); //der Einzelbetrag wird korrekt dargestellt                                
  grpSumme.Text := Format('%2.2m', [sumEinzahlungen-sumAusgaben]); // dies soll die Gruppensumme werden                                                                                                                                                                                        
 end;          
end;
     
 
begin
 sumAusgaben := 0;
 sumEinzahlungen := 0;                            
end.
Hat Jemand eine Idee wie ich die Gruppensummen ohne "Aggregate Value im GroupFooter" von Fastreport erzeugen kann?
Ich hoffe ich habe mich einigermassen verständlich Ausgedrückt.
Vielen Dank für Eure Hilfe im Voraus.

rokli 16. Mai 2018 08:04

AW: In Fastreport die Gruppensummen per Code
 
Ja Moin!

Du rechnest den Wert außerhalb vom FR aus und übergibst das Ergebnis einer Variablen im Report, bevor Du den Report startest/druckst. Da kannst Du problemlos auch die Schriftart so anpassen, wie es Dir gefällt.

Gruß

rokli 16. Mai 2018 08:08

AW: In Fastreport die Gruppensummen per Code
 
jetzt hab ich den Code vergessen

Delphi-Quellcode:
// Text zuweisen   
   TfrxMemoView(frxRep.Pages[1].FindObject('Memo1')).Text := sValue;
// Drucker zuweisen   
   frxRep.PrintOptions.Printer         := sPrinter;
// Printer Options abschalten
   frxRep.PrintOptions.ShowDialog       := false;
// Report vorbereiten
   frxRep.PrepareReport(true);

Lemmy 16. Mai 2018 17:00

AW: In Fastreport die Gruppensummen per Code
 
Zitat:

Zitat von NoName1 (Beitrag 1402231)

Hat Jemand eine Idee wie ich die Gruppensummen ohne "Aggregate Value im GroupFooter" von Fastreport erzeugen kann?

ähm.. darf ich fragen warum?

Bzgl. roter Schrift: Rechte Maustaste auf das frxMemo im Designer und Highlight auswählen, in den neueren FastReports ist das glaube ich auch in den Eigenschaften direkt zu finden. Dort kannst Du einstellen, dass bei neegativen Werten die Schriftfarbe rot verwendet werden soll.

Gruppensumme im Groupfooter mit Aggregatsfunktion ist eigentlich in 10 Sekunden zusammen geklickt...


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:02 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz