2010-09-06 12 views
5

sto provando a fare quanto segue con fastreport e delphi. Ho un rapporto contenente ...FastReport - Come sommare i valori specifici del groupfooter ad una nuova banda footer

GroupHeader -------> per Commesso clienti MasterData -------> CustomerName, Equilibrio GroupFooter -------> Sum (Balance) di Salesman-1 MasterData -------> CustomerName, Balance GroupFooter -------> Sum (Balance) di Salesman-2 MasterData -------> CustomerName, Balance GroupFooter -------> Sum (Saldo) di Salesman-3 . . . MasterData -------> CustomerName, Equilibrio GroupFooter -------> Sum (Balance) di Salesman-N

====> Qui vogliono avere: Footer-2 - ------> SUM (somma (saldo) di venditore-1, somma (saldo) di venditore-2, somma (saldo) di venditore-3) (SOLO !!!)

ReportFooter --- -----> Saldo totale del cliente.

Qualcuno ha un'idea per risolvere il problema con il motore di script Fastreport?

Grazie.

risposta

2

vorrei creare un rapporto variabile 'salessum' globale

var 
    salessum: extended; 

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

In caso OnBeforePrint della band dettagli incrementare il salessum se si tratta di uno dei venditori desiderati.

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

Se si desidera che la somma extra alla fine del rapporto quindi aggiungere un banda di riepilogo relazione e nel caso OnBeforePrint impostare il valore del campo di testo appropriato per la stringa formattata di salessum.

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

In alternativa, se si desidera che la somma in più subito dopo il venditore 3 subtotale quindi aggiungere un campo di testo nella banda piè di pagina gruppo venditore e nel caso in OnBeforePrint impostare la proprietà Visible su true/false a seconda di quale chiave venditore attualmente stai elaborando e imposta il valore sul valore di salessum. Dovrai anche assicurarti che la banda si allunghi automaticamente.

Ho iniziato a fare quasi tutte le sommazioni utilizzando lo script e la variabile di report in quanto diventa molto più facile controllare quando e dove dovrebbero essere incrementati o ripristinati o stampati ecc. Uso delle funzioni di somma incorporata (in qualsiasi sistema di reporting) è utile solo per i totali molto semplici - che, per qualche motivo, sono pochissimi dei miei rapporti.

Speranza che abbia senso (ed è ciò che stai effettivamente cercando di ottenere!).

Problemi correlati