FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Cerrar Previsualizacion de Reportes
Posts: 325
Joined: Sun Feb 03, 2008 11:04 PM
Cerrar Previsualizacion de Reportes
Posted: Wed Mar 11, 2009 08:46 AM

Estimados

Estoy Previsualizacion de Reportes antes de imprimirlos, como todos saben lo hace en segundo plano, la consulta es: como puedo cerrar esta previsualizacion si me cierran la aplicacion donde se generó dicha previsualizacion. :?

david
argentina

Posts: 364
Joined: Tue Oct 25, 2005 07:06 PM
Re: Cerrar Previsualizacion de Reportes
Posted: Wed Mar 11, 2009 08:15 PM

hola, haz la previsualizacion asi: "preview MODAL "

Software especializado para oficinas contables con grandes volumenes de Informacion
Impresion de todos los formularios del Seniat, Dian

alex_patino74@hotmail.com
whatsapp 57+3214777217
Posts: 325
Joined: Sun Feb 03, 2008 11:04 PM
Re: Cerrar Previsualizacion de Reportes
Posted: Sat Mar 14, 2009 08:08 AM
Estimados, muchas gracias por tu respuestas...

Inicializo la Impresion asi:


Code (fw): Select all Collapse
printersetup()

oPrn:=PrintBegin(Titulo,.F.,lPrv,,.T.)

DEFINE FONT oFnt1 NAME 'Arial'           SIZE 0,-9      OF oPrn
DEFINE FONT oFnt2 NAME 'Arial'           SIZE 0,-9 BOLD OF oPrn
DEFINE FONT oFnt3 NAME 'Arial'           SIZE 0,-12 BOLD OF oPrn // NESCAPEMENT 300
DEFINE FONT oFnt4 NAME 'Ms Sans SerIfl'  SIZE 0,-9      OF oPrn

oPrn:lPrvModal:=.T.
oPrn:SetPortrait()

etc.etc.etc.


donde sugeris que haga lo que me sugeris..

Ahora como dije antes, la Previsualizacion se realiza un 2° plano, osea que yo puedo volver a la aplicacion que generó dicha previsualizacion.... Se puede cerrar la misma desde de la aplicacion que genero el reporte??

salu2

david
argentina
Posts: 325
Joined: Sun Feb 03, 2008 11:04 PM
Re: Cerrar Previsualizacion de Reportes
Posted: Tue Mar 17, 2009 09:39 AM

Hola Amigos...

No se si se puede hacer esto o es que no se puede...

salu2

david
argentina

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Cerrar Previsualizacion de Reportes
Posted: Tue Mar 17, 2009 10:10 AM

David,

Que título te aparece en la ventana del preview ?

Se puede localizar esa ventana por el titulo y cerrarla, usando FindWindow()

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 325
Joined: Sun Feb 03, 2008 11:04 PM
Re: Cerrar Previsualizacion de Reportes
Posted: Wed Mar 18, 2009 08:24 AM
Gracias por la respuesta....

el titulo que me sale en la ventana es el colocado al crear el reporte:

oPrn:=PrintBegin(Titulo,.F.,lPrv,,.T.)

ahora, deberia poner asi ?

FindWindow(Titulo)

asi no hace nada....

gracias nuevamente

david
argentina
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Cerrar Previsualizacion de Reportes
Posted: Wed Mar 18, 2009 10:10 AM

David,

SendMessage( FindWindow( 0, cTitulo ), WM_CLOSE )

Fijate en el cero antes del titulo

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 325
Joined: Sun Feb 03, 2008 11:04 PM
Re: Cerrar Previsualizacion de Reportes
Posted: Thu Mar 19, 2009 08:16 AM

Gracias Antonio por tu respuesta...

pero no cierra la venta de Preview ... y no me da ningun error

david
argentina

Posts: 325
Joined: Sun Feb 03, 2008 11:04 PM
Re: Cerrar Previsualizacion de Reportes
Posted: Tue Mar 24, 2009 01:03 PM

Alguna otra opcion??

