Pasar parametro a Rpreview

Post Reply
Loren
Posts: 458
Joined: Fri Feb 16, 2007 10:29 am
Location: Cadiz - España

Pasar parametro a Rpreview

Post by Loren »

Compañeros:

He modificado el Rpreview de los REPORT y PRINT y lo he adaptado a mis necesidades, con nuevas funciones (Transformar el listado a EXCEL y/o PDF). El tema es como hago pasar un parametro cuando se ejecute el Rpreview.

En mi caso quiero deshabilitar el botón EXCEL en determinados listados. ¿Sería posible?

Un pequeño ejemplo no vendría mal: :D
Mil gracias.
LORENZO
Loren
Posts: 458
Joined: Fri Feb 16, 2007 10:29 am
Location: Cadiz - España

Post by Loren »

¿ Existe forma de hacerlo ?
User avatar
sysctrl2
Posts: 833
Joined: Mon Feb 05, 2007 7:15 pm
Contact:

Post by sysctrl2 »

Loren,

Puedes compartir el proceso que envia a excel ?

tengo tiempo buscando algo como lo que tu tienes,

saludos..
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Post by FranciscoA »

sysctrl2 wrote:Loren,

Puedes compartir el proceso que envia a excel ?

tengo tiempo buscando algo como lo que tu tienes,

saludos..
SysCtrl2:
Puedes utilizar la clase RepExcel, de Arteaga o José Murugosa, creo. A mi me funciona muy bien hasta la fecha.
Saludos.
User avatar
wmormar
Posts: 1050
Joined: Fri Oct 07, 2005 10:41 pm
Location: México
Contact:

Post by wmormar »

FranciscoA,

Cesar se refiere a un proceso que envie automaticamente del rpreview a excel (sólo falta confirmar por césar, pero creo que eso es la idea)
William, Morales
Saludos

méxico.sureste
Loren
Posts: 458
Joined: Fri Feb 16, 2007 10:29 am
Location: Cadiz - España

Post by Loren »

Haber, compañeros:

Tengo modificado la funcion RPREVIEW.prg, de manera que cuando me aparece un PREVIEW de un REPORT o PRINT, me aparecen nuevas opciones: Migrar a PDF, migrar a EXCEL.

El problema es que por la propia naturaleza de algunos listados, no es lógico migrarlo a EXCEL porque al ser básicamente textos no tiene sentido pasarlo a una hoja de cálculo. Por ello, me gustaría que al activar el PREVIEW de estos listados, le pudiese pasar algún parámetro que me permita desactivar el botón EXCEL.

¿ Existe esa posibilidad ?
Espero haberme explicado.
Gracias. LOREN.

SysCrtl2, para migrar a EXCEL utilizo la clase TFILESXLS. Es sencilla y facil de usar. Está en el foro. Un ejemplo:

Code: Select all

funct lisaforo_excel()
     local x,ntasien:=0
     cursorwait()
     DEFINE XLS FORMAT nFormatFecha PICTURE XLSFORMAT_DATE_1
      DEFINE XLS FORMAT nFormat2 PICTURE '#######0000000'
      define XLS font letra1 name 'Arial' HEIGHT 9
      define XLS font ole    name 'ARIAL' HEIGHT 15
      XLS oXLS FILE "ListadoAforo.xls" AUTOEXEC
       XLS COL 1 WIDTH 7  OF oXLS
       XLS COL 2 WIDTH 10 OF oXLS
       XLS COL 3 WIDTH 12 OF oXLS
       XLS COL 4 WIDTH 5  OF oXLS
       XLS COL 5 WIDTH 10 OF oXLS
       XLS COL 6 WIDTH 8 OF oXLS
       XLS COL 7 WIDTH 7  OF oXLS
       XLS COL 8 WIDTH 8  OF oXLS
       XLS COL 9 WIDTH 8  OF oXLS
       @ 1,1 XLS SAY NEMPRESA OF OXLS FONT OLE
       @ 2,1 xls say 'Aforo del Recinto'      of oxls font letra1
       @ 3,1 xls say 'Distribución del Aforo' of oxls font letra1
       @ 5,1 xls say 'Tendido' OF oXLS font letra1 BORDER BORDER_DOWN
       @ 5,2 xls say 'Ubicación' OF oXLS font letra1 BORDER BORDER_DOWN
       @ 5,3 xls say 'Zona' OF oXLS font letra1 BORDER BORDER_DOWN
       @ 5,4 xls say 'Fila' OF oXLS font letra1 BORDER BORDER_DOWN
       @ 5,5 xls say 'Números' OF oXLS font letra1 BORDER BORDER_DOWN
       @ 5,6 xls say 'NºAsiento' OF oXLS font letra1 BORDER BORDER_DOWN
       @ 5,7 xls say 'Jubilado' OF oXLS font letra1 BORDER BORDER_DOWN
       @ 5,8 xls say 'Jóvenes' OF oXLS font letra1 BORDER BORDER_DOWN
       @ 5,9 xls say 'Puerta' OF oXLS font letra1 BORDER BORDER_DOWN
       select 2;  aforo->(OrdSetFocus('TZFAFORO')) ;  aforo->(DBGOTOP()) ; x:=6
       do while .not. eof()
         @ x,1 xls say aforo->tendido     of oxls font letra1 &&format nformat2
         @ x,2 xls say iif(aforo->sol='S','Sol','Sombra')   of oxls font letra1
         @ x,3 xls say iif(aforo->zona=1,Z1,iif(aforo->zona=2,Z2,iif(aforo->zona=3,Z3,Z4))) of oxls font letra1
         @ x,4 xls say iif(fila=0,'',aforo->fila) of oxls font letra1 &&format nformat2
         @ x,5 xls say ('Del '+alltrim(str(aforo->numerod))+' al '+alltrim(str(aforo->numeroh))) of oxls font letra1
         @ x,6 xls say nasien() of oxls font letra1 &&format nformat2
         @ x,7 xls say iif(aforo->jubilado=.t.,' SI','') of oxls font letra1
         @ x,8 xls say iif(aforo->jovenes=.t.,' SI','')  of oxls font letra1
         @ x,9 xls say aforo->acceso                     of oxls font letra1
         ntasien+=nasien()
         x++
         skip
       enddo
       @ x+1,5 xls say 'TOTAL:' of oxls font LETRA1
       @ x+1,6 xls say ntasiento of oxls font LETRA1 &&format nformat2
       SET XLS TO PRINTER HEADER "&ZFecha: &F&C"+nempresa+"&DPágina Nº &P" FOOTER nempresa TOP MARGIN 0.6 BOTTOM MARGIN 0.8 LEFT MARGIN 0 OF oXLS
      ENDXLS oXLS
      cursorarrow()
      aforo->(DBGOTOP()) ; lisar:refresh() ; lisar:gotop()
