Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Como crear un reporte RaveReport sin conectar a bases de datos (https://www.clubdelphi.com/foros/showthread.php?t=90055)

rolandoj 28-03-2016 23:29:03

Como crear un reporte RaveReport sin conectar a bases de datos
 
Hola a todos,

Si no es molestia, alguno podría indicarme donde conseguir una guía de usuario de Rave Report que explique como crear un reporte sin usar una conexión a una Base de Datos ?

Explico mi problema para facilitar la respuesta :

Yo nunca he usado Rave Report; pero, según leí, la versión de Rave Report que vino con mi Delphi (la 7.5 BE) ofrece una posibilidad que no tengo la versión de Quick Report que manejo : Exportar a PDF. Y eso es lo que en últimas necesito

Así que empecé a leer la documentación que viene con él; pero, todo se centra en campos obtenidos desde conexiones a Bases de Datos y eso a mi no me sirve porque el reporte lo tengo que crear en el lado cliente de una aplicación habilitada para Web, y ahí no tengo acceso directo a la Base de Datos.

Toda la información para crear el reporte a tiempo de ejecución proviene de variables en memoria, así que necesito saber como llamar a un reporte Rave e ir llenando sus campos desde código. En especial, como iterar para generar múltiples líneas de datos.

Espero que puedan sugerirme la lectura adecuada.

Les agradezco de antemano

Caminante 29-03-2016 02:23:25

Hola

Una sugerencia podria ser usar un clientdataset (o algun otro dataset en memoria) y usar sus campo para el reporte.

Saludos

rolandoj 29-03-2016 16:05:23

Hola,

Muchas gracias por la respuesta.

Es una alternativa; sin embargo, no me parece una solución adecuada. implica recodificar prácticamente toda la lógica de soporte con la que ya tengo hecho el reporte en QuickReport y encima colocar del lado cliente la lógica de los dataset, algo que en mi metodología no existe

Es que acaso no se puede generar reportes de Rave que se construyan sin utilizar componentes relacionados con Bases de Datos.

Debería poderse porque vi componentes que no estaban asociados a Bases de Datos.

Alguna idea de donde conseguir documentación sobre el tema

Muchos saludos

Cita:

Empezado por Caminante (Mensaje 503792)
Hola


Una sugerencia podria ser usar un clientdataset (o algun otro dataset en memoria) y usar sus campo para el reporte.

Saludos


Casimiro Notevi 29-03-2016 20:01:08

¿Y con qué tipo de datos quieres crear el informe?

bitbow 29-03-2016 21:00:53

Segun recuerdo, hace poco revisando reporteadores por casualidad vi que el Rave Report cuenta con eventos onPrint, ahi puedes meter el codigo para generar el reporte como desees sin necesidad de dataset, googleando encontre este pequeño ejemplo.

Código Delphi [-]
procedure TFormMain.RvSystemPrint(Sender: TObject); begin   with Sender as TBaseReport do   begin     SetFont('Arial', 15);     GotoXY(1,1);     Print('Welcome to Code Based Reporting in Rave');   end; end;


Seguramente si googleas un poco mas, puedes encontrar mas informacion.

Saludos.

bitbow 29-03-2016 21:03:57

Te pongo la pagina de donde tome el ejemplo.

http://edn.embarcadero.com/article/30329

rolandoj 29-03-2016 21:09:34

Básicamente texto plano
 
Hola,

Gracias por contestar.

Bueno, salvo una excepción, todos los campos son solo de texto plano.

Eso es porque todos los procesos de cálculo y conversión de datos ya los he hecho al construir una clase que guarda toda la información del reporte, de tal forma que, cuando uso QuickReport, solo paso eso al formulario con el reporte QuickReport y de ahí en adelante solo son asignaciones simples a los TQRLabel

La excepción son unos campos donde el texto está en formato RTF; pero, según ví, Rave Report soporta RTF

Por cierto, me llama la atención que ninguno ha contestado directamente la pregunta de donde hay documentación de como hacerlo, ni ha indicado el como hacerlo.

Es que acaso no puede hacerse con Rave Report ?

Saludos
Cita:

Empezado por Casimiro Notevi (Mensaje 503823)
¿Y con qué tipo de datos quieres crear el informe?


rolandoj 29-03-2016 21:18:09

Ok; pero ..
 
Hola,

Gracia por la respuesta. Es un punto de referencia; pero, recuerda que yo nunca he usado Rave Report.

Por eso es que preguntaba por una guía que explicara los conceptos de manejo. En internet es posible que se encuentre; pero, buscar así es más un asunto de suerte ya que eso fué lo primero que hice y todas las que ví eran respuestas orientadas a base de datos; además, a menudo sobre la base de algún conocimiento previo sobre Rave.

Saludos
Cita:

Empezado por bitbow (Mensaje 503826)
Segun recuerdo, hace poco revisando reporteadores por casualidad vi que el Rave Report cuenta con eventos onPrint, ahi puedes meter el codigo para generar el reporte como desees sin necesidad de dataset, googleando encontre este pequeño ejemplo.


Código Delphi [-]procedure TFormMain.RvSystemPrint(Sender: TObject); begin with Sender as TBaseReport do begin SetFont('Arial', 15); GotoXY(1,1); Print('Welcome to Code Based Reporting in Rave'); end; end;




Seguramente si googleas un poco mas, puedes encontrar mas informacion.

Saludos.


rolandoj 29-03-2016 21:23:04

Gracias. Es un inicio
 
Hola,

Muchas gracias, y disculpa la nota anterior. Es que te contesté enseguida y no había visto esta otra nota con el enlace.

Voy a revisarla y esta noche les comento como me fué, porque ahorita me toca salir a hacer varias diligencias

Muchos saludos
Cita:

Empezado por bitbow (Mensaje 503827)
Te pongo la pagina de donde tome el ejemplo.

http://edn.embarcadero.com/article/30329


rolandoj 30-03-2016 16:57:28

Altas y bajas con Rave Report
 
Hola a todos,

La pista de bitbow ha sido muy util. Sin embargo, el asunto deja muchos altibajos

La intoducción que aparece en embarcadero, reforzada con lo que busqué en los propios manuales de Rave, demuestran que si es posible armar el reporte sin intervención de conexiones a Bases de Datos.

De hecho, es muy flexible para producir los reportes; pero, esa flexibilidad, hasta donde pude investigar, es a cambio de una programación muy primitiva porque implica no usar el editor de reportes. Palabras más palabras menos es casi como escribir el reporte sin usar un reporteador, sino tan solo la programación básica de Windows de escritura a Canvas, más algunas rutinas que facilitan un poco esa programación básica.

Me recordó mis primeros años cuando no contaba con herramientas visuales para crear reportes y todo se hacía con codificación pura.

Tristemente, todo indica que para usar el editor de reportes de Rave necesariamente debo trabajar con conexiones a bases de datos, o mínimo, como sugirió Caminante, usar ClientDataSet; manejar un DataSet en memoria; en todo caso algún tipo de codificación intermedia.

En conclusión. no es práctico para dar a mis reportes la posibilidad de exportar a PDF.

Sin embargo, como solo es uno el reporte que por ahora necesita esa característica, voy a intentarlo a ver que tanto me demoro en comparación a lo que me tomó en QuickReport.

Vale anotar que estos comentarios no significan que Rave Report sea un desastre. Tiene una serie de cosas buenas. Entre ellas la posibilidad de que estos reportes se hagan directamente en el servidor y dar acceso a ellos vía Web, que en el fondo es lo mismo que yo hice en mi sistema.

El problema es que las ventajas que brinda solo tienen sentido si se está empezando un nuevo proyecto.

Si, como en mi caso, se trabaja con sistemas enormes ya existentes en Quick Report, no creo que los beneficios de pasar los reportes a Rave Report compensen ni mediamente el costo de reconstruirlos desde cero

En ese sentido se explica porque mucha gente siguió usando Quick Reports y el intento de Rave tuvo la misma suerte porque lo reemplazó Fast Report.

Tristemente, por mucho tiempo, la gente del mundillo Delphi pensó principalmente en las necesidades de programación de proyectos nuevos, sin dar mucha importancia al hecho de que para quienes tenemos mucho desarrollado los costos de migración a menudo superan en demasía a los beneficios.

Me pregunto si eso cambiará con la llegada de IDERA

Perdón, me desvié del tema; pero, es que ando molesto porque estaba explorando la posibilidad de migrar a Delphi X10 y me di cuenta que el costo real de la versión profesional es casi tanto como lo que me costó en su momento la versión Enterprise que tengo. Un costo tan alto que es inviable a menos que uno tropiece con un muy buen proyecto que justifique la inversión.

Muchos saludos
Cita:

Empezado por rolandoj (Mensaje 503830)
Hola,

Muchas gracias, y disculpa la nota anterior. Es que te contesté enseguida y no había visto esta otra nota con el enlace.

Voy a revisarla y esta noche les comento como me fué, porque ahorita me toca salir a hacer varias diligencias

Muchos saludos


bitbow 30-03-2016 17:50:06

Si lo que quieres es un reporte en PDF y lo vas a hacer literal a manita, te recomiendo Power PDF, revisa la documentación y los ejemplos y puede que te sea mas fácil que Rave Reports, la desventaja es que dependerás de ese componente pero es libre asi que no hay tanto problema.

Saludos.

rolandoj 30-03-2016 21:32:36

Gracias; pero, de donde se descarga
 
Hola,

Gracias por el nuevo dato.

Estuve buscando y en todos los sitios que encontré me envían a :

http://www.est.hi-ho.ne.jp/takeshi_kanno/powerpdf

Pero ese enlace aparece como no disponible (y eso que probé en dos navegadores).

Conoces otro sitio desde donde descargarlo ?

Saludos
Cita:

Empezado por bitbow (Mensaje 503851)
Si lo que quieres es un reporte en PDF y lo vas a hacer literal a manita, te recomiendo Power PDF, revisa la documentación y los ejemplos y puede que te sea mas fácil que Rave Reports, la desventaja es que dependerás de ese componente pero es libre asi que no hay tanto problema.

Saludos.


bitbow 30-03-2016 23:45:21

En esta dirección puedes encontrarlo.

https://sourceforge.net/projects/powerpdf

rolandoj 31-03-2016 16:18:12

Donde encuentro ejemplos ?
 
Hola,

Gracias por la sugerencia. Lo descargué y lo instalé; pero, solo consigo que me imprima la página en blanco

Cuando ejecuto el programa, me muestra el formulario con la página como si estuviera en modo de diseño, y ahí si puedo ver las etiquetas que puse.

Sin embargo cuando invoco el botón donde está el código BeginDoc ... Print ... EndDoc. No hay ningún cambio en pantalla, aunque el reporte si es guardado en formato PDF en el archivo PDF que especifico.

Al seguir con el depurador la secuencia BeginDoc, etc , invocada desde mi botón de generación, hasta donde pude analizar, el está mandando a escribir las etiquetas que puse de prueba a la pantalla; pero, ni yo las veo en pantalla y ni el las incluye en el archivo PDF que genera.

Para claridad, quiero decir que no aparece ningún preview en pantalla, tan solo el mismo formulario de modo de diseño.

Supongo que deben haber algunos trucos de configuración previos; pero, no hay ni la sombra de una documentación para usarlo como usuario final. Aparte del manual de referencia, que se limita a describir propiedades, métodos y eventos en abstracto, lo más cercano que he encontrado a una documentación es cuando lo usan para exportar desde FastReport (Que entre otras cosas es un ejemplo que quizás sirva para hacer un filtro PDF con QuickReport)

Podrías indicarme donde consigo un ejemplo, y mejor aún una explicación, para usarlo desde un programa normal. ?

Saludos

Cita:

Empezado por bitbow (Mensaje 503871)
En esta dirección puedes encontrarlo.

https://sourceforge.net/projects/powerpdf


bitbow 31-03-2016 17:08:08

Creo que con estos componentes no cuentas con un preview, mas bien generas directo el PDF, checa los ejemplos que vienen con el paquete.

Saludos.

rolandoj 31-03-2016 17:22:04

Gracias; pero, no trae ejemplos
 
Hola,

Gracioas por la rápida respuesta; pero, no vienen ejemplos junto con el paquete.

Eso me hace suponer que tú debes tener una versión distinta a la que está en la página del enlace que me enviastes.

O será que para variar mis dos navegadores no muestra algún otro enlace de esa página ?. Con todos los cambios de tecnología no me sorprendería.

Para claridad, el único archivo que aparece ahí para descargar es PowerPDF.Zip del 2014-09-10 con 133.8 Kb

La única documentación en ese archivo es el Manual de referencia de los componentes que no explica para nada el proceso.

Saludos
Cita:

Empezado por bitbow (Mensaje 503894)
Creo que con estos componentes no cuentas con un preview, mas bien generas directo el PDF, checa los ejemplos que vienen con el paquete.

Saludos.


rolandoj 02-04-2016 22:27:12

Probablemente solucionado !!!
 
Hola a todos,

Ante todo, reitero las gracias por la ayuda.

Definitivamente, no se pudo con Power PDF. No logré encontrar una documentación clara y a partir de lo poco que encontré no pude lograr que me imprimiera.

Sin embargo, y esta es la buena noticia, en el proceso me tropecé con SynPdf.Zip. Este software es libre y es el que, según leí, ha usado la propia gente de Quick Reports para acer su filtro de exportación.

Es para versiones de Delphi posteriores a la mía; pero, pude adaptar el código fuente y, basandome en un ejemplo de internet, escribir una rutina que, tan solo recibiendo como parámetros un TQuickRep y un nombre de archivo, genera el reporte PDF a ese archivo.

Hice una prueba preliminar y funcionó perfecto con el reporte que me interesaba. Lo bueno es que está parece ser la solución ideal que quería porque en teoría debe funcionar con todos mis reporte (o al menos con la mayoría)

Durante la próxima semana estaré haciendo pruebas más detalladas a ver como se comporta (por ejemplo si falla después de varios usos consecutivos, si con ciertos controles no trabaja, etc).

Les estaré contando y si todo sale bien ampliaré detalles.

Muchos saludos

Casimiro Notevi 03-04-2016 01:58:24

A ver si te sirve :)


La franja horaria es GMT +2. Ahora son las 23:07:33.

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