GeneXus - Reporte PDF en ventana nueva

   
Vista:

Reporte PDF en ventana nueva

Publicado por Antonio (3 intervenciones) el 21/10/2008 05:37:08
Hola,

Me podrían ayudar? quiero mostrar el Reporte PDF que genero pero en una ventana nueva.

Las valores de las propiedades del reporte son las siguientes:
Main program: True
Call Protocol: HTTP
Report Output: Only to File

Y en la reglas:
output_file('Reporte', "PDF")

Entonces lo que quiero es que el reporte lo muestre en una ventana nueva, para que si el usuario le da click en cerrar esa ventana, solo cierre el reporte y no la aplicación.

Gracias de antemano por la ayuda.

Saludos,
Antonio
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Reporte PDF en ventana nueva

Publicado por Chaly (54 intervenciones) el 25/10/2008 02:53:13
Voy a tratar de ser lo mas explicito posible:

esto que tu quieres hacer, se procesa a partir de scripts java, te doy los pasos y el script para hacerlo:

1. Supongamos que invocas al reporte desde un web panel, En algun lugar del webForm, de ese web panel inserta un TextBlock. En las propiedades de este TextBlock, configuras lo siguiente: en Caption: dale un espacio en blanco, esto para que tu textblock sea invisible, En Control name, le pones Redireccion (debes escribirlo tal cual) y finalmente en Format le pones HTML.

2. crea las siguientes variables WindowsId N(10.2), url Chr(400)

3. En el lugar de la invocación al reporte en los eventos, inserta el siguiente script:

&url = link(RXXXXX, XXXX, XXXXXX) //aca invocas el reporte pasandole los parametros que desees

&WindowsId = Random() * 100000

Redireccion.caption = '<script language="JavaScript">window.open("' + trim(&url) + '","' + Trim(Str(&WindowsId)) + '","target=_top,top=10,left=10,width=600,height=500,scrollbars=yes,menubar=no,toolbar=no,resizable=yes,directories=no");'

+ 'history.back();</script>'

y eso es todo, el resultado es la apertura de una ventana independiente de la ventana donde se genera tu aplicación.

Si sigues al pie de la letra las instrucciones no deberías tener problemas, este script es aplicable no solo a la apertura de ventanas de reportes, puedes jugar con los valores y podras abrir cualquier tipo de ventana, .

Cualquier inconveniente avisas.

Chaly
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Reporte PDF en ventana nueva

Publicado por Jaime (1 intervención) el 06/11/2008 19:38:44
Chaly

Cabal lo que necesitaba, gracias amigo exelente codigo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Reporte PDF en ventana nueva

Publicado por Pablo Dante (1 intervención) el 07/08/2012 17:50:49
Hola que tal es un gusto.

Estoy tratando de hacer lo que indicas en el Asunto: Reporte PDF en ventana nueva.

En mi caso desde un Web Panel necesito llamar a un reporte donde:

La información a descargar es un PDF (este archivo está guardado en un campo de tipo Blob).
Y el usuario me pide abrir dicho archivo en una ventana nueva o PopUp a parte. Donde se descarga el contenido del campo en este caso debe mostrar una Norma legal.
Para llamar al evento tengo en el WBP 1 una variable de tipo BitMap a la que le asigno un Evento quedandome de la siguiente forma:
WBP 1
Event 'VerArchivoPDF'
&CWbpDescargaPDF = RRNR0001e.Link(NRNoNumInt_NumIntNorma)
HWNR0001f.Call(&CWbpDescargaPDF)
EndEvent // Ver archivo PDF
// &CWbpDescargaPDF es una variable Char(400)

En el WBP 2 en el tengo un Text Block con las característica que nombras. Este Web Panel recibe un parámeto de entrada: parm(in:&PINurl);
Y en el evento Start lo siguiente:

&WindowsId = Random() * 100000
Redireccion.caption += '<script language="JavaScript">'+newline()
Redireccion.caption += 'window.open("'+&PINurl.Trim()+ '","'+Trim(&WindowsId.ToString())+'","target=_top,top=40,left=40,width=500,height=500,'+'scrollbars=yes,menubar=no,toolbar=no,resizable=yes,directories=no");'+newline()
Redireccion.caption += 'history.back();'+newline()
Redireccion.caption += '</script>'+newline()

Todo igual al código que mostras en tú explicación pero por alguna razón no pasa nada no me abre una ventana aparte ... ????

El Reporte tiene las siguiente propiedades y características
- Objeto: RNR0001e
- Parámetros: parm(in:&PINNRNoNumInt);
Output_File("VerPDFAdjunto.pdf", 'PDF');
- Call Protocol: HTPP
- Main Program: True
- Report uotput: Only to file

Si me podés dar una mano para solucionarlo te lo voy a agradecer.
Un saludo cordial Pablo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Ruperto

RE:Reporte PDF en ventana nueva

Publicado por Ruperto (23 intervenciones) el 30/04/2013 19:02:19
Gracias muy buen aporte ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Reporte PDF en ventana nueva

Publicado por Wolfang Mora (9 intervenciones) el 08/11/2008 23:32:08
Saludos,

Una manera más sencilla de resolver este problemas es:

1.- Crear un control text block, imagen o variable de tipo bitmap. (Ejm. imprimir).
2.- Dentro del evento de Start indicar la propiedad LinkTarget = "_blank".
3.- Hacer Link a este control link y llamar al objeto

