2010-09-06 4 views
5

Ich versuche, mit FastReport und Delphi Folgendes zu tun. Ich habe einen Bericht mit ...FastReport - Wie bestimmte Gruppenfußwerte zu einem neuen Fußbereichsband summiert werden

GroupHeader -------> Schlüssel zum Kunden Verkäufer MasterData -------> Kundenname, Balance GroupFooter -------> Summe (Saldo) von Salesman-1 MasterData -------> Kundenname, Saldo GroupFooter -------> Summe (Saldo) von Verkäufer-2 Stammdaten -------> Kundenname, Saldo GroupFooter -------> Summe (Balance) von Salesman-3 . . . Masterdata -------> Kundenname, Gleichgewicht Gruppenfuß -------> Sum (Balance) von Salesman-N

====> Hier haben wollen: Footer-2 - ------> SUMME (Summe (Saldo) von Verkäufer-1, Summe (Saldo) von Verkäufer-2, Summe (Saldo) von Verkäufer-3) (NUR !!!)

ReportFooter --- -----> Gesamtkundenbilanz.

Hat jemand eine Idee, um das Problem mit FastReport-Skript-Engine zu lösen?

Vielen Dank.

Antwort

2

würde ich einen Bericht globalen Variable ‚salessum‘

var 
    salessum: extended; 

procedure MYReportOnStartReport(Sender: TfrxComponent); 
begin 
    salessum := 0.0; 
end; 

Im OnBeforePrint Ereignisse des Detailbandes erhöhe den salessum erstellen, wenn es eine der gewünschten Verkäufer ist.

procedure MYReportDetailBeforePrint(Sender: TfrxComponent); 
begin 
    if (mydata.salesmankey = "key 1") or (mydata.salesmankey = "key2") or (...) then 
    begin 
    salessum := salessum + mydata.amount; 
    end; 
end; 

Wenn Sie die zusätzliche Summe am Ende des Berichts wollen dann einen Bericht Zusammenfassung Band hinzufügen und im OnBeforePrint Ereignis den Wert des entsprechenden Textfeld auf den formatierten String von salessum.

procedure MYReportSummaryBeforePrint(Sender: TfrxComponent); 
begin 
    txtMyBestSalesMenTotal.Text := FormatFloat('#,##0.00', salessum); 
end; 

Alternativ, wenn Sie die zusätzliche Summe unmittelbar nach der Verkäufer 3 Zwischensumme wollen dann ein Textfeld in der Verkäufer Gruppenfuß Band hinzufügen und im OnBeforePrint Ereignisse stellen Sie seine visible-Eigenschaft auf true/false je nachdem, welchen Verkäufer Schlüssel Sie bearbeiten gerade und setzen den Wert auf den Wert von salessum. Sie müssen auch sicherstellen, dass das Band automatisch dehnt.

Ich habe angefangen, so ziemlich alles summieren mit Skript und Bericht Variable, wie es so viel einfacher zu steuern, wann und wo sie inkrementiert werden oder zurückgesetzt oder gedruckt werden usw. Verwenden der integrierten Summenfunktionen (in jedem Berichtssystem) ist nur für sehr einfache Summen nützlich - die aus irgendeinem Grund sehr wenige meiner Berichte sind.

Hoffe, dass das Sinn macht (und das ist, was Sie tatsächlich erreichen wollen!).

Verwandte Themen