Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   número de copias en reportbuilder (https://www.clubdelphi.com/foros/showthread.php?t=71501)

Galahad 23-12-2010 13:35:43

número de copias en reportbuilder
 
buenas,,,

A un reportbuilder, le asigno el número de copias con esta sentencia:

Código:

  Informe.PrinterSetup.Copies := StrToInt(NCopias.Text);
Ahora necesito , que por ejemplo en la cópia número 3, se imprima una cadena tipo : 'COPIA PARA EL CLIENTE'.
no localizo la propiedad del ppreport que recoje dicha información..

he probado con este código:

procedure TForm2.ppLabel6GetText(Sender: TObject; var Text: string);
begin
TEXT := inttostr( ppreport1.page );
end;
pero esto devuelve el número de página..

agradeceria me indicasen como saber el número de copia que se está imprimiendo...
saludos...

Casimiro Notevi 23-12-2010 14:56:12

Tienes PageNo y AbsolutePageNo

Código:

procedure ReportOnStartPage;
begin
  if (AbsolutePageNo=3) then
    lbCopia.Visible := true
  else
    lbCopia.Visible := false;
end;


Galahad 23-12-2010 16:44:32

Cita:

Empezado por Casimiro Notevi (Mensaje 385695)
Tienes PageNo y AbsolutePageNo

Código:

procedure ReportOnStartPage;
begin
  if (AbsolutePageNo=3) then
    lbCopia.Visible := true
  else
    lbCopia.Visible := false;
end;


no funciona,, parece ser que devuelve el número de página, no el número de cópia...

Casimiro Notevi 23-12-2010 18:38:54

Soy muy afortunado, a mí sí me funciona :)

Si tienes un informe con 1 sóla página, entonces pageno y absolutepageno valen lo mismo si vas a imprimir una copia, luego pageno valdrá 1 y absolutepageno valdrá 2 y así en adelante.
Si vas a imprimir 3 copias, por ejemplo, entonces pageno será siempre 1 y absolutepageno irá incrementándose.
Si tienes un informe con 2 páginas, entonces pageno valdrá 1 y luego 2. y absolutepageno valdrá 1, 2, 3 y 4.
Así ha sido en las distintas versiones de reportbuilder, no sé si en las versiones nuevas hay una propiedad que indique exactamente la "copia". Aunque te puedes valer de los valores antes citados.

Un informe de 1 página con 3 copias:
pageno1 absolutepageno1
pageno1 absolutepageno2
pageno1 absolutepageno3

Un informe de 2 páginas con 3 copias:
pageno1 absolutepageno1
pageno2 absolutepageno2
pageno1 absolutepageno3
pageno2 absolutepageno4
pageno1 absolutepageno5
pageno2 absolutepageno6

Galahad 25-12-2010 21:00:11

Soy muy afortunado, a mí sí me funciona :)
estupendo.....:) , que esa suerte se traslade a toda suerte de menesteres....


Cita:

Empezado por Casimiro Notevi (Mensaje 385716)

Un informe de 2 páginas con 3 copias:
pageno1 absolutepageno1
pageno2 absolutepageno2
pageno1 absolutepageno3
pageno2 absolutepageno4
pageno1 absolutepageno5
pageno2 absolutepageno6

a ver, si no entiendo mal, un informe de 2 páginas con 3 copias,,, se
corresponde mejor con esto, ¿no ? ( o por lo menos es lo que busco)

pageno1 absolutepageno1 (copia1)
pageno1 absolutepageno2 (copia2)
pageno1 absolutepageno3 (copia3)
pageno2 absolutepageno1 (copia1)
pageno2 absolutepageno2 (copia2)
pageno2 absolutepageno2 (copia3)

a ver si es que no hablamos de lo mismo...:D

Casimiro Notevi 25-12-2010 21:17:51

Cita:

Empezado por Galahad (Mensaje 385825)
[..] a ver, si no entiendo mal, un informe de 2 páginas con 3 copias,,, se
corresponde mejor con esto, ¿no ? ( o por lo menos es lo que busco)

pageno1 absolutepageno1 (copia1)
pageno1 absolutepageno2 (copia2)
pageno1 absolutepageno3 (copia3)
pageno2 absolutepageno1 (copia1)
pageno2 absolutepageno2 (copia2)
pageno2 absolutepageno2 (copia3)

a ver si es que no hablamos de lo mismo...:D

Tengo una versión bastante antigua de report builder, no sé si ha cambiado en las versiones más nuevas, pero en las versión que tengo es así:

Cita:

Informe con 2 páginas:
pageno1 absolutepageno1
pageno2 absolutepageno2

Informe con 2 páginas + 1 copia:
pageno1 absolutepageno1
pageno2 absolutepageno2
pageno1 absolutepageno3
pageno2 absolutepageno4

Informe con 2 páginas + 2 copias:
pageno1 absolutepageno1
pageno2 absolutepageno2
pageno1 absolutepageno3
pageno2 absolutepageno4
pageno1 absolutepageno5
pageno2 absolutepageno6

Informe con 2 páginas + 3 copias:
pageno1 absolutepageno1
pageno2 absolutepageno2
pageno1 absolutepageno3
pageno2 absolutepageno4
pageno1 absolutepageno5
pageno2 absolutepageno6
pageno1 absolutepageno7
pageno2 absolutepageno8

-----------------------------------
Si el informe tiene sólo 1 página:
pageno1 absolutepageno1

Con 1 página + 1 copia:
pageno1 absolutepageno1
pageno1 absolutepageno2

Con 1 página + 2 copias:
pageno1 absolutepageno1
pageno1 absolutepageno2
pageno1 absolutepageno3

Con 1 página + 3 copias:
pageno1 absolutepageno1
pageno1 absolutepageno2
pageno1 absolutepageno3
pageno1 absolutepageno4

Galahad 25-12-2010 21:32:32

gracias,, parece ser que absolutepageno no me sirve,

en lugar de esto:
Código:

Informe con 2 páginas + 2 copias:
pageno1 absolutepageno1
pageno2 absolutepageno2
pageno1 absolutepageno3
pageno2 absolutepageno4
pageno1 absolutepageno5
pageno2 absolutepageno6

yo necesito esto:
Código:

Informe con 2 páginas + 2 copias:
pageno1 absolutepageno1
pageno2 absolutepageno1
pageno1 absolutepageno2
pageno2 absolutepageno2
pageno1 absolutepageno3
pageno2 absolutepageno3

no obstante he podido resolverlo 'a pedal', esto es, con una variable mantenida e inicializada manualmente en diferentes eventos de impresión.
saludos...

Casimiro Notevi 25-12-2010 21:42:59

Sí, con una variable contador puedes suplirlo.


La franja horaria es GMT +2. Ahora son las 07:30:49.

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