Informe de vReport en una pestaña del formulario


([N1] OscarBarea) #1

Hola,
Quisiera insertar en una de las pestañas de la Factura la vista previa de un informe de vReport, pero no se como hacerlo. Lo he estado buscando, pero no encuentro información.
Se puede hacer?
Gracias
Oscar B:


([N4] ofsantana) #2

Hola sí se puede hacer.
En resumen lo que tienes que hacer es:

  1. Crea un formulario que será en donde se presentará el informe, y agregale un control HTML.

  2. En el OnShow del formulario, ejecuta un manejador de evento, que haga lo que hacen los procesos de búsqueda e impresión de los reportes personalizados, pero en ves de hacerlo en 2 procesos, unifícalo en uno sólo, en donde llames al reporte según el identificador (que deberías hacer de cierta manera fijo, o que se guarde en un campo para que traiga automáticamente un sólo reporte) y selecciones que su salida sea un archivo PDF en una ruta común, como puede ser el caché del cliente.

  3. En el control visor HTML del formulario elige el estilo texto HTML, y coloca en el editor de fórmula la ruta del archivo .PDF que generaste en el caché del cliente.

  4. Este paso es opcional, crea un botón en el mismo formulario en donde edites el reporte, para esto guarda en una variable local el identificador del reporte y en el botón del evento carga la lista de las definiciones de informe por ese identificador y ejecuta el comando editar informe.

Así lo hago yo y me funciona perfectamente, y no se hace pesado al ser ejecutado exclusivamente en el OnShow y además al generar el reporte en la caché del cliente, cada usuario estará visualizando el informe de la factura que estén viendo.

Espero te ayude, cualquier duda estoy a tu disposición.

Saludos.


([N1] OscarBarea) #3

Gracias #ofsantana, lo he probado y todo me funciona correctamente, genero el informe pdf en la caché del cliente y lo veo perfectamente, pero en el control html solo puedo leer la ruta (correcta) donde se encuentra el fichero.
C:/Users/Oscar/Velneo/cacherun/127.0.0.1/2153.pdf
No se donde puede estar el fallo.
Alguna idea?
Gracias
Oscar B.


([N1] marianoyana) #4

Con Vreport que no lo tengo no lo he hecho, pero si con los informes de Vdevelop, lo he hecho de la siguiente forma: creo un formulario para las pestañas, en un formulario que posteriormente me aparecerá en una de las pestañas inserto un Control Vista de datos y en este en el objeto 1 tengo un proceso para que me cargue los plurales de otra tabla y en el objeto 2 puedo elegir la forma que me lo cargue mediante una rejilla, multivista o en este caso pongo un informe y selecciono él que quiero.

No sé si será ésto lo que quieres.

Saludos


([N4] ofsantana) #5

Hola, pues mira, yo tengo las propiedades lo siguiente.

Contenido= tempPath()+"/PEDVT.pdf"

Opciones: Contenido = URL

Prueba con eso y me dices.

Saludos.


([N1] OscarBarea) #6

Gracias #ofsantana, si el contenido=URL funciona perfecto.
Muchas gracias
Oscar B.


([N4] ofsantana) #7

Me alegra que te haya funcionado.

Saludos.


([N3] ereitmann) #8

Hola Buen dia, aplique lo comentado por ofsantana, y puedo visualizar el archivo generado por vreport, en la pestaña del formulario, todo con evento onshow, ahora si paso a otra pestaña y realizo algún cambio en algun campo relacionado con el reporte, cuando regreso a la pestaña que muestar el reporte no salen los cambios actualizados, tengo que cerrar la ficha y volverla a abrir para verlos.
Alguno sabe por que es esto o como puede corregirse? gracias
Santa saludos, tu me iniciaste con velneo con un curso que me diste en v6 cuando estabas con visualveo


([N1] aztecmexico) #9

Para que te saliera actualizado en todo momento tendrías que disparar el reporte cada que se seleccione la pestaña.
Ojo, en el proceso que lo llama inicializa todas las variables que intervengan (en caso que uses algunas).


([N4] ofsantana) #10

Hola, lo que dice mi amigo Martin es correcto, puedes hacer lo que él dice, o puedes tambián colocar un botón de Recalcular, que simplemente repita el proceso, de esta manera creo que también pueda funcionar.

Así que cualquier de las 2 opciones estaría víable, según lo que necesites.

Saludos.


([N1] marianoyana) #11

Como dice ofsantana yo lo que tengo en un manejador de evento que me recalcule el control donde está el informe.


([N3] ereitmann) #12

Hola el proceso esta en un evento onshow del formulario que esta en la pestaña, supuestamente cada vez que cliqueo la pestaña tendría que relanzarse , el proceso on show debe estar el pestaña, o en el formulario que esta contenido en esa pestaña?


([N4] ofsantana) #13

Creo, y por favor si me equivoco me corrigen, creo que el evento OnShow, carga la primera vez, osea, una vez que se abre el formulario y abrimos la pestaña entonces el OnShow se ejecuta y queda así, guardando en caché lo que cargó y si cambiamos de pestaña el OnShow no se va a volver a ejecutar, por lo que debemos o colocar un botón de Recalcular o cerrar el formulario.

Repito, creo que esto es así por lo que a todos nos pasó que tuvimos que hacer el botón para recalcular el reporte.

Saludos.


([N3] ereitmann) #14

ofsantana algo de eso debe ser así por que en el mismo evento puse por un lado lo que ya tenia que era así :
Infome externo:(exportar a fichero (formula,variable de la formula,PDF,sysCacheClientPath+ variable id de informe+“pdf”) que es la senda que lugo toma el visor html

y seguido a eso agregue solo para previsualizarlo externamente al formulario:
(informe externo: previsualizar informe (formula, variable de la formula)

y en la pestaña no se refrescan los cambios pero en la vista que se abre de la previsualizacion si, por lo tanto onshow no me refresca los cambios como dice santana hay que cerrar la ficha y volverla a abrir,
alguna solución paliativa a esto?


([N3] ereitmann) #15

Tal vez con javascript se podria salvar esa limitación, alguien sabe como como?


([N3] ereitmann) #16

El problema o limitación creo que esta en el visor html, el cual a pesar de ya no existir mas el archivo que figura en su senda continua mostrando ese documento y solo se cambia cuando se cierra el formulario que lo contiene, hice diversas pruebas con distintos procesos