![]() |
FastReport Numeracion de Hojas
Hola amigos del foro
Trabajo con FastReport 4, esta aplicacion tiene una funcion denominanda doble pasada Me sirve entre otras cosas para determinar el numero total de hojas que tiene un informe y poder imprimir el dato: "Página 1 de 20" por ejemplo El problema que tengo es que duplica el tiempo de generacion del reporte es decir cuando desactivo esta opcion solo realiza un pasada, no me da el numero total de paginas pero el reporte es mas agil Alguien sabe como determinar desde fastreport cuantas hojas contiene el reporte sin utilizar esta opcion Gracias |
Si tu reporte imprime una cantidad fija de detalles en cada hoja, sería tan fácil como dividir el número de registros entre este número y aproximar al entero mayor.
Si es un reporte ya mas o menos complejo, quizás con subtotales, o cuyas líneas varían de altura dependiendo de la cantidad de texto o de otras condiciones, indudablemente resulta mucho mas rápido (al menos de programar) hacer la doble pasada por el reporte. Otra cosa que puede estar afectando la velocidad, es que realices cálculos tardados, por ejemplo, en el evento OnCalcFields del DataSet asociado, que al recorrerse dos veces, obligará a que los cálculos se realicen innecesariamente 2 veces. Podrías hacer los cálculos una sola vez, mantenerlos en memoria (tipo cache) y así evitar el desperdicio de tiempo. Hasta luego. ;) |
Para poder obtener el número de páginas totales de informe, necesitas que el sistema realice una doble pasada, esta segunda pasada es la que obtiene el número de paginas totales y parciales. Si el reporte tarda es porque tienes algun proceso que realiza alguna operación en alguno de los dataset del reportte. Revisa los eventos Afterscroll, oncalcfields, etc.
un saludo. |
Gracias por las respuestas
Ya hice la revision y estas opciones estan bien Cuando digo que el reporte se tarda no es un retardo muy grande, es el doble del tiempo del reporte unos 5 segundos Lo que sucede es que debo optimizar lo mas que puede dicho tiempo ya que estos reportes podran ser consultados en una aplicacion que se conecta via tcp ip con un equipo remoto por internet Muchas gracias por su tiempo |
La franja horaria es GMT +2. Ahora son las 13:14:55. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi