Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Suma y sigue en FastReport (https://www.clubdelphi.com/foros/showthread.php?t=1941)

charly 03-07-2003 13:57:38

Suma y sigue en FastReport
 
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.


La franja horaria es GMT +2. Ahora son las 15:30:29.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi