PDA

Ver la Versión Completa : Suma y sigue en FastReport


charly
03-07-2003, 13:57:38
Como hago un suma y sigue en FastReport.

Tengo una variable en el diccionario con la siguiente expresion : SUM([QLin."IMPORTE_LINEA"]) , pero esta me suma el contenido de la página en la cual esta, inicializandose a 0 en la siguiente. Ya he provado desactivando la doble pasada y sigue igual.

Alguien puede orientarme?

Gracias
Charly.

guillotmarc
03-07-2003, 14:26:01
Hola

Pruebalo así :

SUM([QLin."IMPORTE_LINEA"], Datos)

Siendo Datos el nombre de la banda Master Data (se especifica por el Object Inspector)

Saludos.

guillotmarc
03-07-2003, 14:26:32
Hola

Pruebalo así :

SUM([QLin."IMPORTE_LINEA"], Datos)

Siendo Datos el nombre de la banda Master Data (se especifica por el Object Inspector)

Saludos.

charly
03-07-2003, 16:21:49
Hola, uso lo siguiente SUM([QLin."IMPORTE_LINEA"],MasterData1) y sigo sin conseguirlo. Te comento las bandas que tengo:
Cabecera de pagina -> PageHeader1
Cabecera maestra -> MasterHeader1
Datos maestros -> MasterData1
Datos de detalle -> DetailData1
Pie de pagina -> PageFooter1
Los datos [QLin."IMPORTE_LINEA"] se muestran en MasterData1 y la variable la muestro en PageFooter1.

Alguna idea?

Gracias

charly
04-07-2003, 12:28:55
Hola a tod@s.

Esta es la solucion que le he dado al problema, la dejo aqui por si le vale a alguien.

He creado dos variables : nPage y nPageTotal, la primera la pongo a cero en cada inicio de pagina en el evento BeginPage

procedure TDMLstFapCli.frFacturaBeginPage(pgNo: Integer);
begin
nPage := 0;
end;

Y el en evento EndPage, sumo nPage a nPageTotal

procedure TDMLstFapCli.frFacturaEndPage(pgNo: Integer);
begin
nPageTotal := nPageTotal + nPage;
end;

Y para rellenar el valor de nPage uso un campo oculto en el diseño (en la banda MasterData ) llamado [VER] y en el evento OnGetValue pongo lo siguiente:

if ParName = 'VER' then
begin
nPage := nPage + QLinIMPORTE_LINEA.Value;
end;

La verdad es que la solución de guillotmarc erá muy elegante, pero por algun motivo (culpa mia seguro) no me funciona.

Ah, hay que desactivar la doble pasada.

Un saludo.