salu2

david

Posts: 325
Joined: Sun Feb 03, 2008 11:04 PM
Re: Cerrar Previsualizacion de Reportes
Posted: Tue Mar 31, 2009 08:50 AM

:?::roll:

Posts: 1074
Joined: Fri Oct 07, 2005 01:56 PM
Re: Cerrar Previsualizacion de Reportes
Posted: Tue Mar 31, 2009 01:18 PM
Hola

Yo lo he solucionado de la siguiente manera.

Code (fw): Select all Collapse
procedure X()
local lPrn := .f.

define dialog...

redefine button .. ACTION ( lPrn := .t., imprimir(), lPrn := .f. )

activate dialog VALID iif( lPrn, (MsgInfo( "Favor cierre la impresion antes de salir", "Usuario" ), .f. ), .t. )

return
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
Posts: 325
Joined: Sun Feb 03, 2008 11:04 PM
Re: Cerrar Previsualizacion de Reportes
Posted: Wed Apr 01, 2009 11:37 PM

Me parece una muy buena opcion... la voy a aplicar....

Muchas gracias

david
argentina

Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Cerrar Previsualizacion de Reportes
Posted: Thu Apr 02, 2009 01:51 AM
David...

Haciendo una recopilacion de lo que he encontrado aqui puedes hacer lo siguiente.... lo he probado y funciona...

Puedes tener un array con solo los nombres de los reportes, este array lo pasas como parametro a la funcion que te crea el reporte y lo cargas depues de creado el reporte...
De esta forma siempre vas a tener el nombre del todas las ventanas en el modulo que crea el reporte

colocas un valid al window/dialog cerrando las ventanas que este abrio

Ejemplo

Code (fw): Select all Collapse
     
...
...     
     define window oWnd title "Test Report"
          CreaReporte( aRep )
     activate window oWnd valid( aEval( aRep, {| cName | sendmessage( findwindow( 0,cName ), WM_CLOSE ) } ), .t. )
...
...

   Functionn CreaReporte( aRep )
   
           REPORT oReport ;
          TITLE "*** LISTADO DE PRUEBA ***","",OemtoAnsi("FiveTech Software"),"" ;
          FONT oFont1, oFont2 ;
          HEADER "Fecha: "+dtoc(date()),"Hora:  "+time() ;
          FOOTER OemtoAnsi("P gina: ")+str(oReport:nPage,3) ;
          PREVIEW   // TO PRINTER
...
...

     ACTIVATE REPORT oReport 

     aadd( aRep, oReport:cName )

return NIL
Posts: 325
Joined: Sun Feb 03, 2008 11:04 PM
Re: Cerrar Previsualizacion de Reportes
Posted: Thu Apr 02, 2009 09:37 AM
Muchas gracias...

y con la clase TPRINTER como reemplazo esto: aadd( aRep, oReport:cName )



oPrn:=PrintBegin(Titulo,.F.,lPrv,,.T.)

aadd( aRep, oPrn:cName ) me da error al ejecutar

aadd( aRep, Titulo ) No me ningun error, pero NO me cierra la venta...

ahora..... esta bien que lo haga así?
Code (fw): Select all Collapse
....
  @ 3,  5 BUTTON 'Aceptar' OF oDlgReporte ;
                     ACTION ( FIC_EQUI2(mCODI) ,;
                            oDlgReporte:End() );
                   SIZE 50, 10

  @ 3, 25 BUTTON 'Salir'   OF oDlgReporte ACTION ( oDlgReporte:End() ) SIZE 50, 10

ACTIVATE DIALOG oDlgReporte CENTERED;
                ON INIT ( oCODI:SetFocus() , .f. ) 

aEval( aRep, {| cName | sendmessage( findwindow( 0,cName ), WM_CLOSE ) } )

return .t.
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Cerrar Previsualizacion de Reportes
Posted: Thu Apr 02, 2009 12:25 PM
El equivalente para la clase Print seria oPrn:cDocument

aadd( aRep, oPrn:cDocument )