QuickReport, 4 copias de un listado con distintos pies
Hola estoy trabajando con D6 y QuickReport 3.6.2. Mi problema es que quiero imprimir 4 copias de un formulario de una hoja, pero en cada una de ellas debe cambiar el pie:
Por ejemplo 1º copia label1.caption := 'Ejemplar para el INTERESADO'; 2º copia label1.caption := 'Ejemplar para el ESTABLECIMIENTO DE CREDITO A REMITIR '; 3º copia label1.caption := 'Ejemplar para el ESTABLECIMIENTO DE CREDITO'; 4º copia label1.caption := 'Ejemplar a CONSERVAR POR LA OFICINA GESTORA'; El usuario previsuliza el listado, y si está conforme pulsa imprimir, entonces la impresora lanza 4 copias. ¿Hay alguna forma de decirle que en cada una de las copias, cambie el texto de un label o debo lanzar 4 veces el listado y previsualizarlo 4 veces? El proceso sería parecido a cuando se imprime la "declaración de la renta" y cada copia se identifica a quien va dirigida. Un saludo a todos. Jose Manuel García |
Si la etiqueta que quieres cambiar se llama, por ejemplo, qrLabel1, debes hacer lo siguiente:
1.- Añadir la unit "pptypes" en la clausula uses del Informe. 2.- Poner la propiedad PrinterSetup.Collation := True; 3.- Poner la propiedad PrinterSetup.Copies := 4; 4.- Poner la propiedad PassSetting := psTwoPass; 5.- Crear una variable privada (por ejemplo, FCopia) de tipo Integer; en el evento BeforePrinter la inicializamos a cero. 6.- En el evento OnSTartPage escribimos esta sentencia: with MiReport do // o como se llame el informe... If SecondPass and (AbsolutePageNo = 1) then Inc(FCopia); 7.- Finalmente, en el evento OnPrint escribimos lo siguiente: Código:
case FCopia of Un saludo; |
¡ARGH!
Nada de lo dicho antes vale para nada... Me parece que este truco era para el ReportBuilder y no para el Quick Report... Pido mil perdones por la metedura de pata |
En el evento BeforePrint de ese qrLabel, puedes modificarlo a voluntad y cambiar el texto.
Ignoro como funciona cuando se le da a "imprimir varias copias" igual hace una sola imagen de lo que se va a imprimir y después envía 4 copias de esa imagen. Si funciona así, no te sirve "mi idea", quizás tengas que usar otra cosa, por ejemplo:
Edito: Pues no leí el primer mensaje de ElKurgan, pero la idea es la misma en QuickReports. Saludos y suerte |
Gracias por las ideas, el proceso funciona bien cuando imprimimos sin visualizar el listado, pero si elegimos visualizar el listado, surgen los siguientes problemas:
1º El usuario puede optar por no imprimir 2º Si pulsa imprimir, sale una copia o las que hayamos seleccionados pero todas iguales, 3º Si despues del Print_autoliq.QR_autoliq.PreviewModal; pongo algo, siempre se ejecutará despues de que el usuario cierre el listado, y tal vez el usuario no lo sepa o se le olvide. Lo ideal, sería capturar la pulsación de la tecla IMPRIMIR cuando estamos previsualizando este listado, y ejecutarlo como cuando se imprime directamente. Muchas gracias por vuestra ayuda, veré si soy capaz de hacer esto Un saludo a todos Jose Manuel
|
La franja horaria es GMT +2. Ahora son las 05:29:12. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi