Página 1 de 1

Report y oCanvas

Publicado: Vie May 25, 2007 12:36 pm
por jose.luis
Hola,
En un report quiero que, al terminar el report, se imprima una 'coletilla'
en una página nueva . Para ello pongo :
oR:OnPostEnd := {| o | ::PieListado( oR ) }
Y en el método 'PieListado' hago (entre otras cosas)
METHOD PieListado( oR ) CLASS miClase
oR:NewPage()
or:oDevice:oCanvas:Textout( 650,
oR:oDevice:oCanvas:PixelsToMapMode( 0, oR:nRow)[2],"Texto "+STR(nx))
oR:NewLine()
or:oDevice:oCanvas:Textout( 650,
oR:oDevice:oCanvas:PixelsToMapMode( 0, oR:nRow)[2],"Texto "+STR(nx))
....
....
RETURN .T.
El resultado es que se añade una página al listado pero todas las lineas
impresas en PieListado salen sobreescritas (misma fila). Además, la
impresión de los 'Headers' del listado aparecen de forma incorrecta.
Creo que a lo mejor estoy confundido con el uso de ocanvas y el método
PixelsToMapMode.
Os dejo un ejemplo donde se ve lo que me ocurre.
Cualquier ayuda será muy agradecida.
Saludos,
José Luis Capel


Attached files aaaa.zip (2.7 KB)Â

Report y oCanvas

Publicado: Vie May 25, 2007 4:10 pm
por jose.luis
Hola,
El report sale tal y como se ve en la imagen.
Saludos,
José Luis Capel
"José Luis Capel - Aicom" <jose.luis@iaicom.com> escribió en el mensaje
news:[email=4656bbba@ozsrv2.ozlan.local...]4656bbba@ozsrv2.ozlan.local...[/email]
> Hola,
>
> En un report quiero que, al terminar el report, se imprima una 'coletilla'
> en una página nueva . Para ello pongo :
>
>
> oR:OnPostEnd := {| o | ::PieListado( oR ) }
>
> Y en el método 'PieListado' hago (entre otras cosas)
>
> METHOD PieListado( oR ) CLASS miClase
>
> oR:NewPage()
>
> or:oDevice:oCanvas:Textout( 650,
> oR:oDevice:oCanvas:PixelsToMapMode( 0, oR:nRow)[2],"Texto "+STR(nx))
>
> oR:NewLine()
> or:oDevice:oCanvas:Textout( 650,
> oR:oDevice:oCanvas:PixelsToMapMode( 0, oR:nRow)[2],"Texto "+STR(nx))
> ...
> ...
> RETURN .T.
>
> El resultado es que se añade una página al listado pero todas las lineas
> impresas en PieListado salen sobreescritas (misma fila). Además, la
> impresión de los 'Headers' del listado aparecen de forma incorrecta.
>
> Creo que a lo mejor estoy confundido con el uso de ocanvas y el método
> PixelsToMapMode.
>
> Os dejo un ejemplo donde se ve lo que me ocurre.
>
> Cualquier ayuda será muy agradecida.
>
> Saludos,
> José Luis Capel
>
>
>


Attached files

Report y oCanvas

Publicado: Vie May 25, 2007 5:05 pm
por ignacio
José Luis,
Desde el objeto TReport se utiliza de esta forma:
WITH OBJECT oReport
:StartLine
:PrintAtCol()
:EndCol()
END WITH
Si desesa utilizar el TCanvas directamente no hay problema, pero entonces
olvidate de hacer referencia a ningún dato del oReport.
Un saludo
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"José Luis Capel - Aicom" <jose.luis@iaicom.com> escribió en el mensaje
news:[email=4656bbba@ozsrv2.ozlan.local...]4656bbba@ozsrv2.ozlan.local...[/email]
> Hola,
>
> En un report quiero que, al terminar el report, se imprima una 'coletilla'
> en una página nueva . Para ello pongo :
>
>
> oR:OnPostEnd := {| o | ::PieListado( oR ) }
>
> Y en el método 'PieListado' hago (entre otras cosas)
>
> METHOD PieListado( oR ) CLASS miClase
>
> oR:NewPage()
>
> or:oDevice:oCanvas:Textout( 650,
> oR:oDevice:oCanvas:PixelsToMapMode( 0, oR:nRow)[2],"Texto "+STR(nx))
>
> oR:NewLine()
> or:oDevice:oCanvas:Textout( 650,
> oR:oDevice:oCanvas:PixelsToMapMode( 0, oR:nRow)[2],"Texto "+STR(nx))
> ...
> ...
> RETURN .T.
>
> El resultado es que se añade una página al listado pero todas las lineas
> impresas en PieListado salen sobreescritas (misma fila). Además, la
> impresión de los 'Headers' del listado aparecen de forma incorrecta.
>
> Creo que a lo mejor estoy confundido con el uso de ocanvas y el método
> PixelsToMapMode.
>
> Os dejo un ejemplo donde se ve lo que me ocurre.
>
> Cualquier ayuda será muy agradecida.
>
> Saludos,
> José Luis Capel
>
>
>

Report y oCanvas

Publicado: Vie May 25, 2007 6:19 pm
por jose.luis
Ignacio,
Gracias. Solucionado usando
> WITH OBJECT oReport
> :StartLine
> :PrintAtCol()
> :EndCol()
> END WITH
Tal y como explicas todo va bien.
Gracias.
José Luis Capel
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
news:4656fb46$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> José Luis,
>
> Desde el objeto TReport se utiliza de esta forma:
>
> WITH OBJECT oReport
> :StartLine
> :PrintAtCol()
> :EndCol()
> END WITH
>
> Si desesa utilizar el TCanvas directamente no hay problema, pero entonces
> olvidate de hacer referencia a ningún dato del oReport.
>
> Un saludo
>
>
> --
> Ignacio Ortiz de Zúñiga
> http://www.xailer.com
>
>
> "José Luis Capel - Aicom" <jose.luis@iaicom.com> escribió en el mensaje
> news:[email=4656bbba@ozsrv2.ozlan.local...]4656bbba@ozsrv2.ozlan.local...[/email]
>> Hola,
>>
>> En un report quiero que, al terminar el report, se imprima una
>> 'coletilla' en una página nueva . Para ello pongo :
>>
>>
>> oR:OnPostEnd := {| o | ::PieListado( oR ) }
>>
>> Y en el método 'PieListado' hago (entre otras cosas)
>>
>> METHOD PieListado( oR ) CLASS miClase
>>
>> oR:NewPage()
>>
>> or:oDevice:oCanvas:Textout( 650,
>> oR:oDevice:oCanvas:PixelsToMapMode( 0, oR:nRow)[2],"Texto "+STR(nx))
>>
>> oR:NewLine()
>> or:oDevice:oCanvas:Textout( 650,
>> oR:oDevice:oCanvas:PixelsToMapMode( 0, oR:nRow)[2],"Texto "+STR(nx))
>> ...
>> ...
>> RETURN .T.
>>
>> El resultado es que se añade una página al listado pero todas las lineas
>> impresas en PieListado salen sobreescritas (misma fila). Además, la
>> impresión de los 'Headers' del listado aparecen de forma incorrecta.
>>
>> Creo que a lo mejor estoy confundido con el uso de ocanvas y el método
>> PixelsToMapMode.
>>
>> Os dejo un ejemplo donde se ve lo que me ocurre.
>>
>> Cualquier ayuda será muy agradecida.
>>
>> Saludos,
>> José Luis Capel
>>
>>
>>
>
>