In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Report y oCanvas

Foro de Xailer profesional en español
Responder
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

Report y oCanvas

Mensaje 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)Â
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

Report y oCanvas

Mensaje 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
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9457
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Report y oCanvas

Mensaje 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
>
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

Report y oCanvas

Mensaje 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
>>
>>
>>
>
>
Responder