Personalizacion de Informes


([N1] Antonio Osorio) #1

Hola.

Algun alma caritativa, podria decirme como debo montar mis proyectos, estancias, soluciones, etc para que para un programa pueda personalizar los informes en funcion del cliente donde instale la aplicacion.

Un Saludo y gracias.


([N4] eic) #2

Hola.

Te cuento alguna cosa que puedes hacer (sobre todo, por lo que he escuchado a otros), aunque si vienes de 6.x, verás que no es posible (que yo sepa) conseguir todas las funcionalidades que aportaba el antiguo Personalizador. Dependiendo de tu problemática concreta, esto puede servirte o no.

El programa en sí iría en una solución (SolucionA). Después, creas la solución de la empresa A (EmpresaA), que tendría una sola caja de aplicación (InformesEmpresaA), que contiene los informes de la aplicación (y el marco Autoexec), y que hereda a toda la solución completa anterior (SolucionA).

Como los informes están en InformesEmpresaA, que está "arriba de todo en el esquema", conoce las tablas que hay por debajo. Y en tu SolucionA, allá donde quieras que el usuario pueda usar informes, pones "puntos de inserción" para "inyectar" los informes desde arriba.

Al cliente le instalas la solución EmpresaA (al instalarla, le instalará también la SolucionA). Si en el futuro haces cambios en tu programa, se los harás a SolucionA, que es válida para todos los posibles clientes.

Los problemas de este esquema de funcionamiento son:

- Necesitas mantener en tu servidor de desarrollo una solución por cada cliente (EmpresaA, EmpresaB...), además de la solución general (SolucionA).
- Los puntos de inserción son una solución ingeniosa, pero no permiten todo el abanico de funcionalidades que tendrías con un informe normal en su sitio (p.ej., no podrías usar la exportación a PDF desde proceso, porque el informe "no está ahí", sino varias cajas "más arriba").
- El propio cliente no puede personalizar sus informes, a menos que tenga una licencia de vDevelop
- No es fácil añadir nuevos informes no previstos inicialmente, si no tienes puntos de inserción adecuados (cosa que con el Personalizador de 6.x era más sencillo).
- Aunque personalizaras un informe en la instalación del cliente directamente, sería necesario reiniciar la solución para que entrara en funcionamiento, cuando en el Personalizador de 6.x las personalizaciones se aplicaban sobre la marcha, y podías hacerlas por cada usuario!

De momento, parece que está en estudio por parte de Velneo (según se indica en el foro de Ideas) presentar alguna solución adicional al problema de la personalización de aplicaciones.

Saludos,

Fran Varona


([N1] josemanuel) #3

Entonces si tengo 50 clientes ¿tengo que mantener 50 soluciones diferentes?

Muchas gracias


([N4] eic) #4

Hola.

@jmcf3.hotmail: si quieres poder personalizar sus informes, y usando este esquema, sí. Pero también es cierto que la solución de cada cliente es muy pequeña (sólo los informes y alguna cosa más), porque "lo gordo" quedará en la solución común a todas ellas, que todas ellas heredan.

Pero, como dije, puede haber otros esquemas de trabajo (que desconozco), y Velneo tiene este tema en revisión.

Saludos,

Fran Varona


([N1] Antonio Osorio) #5

Hola.

Gracias eic.eurosistemas, por tu explicacion.

Estoy haciendo lo que me comentas, pero no se como colocar los puntos de insercion, por ejemplo, en el formulario de edicion de uno de los registros, tengo una pestaña con la previsualizacion del informe, donde coloco lo de la previsualizacion.

Otro punto en el que quiero imprimir es, desde el formulario principal, desde este formulario, selecciono un registro y con un boton lanzo un proceso que imprime la ficha.

Ahora sin esos puntos de insercion, ni se previsualiza, ni se imprime nada.

Una ayudita, por favor.


([N4] eic) #6

Hola.

Yo no he hecho pruebas al respecto, pero:

La información de cómo se usan los puntos de inserción la tienes aquí:

http://velneo.es/info_v7_77_es/velneo_vdevelop_v7#herencia

Y un ejemplo de cómo se usa lo tienes aquí:

http://velneo.es/tutor-herencia-inversa-10/

Parece que sólo se puede usar la herencia inversa en formularios (donde pondrías una previsualización de informe) y en acciones. Para lo que tú comentas, la pestaña con la previsualización del informe es fácilmente solucionable. En el caso del proceso que imprime la ficha, lo puedes intentar con una acción, o bien, creas un formulario que tiene la previsualización del informe y lo abres desde el proceso.

Saludos,

Fran Varona


([N1] maltrana) #7

Es una lástima que una herramienta tan potente como v7 no tenga una solución cómoda, fácil e imprescindible en la creación de aplicaciones de gestión como la posibilidad de personalizar de forma cómoda los informes cuando la misma aplicación se distribuye de más de un cliente.

