PDA

Ver la Versión Completa : Imprimir TQRLabel una sola vez


Kubelo
23-02-2010, 11:55:21
Bueno días, en primer lugar me presento. Llevo muchos años "aprovechando" la ayuda que facilitais, pero no había tenido la necesidad de registrarme al encontrar siempre una solución a mis problemas. Aprovecho para agradeceroslo.

Vamos al lio

Tengo un informe en Quickreport de facturas. El informe tiene una banda de tipo PageHeader en la cual aparecen todos los datos de número de factura, número de cliente... y mi gran problema. Las observaciones de la factura.

Mi problema viene cuando las observaciones, que estan en un TQRDBText (ya lo he probado en un TQRLabel y me pasa exactamente lo mismo) sólo quiero que me aparezcan en la primera hoja de la factura. Es decir, el PageHeader debe de aparecer con toda la información en todas las páginas que compongan la factura. Pero no las observaciones.

Yo "creía" que lo tenía solucionado con una variable global que en el evento BeforePrint de la banda se evalua para mostrar/ocultar las observaciones. Os muestro como lo tenía...


if Observaciones then
begin
LQOBSERVACIONES.Enabled:=true;
//QRDBConceptoFac.Enabled:=true; //(K)
QRLConceptoFactura.Enabled:=true; //(K)
Observaciones:=false;
end
else
begin
LQOBSERVACIONES.Enabled:=false;
//QRDBConceptoFac.Enabled:=false; //(K)
QRLConceptoFactura.Enabled:=false; //(K)
end;


Como véis lo había probado con diferentes componentes.

Mi problema viene cuando se añaden unas observaciones muy largas, el componente parece que se "ralla" y no las muestra, solo muestra una parte de ellas.

Ah! Tengo q decir que siempre tenía Autosize = False, Autostrech = True y WordWrap = True.

Si quito el código que habéis visto, me muestra las observaciones bien, pero en todas las hojas.

A ver si alguien me puede dar una alternativa o decirme el porqué se rallan los componentes y no me muestra bien todo el texto (recordad que solo pasa cuando hay mucho texto).

Muchas gracias de nuevo y espero vuestra magistral ayuda!

Kubelo
23-02-2010, 12:22:41
Tras analizarlo un compañero, parece ser que el problema viene cuando las observaciones son tan largas que pasan a otra hoja, y lo que ocurre es que solo muestra la parte correspondiente a esta segunda hoja.

Espero que sea de ayuda para encontrar la solución.

Gracias de nuevo.

Caro
24-02-2010, 03:33:38
Hola kubelo, dices que sin el codigo del BeforePrint te funciona bien, no te sirve utilizar la banda rbTitle para poner las observaciones y lo demas en el PageHeader.

Una pregunta, cuando es mucho texto cuantas líneas te muestra bien.

Saluditos

Kubelo
25-02-2010, 13:28:32
Lo he conseguido solucionar, cambiando el valor de la variable global en lugar del beforeprint en el afterprint, y así me va perfecto...

Maravillas del Delphi, ni la primera ni la última, jeje.

Gracias a tod@s los que os habéis molestado en leerlo. Sobretodo a Caro por contestar.