Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-12-2009
Avatar de Aleca
Aleca Aleca is offline
Miembro
 
Registrado: may 2003
Ubicación: Venado Tuerto, Argentina
Posts: 277
Poder: 24
Aleca Va por buen camino
la solucion q use una vez q me paso lo mismo (para recibos) arme los dos en la pagina (duplique los TQRLabel) y los carge manualmente, es un poco tedioso el tema, por eso la posibilidad q decis al final es la mas conveniente.
__________________
Aleca
Responder Con Cita
  #2  
Antiguo 15-12-2009
sergiovalp sergiovalp is offline
Registrado
 
Registrado: may 2007
Posts: 9
Poder: 0
sergiovalp Va por buen camino
yo he puesto multiples reportes en un form, y al imprimirlos, estos me aparecen uno tras otro en papel, sin corte de hoja.

hace mucho que hice eso, no me acuerdo si usé el composite, seguramente que si. Pero la idea es que en un mismo form pongas el reporte normal, que mida mas menos la mitad de la hoja, y en la forma, más abajo, copies el quick report anterior (la hoja completa).

al imprimirlo, deben aparecer los dos juntos, uno arriba el otro más abajo.

saludos
Responder Con Cita
  #3  
Antiguo 15-12-2009
bubba bubba is offline
Miembro
 
Registrado: jul 2008
Posts: 15
Poder: 0
bubba Va por buen camino
Cita:
Empezado por sergiovalp Ver Mensaje
yo he puesto multiples reportes en un form, y al imprimirlos, estos me aparecen uno tras otro en papel, sin corte de hoja.

hace mucho que hice eso, no me acuerdo si usé el composite, seguramente que si. Pero la idea es que en un mismo form pongas el reporte normal, que mida mas menos la mitad de la hoja, y en la forma, más abajo, copies el quick report anterior (la hoja completa).

al imprimirlo, deben aparecer los dos juntos, uno arriba el otro más abajo.

saludos
Hola Sergio y gracias también por tu respuesta, si conseguiste eso, eso es lo que me interesa!, pero no veo cómo hacerlo, es decir, he probado 2 reports, iguales, y la única manera de previsualizarlos (o imprimirlos), a la vez, es con el Composite, pero hace lo que digo en el primer post. No veo como hacer para que previsualice los dos en una misma página, de hecho, si haces un Preview, lo harás de un solo report, no de los dos.

Gracias!
Responder Con Cita
  #4  
Antiguo 15-12-2009
Avatar de afunez2007
afunez2007 afunez2007 is offline
Miembro
 
Registrado: oct 2007
Ubicación: La Ceiba, Honduras
Posts: 170
Poder: 19
afunez2007 Va por buen camino
Lightbulb

La solucion a ese tema es la siguiente:
1.- En el quick report haces lo siguiente:
-Utilizas las opciones custom size y defines el tamaño de la pagina, imagino que sera como 8.5" x 6".
-Luego que lo hayas cambiado y aceptado, vas a las opciones nuevamente y lo pones en default.
2.- A nivel de windows:
-Impresoras y Faxes: Le das click derecho, y luego le das propiedades del servidor, le das a la opcion de crear nuevo y defines el tamaño tal y como lo definiste en el quick report, 8.5" x 6".
- En las propiedades de la impresora, puedes establecer este papel por defecto y el quick report trabajara con el y no hara los saltos

Luego solo haces que el quick report imprima 2 copias del reporte y listo.

Como anotacion de este asunto yo he probado esto y funciona, pero la unica cosa es que en el PrintPreview solo se ve una, pero si lo envias directamente a la impresora si salen las 2 copias.

Espero te sirva la informacion

Saludos
__________________
Si robas, roba un beso, si mientes que sea por amor y si engañas que sea a la muerte!!
Responder Con Cita
  #5  
Antiguo 15-12-2009
bubba bubba is offline
Miembro
 
Registrado: jul 2008
Posts: 15
Poder: 0
bubba Va por buen camino
Cita:
Empezado por afunez2007 Ver Mensaje
La solucion a ese tema es la siguiente:
1.- En el quick report haces lo siguiente:
-Utilizas las opciones custom size y defines el tamaño de la pagina, imagino que sera como 8.5" x 6".
-Luego que lo hayas cambiado y aceptado, vas a las opciones nuevamente y lo pones en default.
2.- A nivel de windows:
-Impresoras y Faxes: Le das click derecho, y luego le das propiedades del servidor, le das a la opcion de crear nuevo y defines el tamaño tal y como lo definiste en el quick report, 8.5" x 6".
- En las propiedades de la impresora, puedes establecer este papel por defecto y el quick report trabajara con el y no hara los saltos

Luego solo haces que el quick report imprima 2 copias del reporte y listo.

Como anotacion de este asunto yo he probado esto y funciona, pero la unica cosa es que en el PrintPreview solo se ve una, pero si lo envias directamente a la impresora si salen las 2 copias.

Espero te sirva la informacion

Saludos
Hola!

