Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como imprimir 3 veces con diferente pie de pagina (https://www.clubdelphi.com/foros/showthread.php?t=79427)

rufo 04-07-2012 00:40:19

Como imprimir 3 veces con diferente pie de pagina
 
Buenas tarde quisiera saber como imprimir 3 veces el mismo reporte con Quickreport pero con diferente leyenda al final del reporte, es decir que la primera hoja diga

*CLIENTE
La segunda

*ARCHIVO

Y la tercera

*CONTABILIDAD

Estoy usando Quickreport en delphi 2007 espero me ayuden y gracias de antemano.

Combat-F2D 04-07-2012 07:05:56

para ello puedes jugar con los eventos beforeprint y afterprint de las bandas (en este caso el footer)
con ello puedes variar o modificar el contenido de tu leyenda según el valor de la pagina a imprimir

mas o menos esa puede ser una solucion

rufo 04-07-2012 19:30:41

Gracias por responder y he estado poniendo este codigo en el evento beforeprint

Código Delphi [-]
procedure TReporte.QRBand1BeforePrint(Sender: TQRCustomBand;
  var PrintBand: Boolean);
begin
 case QuickRep1.PageNumber of
    0: QRLabel33.Caption := 'ORIGINAL';
    1: QRLabel33.Caption := 'CLIENTE';
    2: QRLabel33.Caption := 'CONTABILIDAD';
  end;
end;

Pero al momento de mandar imprimir solo me imprime con la leyenda ORIGINAL las 3 veces que mando imprimir y las otras leyendas no imprime, espero me ayudes haber que estoy haciendo mal, de antemano gracias, para mandar imprimir 3 veces en la propiedad PrinterSettings y en su opcion copies le puse el valor 3 para que con un solo clic me mande 3 impresiones, bueno de antemano gracias.

rufo 04-07-2012 21:54:11

Como imprimir 3 veces con distinta leyenda
 
Buenas tardes y una disculpa de antemano por repetir mi pregunta ya que en el foro de impresion he teneido 90 visitas y solo uno me ha respondido, espero que me ayuden, les comento que quiero imprimir una factura 3 veces pero con diferente leyenda en el pie de pagina que salga mas o menos asi:

*ORIGINAL
*CLIENTE
*CONTABILIDAD

Les anexo lo que llevo hasta ahorita sin resultados, he estado poniendo este codigo en el evento beforeprint.

Código Delphi [-]
procedure TReporte.QRBand1BeforePrint(Sender: TQRCustomBand;
  var PrintBand: Boolean);
begin
 case QuickRep1.PageNumber of
    0: QRLabel33.Caption := 'ORIGINAL';
    1: QRLabel33.Caption := 'CLIENTE';
    2: QRLabel33.Caption := 'CONTABILIDAD';
  end;
end;


Pero al momento de mandar imprimir solo me imprime con la leyenda ORIGINAL las 3 veces que mando imprimir y las otras leyendas no imprime, espero me ayudes haber que estoy haciendo mal, de antemano gracias, para mandar imprimir 3 veces en la propiedad PrinterSettings y en su opcion copies le puse el valor 3 para que con un solo clic me mande 3 impresiones, bueno de antemano gracias.

ecfisa 04-07-2012 22:01:58

Hola rufo.

Combiné tus dos últimos hilos en base al punto 6 de la guía de estilo.
Cita:

6 Si no me contestais ¿Vuelvo a abrir otro tema?

Nadie me contesta
Si te encuentras en esta situación, te aconsejaría que en vez de abrir otro tema, con lo que podría perderse información previa sobre el tema que expusiste en un principio, siguieses el tema que tu mismo iniciaste en su día, escribiendo una nueva contestación. De esta manera el tema se actualizará y pasará a la cabecera del foro, y se marcará como no leido para el resto de usuarios. Así evitamos duplicar información innecesariamente.

Otro motivo por el que es posible que no te hayan contestado es porque puedes haberte explicado mal. Sería conveniente en este caso que trataras de ampliar la información que has escrito en el primer mensaje de tu tema. Así podrías ayudar al resto de usuarios a que respondan más claramente.
Saludos y gracias por tu colaboración :)

rufo 04-07-2012 22:04:19

Ok gracias y estare esperando respuestas.

ecfisa 04-07-2012 22:31:45

Cita:

Empezado por rufo (Mensaje 436728)
Pero al momento de mandar imprimir solo me imprime con la leyenda ORIGINAL las 3 veces que mando imprimir y las otras leyendas no imprime, espero me ayudes haber que estoy haciendo mal, de antemano gracias, para mandar imprimir 3 veces en la propiedad PrinterSettings y en su opcion copies le puse el valor 3 para que con un solo clic me mande 3 impresiones, bueno de antemano gracias.

Hola rufo.

Lo que sucede es que si indicas tres copias del mismo documento mediante la propiedad Copies y el documento tiene sólo una hoja, el valor de la propiedad PageNumber siempre va a ser igual a uno.

Creo que tendrías que buscarle la vuelta por otro lado... algo como:
Código Delphi [-]
...
var
  i: Byte;
begin
  // suponiendo que QuickRep1 este en Form2 ...
  Form2:= TForm2.Create(Self);
  with Form2 do  
  begin
    for i:= 1 to 3 do
    begin
      case i of
      1: QRLabel33.Caption := 'ORIGINAL';
      2: QRLabel33.Caption := 'CLIENTE';
      3: QRLabel33.Caption := 'CONTABILIDAD';
      end;
      QuickRep1.Print;
    end;
  ...

Saludos.

Casimiro Noteví 04-07-2012 23:47:04

En otros generadores de informes que he usado (no sé si este lo tiene) existen 2 variables distintas, una para las páginas del informe y otra variable de páginas global.
Por lo que si envías 3 copias del informe, la variable contador global va acumulando todas las páginas, independientemente de la otra variable "normal" que cuenta la página del informe.
Cuestión de echar un vistazo, seguramente lo tiene también.

rufo 05-07-2012 00:33:45

Gracias ecfisa el ejemplo que me diste me funciono muy bien.


La franja horaria es GMT +2. Ahora son las 01:57:03.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi