Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Solicito vuestra opinión sobre formularios preimpresos (https://www.clubdelphi.com/foros/showthread.php?t=82185)

Critter 06-02-2013 09:25:31

Solicito vuestra opinión sobre formularios preimpresos
 
Hola foreros, este mensaje es para ver si alguno me puede echar una manita y darme algún consejo respecto a la mejor manera de enfocar el siguiente asunto:

Tengo una aplicación hecha en delphi 7 en la que se rellenan varios formularios preimpresos. En su momento creo impreso por impreso, que mediante un formulario se rellenaban los datos y después se imprimían a través de fastreport. Actualmente, el numero de impresos ha crecido considerablemente en cuanto a tipo y numero ahora además de preimpresos tengo algunos en PDF y plantillas OpenOffice.

Llevo tiempo dándole vueltas para hacer un sistema de creación/edición de los impresos en runtime, y que se pudiera definir y crear cualquier impreso, pero tengo dificultades a la hora de enfocar el problema.

Imagino que tendria que crear los siguientes módulos:

- Editor de Tablas de datos, permitiendo la edición de campos y sus relaciones entre ellos, pues también dichas tablas se alimentarán de los datos maestros.
- Editor de formularios, para la entrada de los datos, permitiendo basicamente lo mismo que el editor de Delphi, con sus editores de propiedades.
- Funciones de exportación para operar con los distintos tipos de documento.


Se que esto es algo muy ambicioso, y mis conocimientos de momento no llegan a tanto, pero soy persistente y cabezón así que a ver si me pudierais dar alguna luz respecto al planteamiento ó si consideráis que existe alguna forma más fácil para enfocar el problema.

Muchas gracias.

Lepe 06-02-2013 13:15:58

Hasta donde sé, FastReport cuenta con un generador de informes (el mismo que usas tú en Delphi) pero que puedes programa para que el usuario lo use, creando así sus informes.

Dichos informes pueden grabarse en la propia BBDD (una ventaja si trabajas en red, porque el informe estará disponibles para todos) o guardarlos en disco en una carpeta (monousuario).

Hace tiempo que no uso FastReport, espero alguien te pueda dar más info.

Para el editor de Tablas de datos, creo sería mejor crear una serie de vistas o procedimientos almacenados (SP) de selección (si tu motor de BBDD lo permite) y que puedan hacer informes de esas vistas o procedimientos.

Las vistas son más estáticas, pero los SP son muy flexibles, aunque tengas que conectarte por TeamViewer y modificarlos al vuelo.

Los SQL que usan esos SP, estarían en una tabla de la BBDD, así puedes modificar las SQLs al vuelo y para cada cliente, sin tener que recompilar. Una vez modificada la SQL, ya pueden usar el Generador de informes de FastReport.

... no sé si me he explicado...

Critter 06-02-2013 13:49:53

Básicamente esto es lo que estoy haciendo ahora, pero queria algo mas versatil y poderlo modificar todo en tiempo de ejecución, ya que continuamente está cambiando el formato del impreso así como los datos solicitados y modificar y recompilar cada vez y reinstalar es arduo.
Primeramente había pensado separar cada impreso en una DLL, con su acceso a datos, pero me temo que cada DLL seria excesivamente grande en tamaño, ya que tambien se hacen llamadas a la aplicación principal para capturar los datos de las tablas maestras, por lo que quizas algo "muy configurable" seria lo mejor, pero me parece que también "muy complicado".

Casimiro Notevi 06-02-2013 15:50:29

Si hay que modificar los informes y los usuarios no pueden o no saben hacerlo, no te queda otra que hacerlo tú. Pero lo que no se entiende es que tengas que recompilar e instalar el programa, ya que los informes pueden ir totalmente independientes del programa, en algún directorio o guardados en la base de datos.
Además, si no quieres que estén todo el día dándote la lata por cualquier modificación, aunque no sea importante, ¡¡¡cóbrales!!!, ya verás que pronto no necesitan tantos cambios como habían pensado ;)


La franja horaria es GMT +2. Ahora son las 18:45:57.

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