Pues lo he probado y no me funciona. Esto lo he hecho muchas veces y me ha funcionado, pero con impresoras matriciales, que tenían papel continuo y fijaba el tamaño del formulario (tanto en QuickReport, como en Windows -Propiedades del Servidor-), pero lo he probado con mi impresora (Multifunción Brother), y no, al acabar el primer Report expulsa la hoja y supongo que una láser hará lo mismo...

No sé que debo estar haciendo mal o es que quizás con impresoras que trabajan con hojas sueltas, al finalizar la impresión hace el salto expulsando la hoja.

Muchas gracias por tu respuesta!
Responder Con Cita
  #6  
Antiguo 15-12-2009
sergiovalp sergiovalp is offline
Registrado
 
Registrado: may 2007
Posts: 9
Poder: 0
sergiovalp Va por buen camino
Cita:
Empezado por bubba Ver Mensaje
Hola Sergio y gracias también por tu respuesta, si conseguiste eso, eso es lo que me interesa!, pero no veo cómo hacerlo, es decir, he probado 2 reports, iguales, y la única manera de previsualizarlos (o imprimirlos), a la vez, es con el Composite, pero hace lo que digo en el primer post. No veo como hacer para que previsualice los dos en una misma página, de hecho, si haces un Preview, lo harás de un solo report, no de los dos.

Gracias!

Me acordé como se hace:

1) creas una forma (form1)
2) en la forma agregas los dos reportes (qrp1 y qrp2)
3) en la forma pones el composite (comp)
3) en el evento OnAddReports agregas estas lineas:

Código Delphi [-]
procedure TForm1.compoAddReports(Sender: TObject);
begin
  compo.Reports.Add(qrp1);
  compo.Reports.Add(qrp2);
end;

4) y para llamar a los reportes unidos:


Código Delphi [-]
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  compo.OnAddReports := form1.CompoAddReports;
  compo.preview;
end;


Eso seria, que te resulte

saludos

Sergio
chile
Responder Con Cita
  #7  
Antiguo 16-12-2009
bubba bubba is offline
Miembro
 
Registrado: jul 2008
Posts: 15
Poder: 0
bubba Va por buen camino
Cita:
Empezado por sergiovalp Ver Mensaje
Me acordé como se hace:

1) creas una forma (form1)
2) en la forma agregas los dos reportes (qrp1 y qrp2)
3) en la forma pones el composite (comp)
3) en el evento OnAddReports agregas estas lineas:


Eso seria, que te resulte

saludos

Sergio
chile
Hola Sergio,

Gracias por la respuesta, pero es lo que comento en el post inicial, he utilizado el Composite y me pone un report a continuación del otro, sólo el detalle, cuando me interesa tanto la cabecera, como el pie.

Finalmente estuve probando la idea de duplicar todo en una sola banda (Headerband para ser exactos), con TQRLabels, sin TDataset y programando el evento OnNeedData y me funciona, de hecho voy contando las líneas y voy rellenando los QRLabels de la parte superior y la parte inferior, cuando llego al nº máximo de líneas, hago un NewPage y al finalizar hago el correspondiente Preview y me salió perfecto, aún debo perfeccionarlo, ya que hice una prueba con varios TQRLabels (tantos como filas caben en el impreso), pero lo he pensado y no hace falta, basta con tener una variable que me indique la posición inicial (Top), de la fila de los TQRLabels y cada vez que cambio de línea (registro en la tabla), le sumo "n" puntos, cuando llego al contador de líneas que caben, pues forzo el NewPage como comento y esta variable la inicializaría de nuevo con la posición Top inicial y ya está.

El código que he utilizado de momento y en el que debo cambiar por la idea esta de tener una variable con la posición Top es este:

Código Delphi [-]
procedure TfrmDobleQR2.qrAlbaranNeedData(Sender: TObject;
  var MoreData: Boolean);
var
   nLin, n, i: Integer;
begin
   i := 1;
   nLin := 18;
   for n := 1 to nLin do begin
      (FindComponent('qrlCodigo'+IntToStr(i)) as TQRLabel).Caption := 'Código ' + IntToStr(n);
      (FindComponent('qrlCodigo2'+IntToStr(i)) as TQRLabel).Caption := 'Código ' + IntToStr(n);
      (FindComponent('qrlDescripcion'+IntToStr(i)) as TQRLabel).Caption := 'Descripción ' + IntToStr(n);
      (FindComponent('qrlDescripcion2'+IntToStr(i)) as TQRLabel).Caption := 'Descripción ' + IntToStr(n);
      Inc(i);
      if i > 5 then begin
         i := 1;
         qrAlbaran.NewPage;
      end;
   end;
   if i <> 1 then begin
      for n := i to 5 do begin
         (FindComponent('qrlCodigo'+IntToStr(n)) as TQRLabel).Caption := '';
         (FindComponent('qrlCodigo2'+IntToStr(n)) as TQRLabel).Caption := '';
         (FindComponent('qrlDescripcion'+IntToStr(n)) as TQRLabel).Caption := '';
         (FindComponent('qrlDescripcion2'+IntToStr(n)) as TQRLabel).Caption := '';
      end;
      qrAlbaran.NewPage;
   end;
   MoreData := False;
end;

Muchas gracias a todos!

