IMPRESION CON FORMATO .RPO

IMPRESION CON FORMATO .RPO

Postby jponce » Fri May 16, 2008 8:00 pm

Alguien podría ayudarme con esto, quiero trabajar con reportes parametrizables como por ejemplo:


Inicialice( "oPrn","")
Inicialice( "oFont1","")
Inicialice( "oFont2","")
Inicialice( "oFont3","")
Inicialice( "oCheque","")
Inicialice( "oPoliza","")
Inicialice( "l",0)
Inicialice( "nEsp",0)
Inicialice( "oPara","")

oCheque := banCheque()
oPoliza := banPoliza()

oPara := _DaPara()
PrnSetSize( 2160, 1880 )

oPrn := ActivaImpresora( "Impresión de Cheque", .f. )
oFont1:= ActivaFont( "MS Sans Serif", 0, -08, oPrn )
oFont3:= ActivaFont( "MS Sans Serif", 0, -10, oPrn )
oFont2:= ActivaFont( "MS Sans Serif", 0, -10, oPrn, .t. )
nEsp := EspacioFont( oPrn, oFont1 ) + 0.05

IniciaPagina()

Imprimir( oPrn,0.2,8.7,"** NO NEGOCIABLE **",oFont2 )
Imprimir( oPrn,2.1.0,17.1,FormatoNum(oCheque:FieldGet(9),"***,***,**9.99"),oFont1 )
//,oFont2 )
Imprimir( oPrn,1.3,12,FormatoFec(oCheque:FieldGet(3),5),oFont1 )
Imprimir( oPrn,2.15,4.1,oCheque:FieldGet(4),oFont1 )
//Imprimir( oPrn,3,4.3,Num2Letras( oCheque:FieldGet(9)),oFont3 )
Imprimir( oPrn,3,4.3,Num2Letras( oCheque:FieldGet(9)),oFont1 )
//Imprimir( oPrn,6.5,1.5,"Obs: "+oCheque:FieldGet(6),oFont1 )

l := 8.2
IniciaLoop( "!oPoliza:Eof()" )
Imprimir( oPrn,l,1.5,oPoliza:FieldGet(1),oFont1 )
Imprimir( oPrn,l,4,cIzquierda(oPoliza:FieldGet(5)+"/"+oPoliza:FieldGet(2),55),oFont1 )
Imprimir( oPrn,l,15.5,FormatoNum(oPoliza:FieldGet(3),"999,999,999.99"),oFont1 )
Imprimir( oPrn,l,18,FormatoNum(oPoliza:FieldGet(4),"999,999,999.99"),oFont1 )

l := l+nEsp
oPoliza:Fetch()
TerminaLoop()

l := l+nEsp
// Imprimir( oPrn,l,4,oCheque:FieldGet(5),oFont1 )
l := TextoJustificado( oPrn, l, 4, 10.5, oCheque:FieldGet(5), oFont1, nEsp )

Imprimir( oPrn,15.6,4.1,"RECIBIO:",oFont1 )
Imprimir( oPrn,15.95,4.1," Nombre: ___________________________________ No. Cédula: ________________",oFont1 )
Imprimir( oPrn,17.2,1,oPara:cUser,oFont1 )

TerminaPagina()

DesActivaImpresora()

PrnSetSize( 2160, 2790 )
CancelaFont( oFont1 )
CancelaFont( oFont2 )
CancelaFont( oFont3 )


Lo que quiero es algo parecido a la macrosustitucion de FOXPRO
se puede ?

Asi este archivo lo pongo en una carpeta de reportes y no tengo que estar compilando mi aplicación.

Atentamente,
Julio Ponce
jponce
 
Posts: 197
Joined: Fri Apr 18, 2008 4:21 pm
Location: Guatemala

Postby Antonio Linares » Sat May 17, 2008 8:55 am

Julio,

A mi me parece que puedes hacerlo de igual forma con Harbour/xHarbour y FWH

Solo necesitas implementar esas funciones que parecen bastante sencillas de hacer: Imprimir(), etc.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42160
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby MOISES » Sat May 17, 2008 11:03 am

Hola:

También puedes usar generadores de informes, como:

http://www.canalfive.com/modules.php?name=_prod_report_

http://www.paritetsoft.ru/frh.htm

Y sylvio de Italia está también desarrollando uno nuevo.

Un saludo,
MOISES
 
Posts: 838
Joined: Wed Aug 22, 2007 10:09 am

Postby jponce » Sat May 17, 2008 10:33 pm

Antonio


Las funciones Imprimir si las tengo, lo que quiero es que este segmento de programacion este fuera, por ejemplo en un archivo .txt o .rpo para que el usuario pueda modificar sus formatos de impresion, y no tener que compilar la aplicación cada vez que se cambie un formato de impresion.


Gracias

Atentamente
Julio Ponce
jponce
 
Posts: 197
Joined: Fri Apr 18, 2008 4:21 pm
Location: Guatemala

Postby Antonio Linares » Sat May 17, 2008 11:06 pm

Julio,

Solo tienes que ir leyendo línea a línea del fichero de texto en donde tengas las instrucciones guardadas y hacer un macro de la línea.

Por ejemplo:
Code: Select all  Expand view  RUN
local cImpreso := MemoRead( "impreso.txt" )
local nLinea := 1

while nLinea <= MLCount( cImpreso )
   cLinea = MemoLine( cImpreso,, nLinea++ )
   &cLinea // ejecuta el código contenido en esa línea
end
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42160
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby jponce » Thu May 29, 2008 9:07 pm

Gracias Antonio

Funciono bien


Atentamente
Julio Rodrigo Ponce Hinestroza
jponce
 
Posts: 197
Joined: Fri Apr 18, 2008 4:21 pm
Location: Guatemala


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 43 guests