Ejemplo con un text block sería:

Event Start
imprimir.LinkTarget = "_blank".
imprimir.Link(RImpreso)
EndEvent

Espero te ayude.

Atentamente,

Wolfang Mora
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

RE:Reporte PDF en ventana nueva

Publicado por GS (1 intervención) el 15/12/2011 23:09:41
Wolfang Mora son un master, gracias papa!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Reporte PDF en ventana nueva

Publicado por Maximiliano Espeche maximilianoespeche@gmail.com (4 intervenciones) el 29/04/2013 22:09:44
este parametro RImpreso de donde proviene ? soy new en esto! :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Ruperto

Reporte PDF en ventana nueva

Publicado por Ruperto (23 intervenciones) el 22/03/2015 01:35:52
http://wiki.genexus.com/commwiki/servlet/hwiki?LinkTarget+Property,
Espero y te ayude
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Reporte PDF en ventana nueva

Publicado por Federico Manuel feche1692@gmail.com (3 intervenciones) el 15/09/2015 02:26:51
consulta porque la verdad entiendo poco. yo estoy haciendo un reporte en pdf los reportes los lazo despues de un insert o de un update el tema es que me quedan en la misma ventana y los quiero abrir en popup. supongo que la respuesta esta por aca pero la verdad no me doy cuenta,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Maycoll

Reporte PDF en ventana nueva

Publicado por Maycoll (67 intervenciones) el 15/09/2015 16:07:43
Federico.
Que versión de GeneXus utilizas?

Este post es del año 2008.

Saludos.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Reporte PDF en ventana nueva

Publicado por Federico Rivoir (1 intervención) el 16/09/2015 00:04:55
la versión que estoy usando es la evo 3
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Maycoll

Reporte PDF en ventana nueva

Publicado por Maycoll (67 intervenciones) el 16/09/2015 14:31:21
Podes utilizar un UserControl que se llama Open in new window.
Lo podes descargar desde el Marketplace https://marketplace.genexus.com/product.aspx?openinnewwindow,es, la documentación de cómo utilizarlo está en la WIKI http://wiki.genexus.com/commwiki/servlet/wiki?Open+in+New+Window,


Aclaración:
El ejemplo en la documentación es con una URL externa, para obtener la URL de tu reporte ejecutas la siguiente línea reporte.Link().

Quedo a la orden.

Maycoll Bennett
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Reporte PDF en ventana nueva

Publicado por Federico Manuel (3 intervenciones) el 16/09/2015 17:43:46
te explico mas o menos lo que intento hacer, yo lo que quiero hacer es despues de hacer un insert de una reparacion en este caso me tire en una nueva ventana un pdf con los datos de la reparacion para esto en las rules de la transaccion reparacion ejecuto el procedimiento PDFNuevaRep on afterinsert cuando confirmas la nueva reparacion sale automaticamente el pdf lo que no se es como aplicar el evento in new window porque yo llamo al pdf desde las rules no se si me explico mas o menos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Maycoll

Reporte PDF en ventana nueva

Publicado por Maycoll bmaycoll@hotmail.com (67 intervenciones) el 16/09/2015 21:58:26
Fede, se entendió perfecto.

Y te pasé mal la info, si querés que salte una nueva ventana no hay que llamarlo desde las RULES.


Hacé lo siguiente:
1- Descargá el UserControl que te mencioné en el comentario anterior.
2- Instalalo, acá tenes cómo hacerlo... http://wiki.genexus.com/commwiki/servlet/wiki?HowTo%3A+Installing+User+Controls,
3- En el WEB FORM de tu Transacción agregá el UserControl al final de todo el HTML
4- En la pestaña EVENTS de la transacción agregá el siguiente código

1
2
3
4
5
6
7
8
9
10
11
Event After Trn
//Si ya hay código autogenerado por GeneXus dejalo arriba.
 
//Esto es lo que tenés que agregar
    InNewWindow1.Target = Reporte.Link(xxx, yyy, zzz, ......)
    InNewWindow1.Scrollbars = true
    InNewWindow1.Width = '900' // -- probá las medidas que mas te sirvan
    InNewWindow1.Height = '600' // -- probá las medidas que mas te sirvan
    InNewWindow1.OpenWindow()
//Hasta Aca
EndEvent

Probá eso y contame.

Maycoll Bennett
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Reporte PDF en ventana nueva

Publicado por Federico Manuel feche1692@gmail.com (3 intervenciones) el 25/09/2015 03:36:22
Mil disculpas por la demora, probe hacer lo que me decias pero me abre una ventana vacia lo cual no se por que, y cuando lo queria hacer tipo popup me tiraba error, el codigo de abajo es llamando al pdf directamente el tema esta en que no usa el innewwindows.
en si este codigo funciona perfecto pero demora un monton en aparecer el popup, alguna sugerencia?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Event After Trn
	/* Generated by Work With Pattern [Start] - Do not change */
	[web]
	{
		If (&Mode = TrnMode.Delete and not &TrnContext.CallerOnDelete)
			WWReparacion.Call()
		endif
 
		if(&Mode = TrnMode.Insert)
				PDFNuevaRep.Popup()
		endif
		if (&Mode = TrnMode.Update)
				PDFModificacionRep.Popup(&ReparacionId)
		endif
 
 
		Return
	}
		/*Generated by Work With Pattern [End] - Do not change */
 
 
EndEvent

saludos y desde ya muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar