Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-02-2008
hecospina hecospina is offline
Miembro
 
Registrado: oct 2007
Posts: 202
Poder: 17
hecospina Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 02-02-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
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.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 02-02-2008
Avatar de PepeLolo
PepeLolo PepeLolo is offline
Miembro
 
Registrado: jun 2003
Ubicación: Fuenlabrada - Madrid - Espagna
Posts: 265
Poder: 21
PepeLolo Va por buen camino
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.
__________________
PepeLolo
El hombre el único virus que mide más de unas cuantas micras
Responder Con Cita
  #4  
Antiguo 04-02-2008
hecospina hecospina is offline
Miembro
 
Registrado: oct 2007
Posts: 202
Poder: 17
hecospina Va por buen camino
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
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
ayuda con un campo de numeracion paco_galo Tablas planas 2 15-05-2007 14:06:29
Continuar numeracion en impresion !! Help RJF Impresión 2 07-11-2006 04:43:17
Reiniciar numeración en DB SQLServer Alexander Conexión con bases de datos 5 03-09-2004 00:36:22
Numeracion y viñetas en Word maurogambo Servers 1 27-07-2004 10:18:26
Control de numeracion de versiones erickperez6 Varios 2 14-05-2003 17:10:28


La franja horaria es GMT +2. Ahora son las 18:58:36.


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
Copyright 1996-2007 Club Delphi