PDA

Ver la Versión Completa : Tardanza de un Quickreport.prepare


afxe
26-05-2008, 10:33:11
Os pongo en antecedentes: Impresión de facturación de fín de mes, en la cual se imprimen también los albaranes firmados por los clientes que componen cada factura (albaranes previamente escaneados en JPG y clasificados). Cuando se lanza la impresión se imprime la factura y posteriormente 4 albaranes por página. El hecho es que aleatoriamente se dejaba de imprimir algún que otro JPG, sobre todo en impresoras de red. Si se imprime a PDF o previsualizado en pantalla todo va correcto. En vez de QuickRep1.Print, decidí hacer un QuickRep1.Prepare y posteriormente un QuickRep1.QRPrinter.Print, así evité que se perdieran JPG. El problema es que tarda muchísimo (30 o 40 segundos) en preparar una factura y enviarla a la impresora. Si se multiplica por 500 facturas estamos hablando de 4-5 horas. A ver si a alguien se le ocurre la solución a esto, bien acelerando el proceso de preparación e impresión, o haciendo que no se pierda ningún JPG al mandar a la impresora. Ya he probado QRImage.refresh y QRImage.Repaint en el before print de la banda, así como meter pausas y application.processmessages... y nada, algunos JPG no se llegan a imprimir, sobre todo el primero que se manda en cada factura.

Gracias por aguantar la parrafada.

marcoszorrilla
26-05-2008, 14:38:55
Yo con Prepare utilizo esta secuencia:


Application.CreateForm(TfrLptFactura,frLptFactura);
frlptFactura.LptFactura.Prepare;

nPages:=frLptFactura.lptFactura.Printer.PageCount;

Case n of
1:frlptFactura.lptFactura.PreviewModal;
2:frlptFactura.lptFactura.Print;
end;

frlptFactura.close;

Se trata de un pequeño procedimiento que utilizo para previsualizar o imprimir, dependiendo como se ve de un número que le paso como parámetro.

Un Saludo.