return
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Pasar parametro a Rpreview

Post by FranciscoA »

Loren wrote:Compañeros:

He modificado el Rpreview de los REPORT y PRINT y lo he adaptado a mis necesidades, con nuevas funciones (Transformar el listado a EXCEL y/o PDF). El tema es como hago pasar un parametro cuando se ejecute el Rpreview.

En mi caso quiero deshabilitar el botón EXCEL en determinados listados. ¿Sería posible?

Un pequeño ejemplo no vendría mal: :D
Mil gracias.
LORENZO
Lorenzo:
Estoy interesado en la solución que especificas. Para ello, necesito lo siguiente:
¿Has modificado la classe TPrinter?
¿Has modificado la classe TReport?
¿Puedes compartir el codigo RPreview modificado?

Mi correo: f.alegria.p@Gmail.com

Saludos.
Francisco Horta
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Post by Francisco Horta »

Lorenzo,

Se me ocurre que crees una DATA nueva en la rpreview y desde tu objeto indiques si se activa el excel, y lo controlas con la clausula WHEN
salu2
paco
User avatar
sysctrl2
Posts: 833
Joined: Mon Feb 05, 2007 7:15 pm
Contact:

Post by sysctrl2 »

Lore,

Como dice el amigo willIAM

La idea es tenerun boton en el preview q diga exportar a excel,

que lo que esta en el preview se pasa a excel tal cual esta

en pantalla,,

saludos...
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Post by FranciscoA »

Loren:
Como te expuse anteriormente, uso la libreria RepExcel, la incluyo en lib de terceros del Verce, y todo bien. Obtengo exactamente un listado de lo que se presenta en la pantalla del preview.

Para desactivar el boton de Excel en el Rpreview haz lo siguiente:
(para no modificar ninguna classe.

En Preview.prg :
static lEnvExcel //FranciscoA Dic 24/2008 Presentar o no botton Excel
//----------------------------------------------------------------------------//

function RPreview( oDevice )
....
....
....

//Variable para condicionar las lineas afectadas por el botton excel
//Haz lo que tengas que hacer.
lEnvExcel := EnviaExcel()

---------------------------------------------------------------

//Crear en tu programa principal :
Static lEnvAExcel := .t.

//Crear esta funcion:
Function EnviaExcel()
Return lEnvAExcel


Luego, en cada reporte que no requieras el boton excel:

lEnvAExcel:=.f. //FranciscoA Dic 24/2008 (No presentar boton Excel en
RPreview)


REPORT oReport ;
TITLE;
...
...
PREVIEW

ACTIVATE REPORT oReport

lEnvAExcel:=.t. //FranciscoA Dic 24/2008 (Restablecer a .t.)
RETURN NIL

Espero solucione tu requerimiento.

Saludos, y feliz navidad.

Francisco J. Alegria P.
Chinandega, Nic.
User avatar
tosko
Posts: 28
Joined: Sat Oct 29, 2005 12:01 am
Location: Puerto Vallarta MX
Contact:

Re: Pasar parametro a Rpreview

Post by tosko »

Hola Foro, hace tiempo yo tambien modifique y agrege al treport el metodo de pasar a excel solo llamando a este de esta manera METHOD oReport:ToExcel(lExcel)
lo tengo funcionando en una aplicacion tiene algunos detalles que no he corregido o mejor dicho mejorado por falta de tiempo..

si gustean tambien puedo compartir esta classe...

Saludos TOSKO
Feliz Navidad y Prospero Año Nuevo para ustedes y sus familia
Salud, Paz y porqueno dineros ....

Loren wrote:Compañeros:

He modificado el Rpreview de los REPORT y PRINT y lo he adaptado a mis necesidades, con nuevas funciones (Transformar el listado a EXCEL y/o PDF). El tema es como hago pasar un parametro cuando se ejecute el Rpreview.

En mi caso quiero deshabilitar el botón EXCEL en determinados listados. ¿Sería posible?

Un pequeño ejemplo no vendría mal: :D
Mil gracias.
LORENZO
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Pasar parametro a Rpreview

Post by FranciscoA »

Hola TOSKO.
¿Podrías compartir tu classe modificada, aquí?
O puedes enviarmela a mi email f.alegria.p@Gmail.com

Feliz navidad para ti, y toda tu familia.

FranciscoA
Post Reply