FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#5
|
|||
|
|||
[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; begin totalPages:=0; end; Código:
procedure TForm1.frReport1EndPage(pgNo: Integer); begin if frReport1.DoublePass and not frReport1.FinalPass then Inc(totalPages); end; Código:
procedure TForm1.frReport1First(Sender: TObject); begin total_acum:=0; total_acum:=total_acum+Sqlite3Dataset1.FieldByName('nombre_del_campo').Value; end; procedure TForm1.frReport1Next(Sender: TObject); begin if not frPackinglist_det.Eof then total_acum:=total_acum+Sqlite3Dataset1.FieldByName('nombre_del_campo').Value; end; Código:
procedure TForm1.frReport1GetValue(const ParName: String; var ParValue: Variant); begin if ParName='TOTAL_ACUM' then begin if frReport1.EMFPages.Count = totalPages then ParValue:=FormatFloat('0.#0',total_acum) else ParValue:=FormatFloat('0.#0',total_acum - Sqlite3Dataset1.FieldByName('nombre_del_campo').Value); end; end; Código:
begin Text:=TOTAL_ACUM; end; 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 Última edición por razor7 fecha: 20-08-2010 a las 02:34:31. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Consulta con Subtotales. | manueljgomezc | Firebird e Interbase | 6 | 29-07-2010 17:14:39 |
lazreport problemas lazarus | anubis | Lazarus, FreePascal, Kylix, etc. | 1 | 30-11-2009 20:44:39 |
Subtotales al comienzo | yusnerqui | Varios | 6 | 08-06-2006 16:02:20 |
En los subtotales por pagina | alcides | Impresión | 0 | 07-06-2005 20:20:06 |
Subtotales en QuickReport | raugadel | Impresión | 3 | 12-05-2004 16:13:49 |
|