LazReport: Calcular Subtotales por página
Hola, estoy trabajando con LazReport y no encuento la manera de colocar el subtotal de una columna en cada página.
Lo que necesito es que si el reporte tiene, por ejemplo, 3 páginas, que se calcule el subtotal de cada una de ellas, sumandole el anterior. Ej: Si el subtotal de cada página es $100, necesitaria mostrar el subtotal de la página 1 ($100) el de la página 2 ($200) y el de la 3 ($300). Alguien sabe como sonseguir eso? Gracias! |
Hola, disculpas por el Bump, pero necesito ayuda con esto.
Gracias! |
Si no trae un componente específico para hacerlo entonces tendrás que usar una variable donde vayas almacenando la suma e ir imprimiéndola por página.
|
Cita:
(recuerdo los malabarismos que hice con código para en el QuicReports 4 poder imprimir un listado a dos columnas por página) |
[Solucionado] LazReport: Calcular Subtotales por página
Hola, lamentablemente ese método no soluciona el problema. Si tengo un informe de 3 páginas, en la primera me muestra $100, en la segunda $100 y en la tercera $100 como subtotales!!!.
De todas maneras ya encontre una solución que paso a explicar por si alguien necesita hacer algo similar. Creo una variable global entera llamada totalPages (increible pero no encontre esta propiedad en el componente TfrReport) Código:
totalPages:Integer; Código:
procedure TForm1.frReport1BeginDoc; Código:
procedure TForm1.frReport1EndPage(pgNo: Integer); Código:
procedure TForm1.frReport1First(Sender: TObject); Código:
procedure TForm1.frReport1GetValue(const ParName: String; Código:
begin Con esto logro tener subtotales acumulativos por página Espero que les sirva, adjunto un PDF para que se vean los resultados, tener en cuenta que el total esta tomado de la base de datos y el sub total es el valor calculado, con eso se confirma que el metodo funciona bien. http://www.mgscreativa.com/Invoice_DB-10-0548.pdf |
Precisamente esa era la solución que te dimos, usando una variable :)
Por cierto, si usas la variable integer no funcionará correctamente cuando tengas importes con decimales. |
Cita:
Por otro lado, la variable "total_acum" debe ser Double, pero en ningun momento lo ongo en el post por que seguro que el que quiera implementarlo lo sabra. Por ultimo, por favor, lean el post completo, creo que esta bastante detallado. Saludos! |
La franja horaria es GMT +2. Ahora son las 18:43:32. |
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