De hecho, cuando una empresa de software se plantea hacer apliaciones en este esquema de negocio (es decir más de un usuario) es imprescible que se puedan personalizar los informes sin que eso sea un quebradero de cabeza ni para el cliente ni para el desarrollador.

El escenario que vamos a analizar es una aplicación distribuida en 100 clientes.

De repente alguien se baja la aplicación por internet... para personalizarla tiene que llamarte.. abrir la caja nueva en el mapa... y tú tendrás que mandarle a mano solo las cajas que estén debajo de la suya. Este comportamiento lo tendrás que hacer con TODOS tus clientes ya que si tras una actualización le mandas un .vin que contiene toda la aplicación pisarás sus cajas personalizadas (en el caso de que el cliente final tenga un vDevelop como herramienta para modificar).

Imaginar el lío de tener 100 cajas en la parte de arriba, o la cara que pondría el cliente final si solo quiere meter una nueva línea en un ticket al abrir el vdevelop. Además en la misma empresa el gerente no quiere los mismos informes que los empleados...

Total que la solución fantástica sería algo que:

Permita la personalización de los informes por parte del cliente sin depender en absoluto del desarrollador.
Sin tocar la aplicación principal los nuevos informes entren de manera transparente en la aplicación
Que sea sencilla y con las herramientas imprescindibles (imágenes y listados) para que sea fácil de usar y de aprender
Que sea transparente entre versiones del programa y que nuevas actualizaciones no machaquen las personalizaciones
Que se pueda aplicar sin reiniciar el motor
Permita diferentes listados a diferentes usuarios.

Ahora que lo pienso, ya hay una herramienta que hace todo esto ;-)


([N4] info) #8

Pues si es una mala leche no poder personalizarlos
Pero tambien puedes hacertelos en xml. así preparandote algun modulito podras hacer una especie de personalizador.
y luego imprimirlos
lo digo como idea, ya se que es un poco coñazo, pero a falta de pan.......
un saludo
Miguel


([N1] Antonio Osorio) #9

Hola.

Todo esto de la personalizacion de informes me resulta super complicado, quizas por falta de conocimientos, pero me desanima bastante.

Me llama un cliente, con V6, que quiere unos retoques en su formato de factura y ademas un nuevo informe de entidades, tengo que bajar de internet el personalizador, instalarlo y hacer las modificaciones, en todo esto invierto 17 minutos. llevo 2 dias para ver como personalizar los informes de una aplicacion en V7.

Son cosas como estas las que me hacen replantearme mi situacion actual con respecto a V7.

Un Saludo.


([N4] velavisual) #10

Hola,
.
¿Que os parecería si las licencias de ejecución propietarias del cliente final, permitieran la edición y personalización de los objetos informes ?
.
Simplemente habría que conectar con el vDevelop al vServer del cliente y realizar la personalización.
.
También permitiría al cliente poder realizarlo por sí mismo.
.
.
Simplemente es una idea de Primer Nivel , ¿Qué opinais?
.
Saludos
Antonio Vela
http://www.velavisual.com


([N4] info) #11

Hola Antonio:
En principio No estoy de acuerdo, al final tendrías 40 aplicaciones distintas, ¿que pasaría, cada vez que actulizaras?
Salvo que hubiera un proyecto a parte con informes/cosas
personalizados, que no se actualice cada vez que generes con el install builder un a nueva versión/Iteracion.... a lo mejor es una solución
un saludo
Miguel


([N1] Giuseppe::Komenco) #12

La mejor solución que veo a este tema, ya lo comenté en la idea en cuestión.

Que un VDevelop, al conectarse a un vServer sin licencias de edición, y sólo permita editar los objetos informe, sería una idea estupenda yo creo. El 80% de ltrabajo (el editor de informes) ya está, y no habría que tener ninguna herramienta extra para los informes, se harían, con el editor.

Pero, sigo pensando, que también sería necesario que los informes fueran persistidos en disco de alguna manera, por que si no, no puedo enviarle a un cliente por correo un informe modificado, por ejemplo, o como han comentado, poder añadir informes nuevos a una aplicación sin depender de tener que conectarse con el vServer.


([N1] maltrana) #13

La solución del vDevelop es buena... pero

Debe permitir que las personalizaciones del cliente NO interfieran con las modificaciones de la aplicación de base
Debe permitir que se pueda personalizar sin tocar nada por el desarrollador (para aplicaciones a las que te conectas en la nube o te bajas por internet)
Debe ser lo más sencilla posible y que los listados sean fáciles de encontrar y de modificar (el vDevelop asusta, chicos)


([N2] bannu) #14

Los informes se deberían guardar en formato XML, fuera del vDevelop , luego se tendría que disponer de una herramienta para que el cliente editara los informes (vReportEditor) y los modificara a su gusto.