Saludos
Responder Con Cita
  #8  
Antiguo 16-12-2009
dtomeysoto dtomeysoto is offline
Miembro
 
Registrado: dic 2005
Posts: 173
Poder: 21
dtomeysoto Va por buen camino
mi solucion

Hola amigo, te respondo lo que hice tiempo atrás para logras lo que necesitas.

Usé una tabla temporal, en ella puse los campos de los datos que tenía que visualizar en el reporte. Además agregué como primer campo uno de tipo entero.

Luego los datos que tengo que mostrar los puse en la tabla temporal y el campo adicional lo puse en 1. Repeti el proceso pero poniendo en 2 el campo adicional.

Luego en el reporte use un grupo y como expresion use el campo temporal, al usar el grupo substitui la banda para el encabezado de pagina, lo mismo hice con el pie de pagina que lo substitui por el pie del grupo.

Me dio un tin de trabajo pero logré mi objetivo, incluso al pie del grupo le agregué una banda tipo child con la linea de corte y la habilite cuando el campo adicional era 1 y desabilite cuando era 2.

Bueno espero que con esta idea logres hacer lo que necesitas.
Responder Con Cita
  #9  
Antiguo 16-12-2009
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 585
Poder: 20
jafera Va por buen camino
Buenas tardes, yo cuando he necesitado hacer algo similar, he optado por colocar dosveces el report en el papel A4 poniendo una linea de corte en la mitad y no me da ningun problema.

Actualmente he pasado todos mis reports de QR5 a QRDesign, así se pueden modificar desde la aplicaciónsin tener que recurrir al código, solo se tiene que vigilar que el usuario no sea un "manitas", lo toque y luego diga que no va o bien se protege el acceso por contraseña.

Cualquir cosa ya sabes.

Josep
Responder Con Cita
  #10  
Antiguo 16-12-2009
bubba bubba is offline
Miembro
 
Registrado: jul 2008
Posts: 15
Poder: 0
bubba Va por buen camino
Cita:
Empezado por dtomeysoto Ver Mensaje
Hola amigo, te respondo lo que hice tiempo atrás para logras lo que necesitas.

Usé una tabla temporal, en ella puse los campos de los datos que tenía que visualizar en el reporte. Además agregué como primer campo uno de tipo entero.

Luego los datos que tengo que mostrar los puse en la tabla temporal y el campo adicional lo puse en 1. Repeti el proceso pero poniendo en 2 el campo adicional.

Luego en el reporte use un grupo y como expresion use el campo temporal, al usar el grupo substitui la banda para el encabezado de pagina, lo mismo hice con el pie de pagina que lo substitui por el pie del grupo.

Me dio un tin de trabajo pero logré mi objetivo, incluso al pie del grupo le agregué una banda tipo child con la linea de corte y la habilite cuando el campo adicional era 1 y desabilite cuando era 2.

Bueno espero que con esta idea logres hacer lo que necesitas.
Hola,

Muy buena tu idea, lo que pasa es que creo ver un inconveniente...

Entiendo lo de tener indexado por el campo temporal con valor 1 ó 2, tambien las bandas de GroupHeader y GroupFooter (muy bueno, en serio, no lo había pensado), para repetir la impresión, pero sin probarlo, creo que QuickReport si hay muchos registros de detalle, antes de imprimirte cuando llegue a los registros con valor 2 (el segundo grupo), te ocuparía toda la página y haría el salto, no?

Saludos y gracias!
Responder Con Cita
  #11  
Antiguo 15-12-2009
bubba bubba is offline
Miembro
 
Registrado: jul 2008
Posts: 15
Poder: 0
bubba Va por buen camino
Cita:
Empezado por Aleca Ver Mensaje
la solucion q use una vez q me paso lo mismo (para recibos) arme los dos en la pagina (duplique los TQRLabel) y los carge manualmente, es un poco tedioso el tema, por eso la posibilidad q decis al final es la mas conveniente.
Hola Aleca,

Gracias por tu respuesta, pero la verdad es que eso ya me ha ocurrido (malditos recibos!), y apliqué una solución similar a la tuya (yo utilicé QRDBText y simplemente hice mas larga la Detailband, sin Headerband, ni Footerlband, ajustándolo a 3 recibos por página que era lo que necesitaba el cliente), pero este caso es diferente, me interesa que haya tanto la Header, como la Detail y la Footer.

Igual te refieres a poner TQRLabels y con un contador ir montando yo las líneas, pero deberé controlar el salto de página y demás..., en fín, lo probaré a ver que tal.

Gracias!
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Salto de Pagina Quickreport look Impresión 4 02-06-2008 15:00:45
Nueva página en quickreport vivamotos C++ Builder 2 10-01-2008 10:00:40
Formulario a página web en HTML? SoulSoldier C++ Builder 3 07-10-2006 00:15:00
Imprimir mas de una pagina en un QuickReport luxus Impresión 1 22-08-2006 00:49:19
Numero de página en QuickReport KayserSoze Impresión 2 01-02-2004 18:15:26


La franja horaria es GMT +2. Ahora son las 03:14:12.


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
Copyright 1996-2007 Club Delphi