Ver Mensaje Individual
  #1  
Antiguo 25-01-2022
javierin_ javierin_ is offline
Miembro
 
Registrado: abr 2007
Posts: 25
Reputación: 0
javierin_ Va por buen camino
QReport: .Print y .Preview salen distintos (a veces)

Buenas tardes.

Trabajo con Delphi 7 y QReport. He observado que a veces (no siempre) lo que sale en previsualización no coincide con lo que sale por la impresora. Pienso que puede ser algún residuo que se queda en memoria, pero no sé por dónde tirar. Por favor, me podéis echar una mano? Gracias.

Las líneas se hacen con QRDBText. El Query se crea en el Form y se puede ver el resultado en un DBGrid:

Código Delphi [-]
   datamodule4.query11.sql.clear; // Limpiamos...
   datamodule4.query11.sql.add('select * from histocom.dbf');  // Pillamos todos los registros de la tabla y empezamos a seleccionar
   datamodule4.query11.sql.add('where (codigo=:vcodigo) and (trimestre=:vtrimestre) and (anzo=:vanzo)');  // Comprobamos si hemos elegido algún mes en concreto o queremos que salga el trimestre entero
   if vmes>=1 then datamodule4.query11.sql.add(' and (mes=:vmes)');   // ...y lo ordenamos según lo que esté pinchado
   if radiobutton1.checked=true then datamodule4.query11.sql.add('order by fecha')
   else if radiobutton2.checked=true then datamodule4.query11.sql.add('order by factura')
   else datamodule4.query11.sql.add('order by nomcli'); // Ahora declaramos los parámetros que vamos a usar en el Query
   datamodule4.query11.params[0].value:=vcodigo;
   datamodule4.query11.params[1].value:=vtrimestre;
   datamodule4.query11.params[2].value:=vanzo;
   if vmes>=1 then datamodule4.query11.params[3].value:=vmes; // Si hemos hecho uso del parámetro vmes debemos declararlo
   datamodule4.query11.open;
   dbgrid1.setfocus;

Lo siguiente es lo que pasa cuando pinchamos en el botón de Vista Previa:

Código Delphi [-]
   
   quickreport63:=Tquickreport63.create(application);
   try
      with datamodule4.table16 do
      begin
         if fieldvalues['nompro']<>null then
            quickreport63.qrlabel11.caption:=fieldvalues['nompro'];
         . . .
      end;
      quickreport63.previewmodal; // Primero vemos una vista previa...y desde allí mismo pinchamos en Imprimir
   finally
      quickreport63.free;
   end;

El resultado final es: Lo que sale en el DBGrid y en el papel coinciden al 100% y es correcto. Lo que sale en la Vista Previa es lo que falla a veces. Es raro, verdad? Muchas gracias!!
Responder Con Cita