FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Reto en QuickReport - Formulario duplicado en 1 página
Hola compañeros de penurias,
La verdad es que hace mucho tiempo que utilizo QuickReport y "he salido" casi de todo, pero hoy me han planteado un problema que no le veo solución, os comento. La aplicación imprime los albaranes en matricial, en papel A5 (15 cm), y ahora desean cambiar la impresora por una láser (ya era hora!), y desean imprimir en papel A4 con una línea de microcorte en la mitad de la hoja y me plantean que el albarán (cabecera, detalle y pie), lo imprima en la parte superior del corte y como copia en la parte inferior del corte. Pensándolo con QuickReport, a la que acabe el pie en la primera mitad, me va a hacer un salto de página. He hecho pruebas con TQRCompositeReport (nunca lo había probado), y he conseguido imprimir dos reports, pero claro, de la forma que trabaja, hace una cabecera, las líneas del primer report y las líneas del segundo report a continuación. Yo no quiero eso, me interesa que tanto la cabecera, como el detalle ("n" líneas), como el pie, se repitan en la parte superior del impreso, como en la parte inferior del impreso, vamos, una copia imagen. ¿ Alguna sugerencia ? (Al cliente le he comentado que lo mejor es hacer los formularios en A5, que creo que con una láser no tendrá problemas para cargarlos y ya está, imprimiré dos veces el report, pero me he quedado con la curiosidad). Muchas gracias por aguantar el tocho!! Saludos |
#2
|
||||
|
||||
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 |
#3
|
|||
|
|||
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 |
#4
|
|||
|
|||
Cita:
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! |
#5
|
|||
|
|||
Cita:
Gracias! |
#6
|
||||
|
||||
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!! |
#7
|
|||
|
|||
Cita:
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! |
#8
|
|||
|
|||
Cita:
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:
4) y para llamar a los reportes unidos:
Eso seria, que te resulte saludos Sergio chile |
#9
|
|||
|
|||
Cita:
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:
Muchas gracias a todos! Saludos |
#10
|
|||
|
|||
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. |
#11
|
||||
|
||||
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 |
#12
|
|||
|
|||
Cita:
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! |
#13
|
|||
|
|||
Cita:
No entiendo lo de "colocar dos veces el Report en el papel A4" :-? Gracias y un saludo! |
#14
|
||||
|
||||
Pues sencillamente colocar todos los componentes dos veces en un solo papel A4, el cual se divide en dos B5.
Ejemplo si en la primera mitad de reporte tienes esta la etiqueta1, el campo de texto1 y el memo1, en la segunda mitad pones la etiqueta2, el campo de texto2 y el memo2 con los mismos valores de la tabla. Posiblemente no sea lo mas ortodoxo pero a mi así me funciona Josep |
#15
|
|||
|
|||
solucion facil
La verdad yo no soy muy experto en reportes pero me toco hacerlo a un cliente para sus nomina y use la cabecera nada mas y la extire hasta cubrir la hoja y repeti los dbtext y demas componebtes dos veces y simplemente los separe uno de otro hasta quedar la raya perforada en medio, tal ves no sea la opcion mas ortodosa ni la mas guiada por las reglas pero me funciono al pelo, todos los datos los tenia en una base de datos y cada pagina salia con un solo empleado, si te sirve me alegro en contribuir.
|
#16
|
|||
|
|||
Hola,
Gracias a todos, pero la única solución que tengo es la que escribí más arriba jugando con QRLabels y controlando desde código el salto de línea. Creo que QuickReport no tiene esta prestación, la de duplicar un report (con su cabecera, pie y sobre todo, detalle), en una misma hoja. Sería bueno sugerirlo a quSoft. A Luis Vázquez y Jafera, esto de duplicar los controles de QuickReport no me sirve, ya lo he hecho en otros informes (tipo recibos, o como indicáis puede servir en una nómina, etc), son informes sin detalle, o sólo un registro de detalle por página, por lo que lo puedes solventar con una sola banda (Header o Detail), el problema era teniendo varias líneas de detalle una debajo de la otra en la misma hoja y si por ejemplo en la parte superior salen 12 líneas (con su cabecera previa y su pie al final), pues que en la parte inferior de la hoja salga lo mismo. Igualmente gracias por vuestro tiempo! Saludos |
#17
|
||||
|
||||
Hola BUBBA...
Consultanto aqui y alla....di con tu hilo acerca de QuickReport....imprimir 2 recibos (original y copia) en una misma hoja.....tengo ese problema ahora..... lo pudiste solucionar?.... Saludos.
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! |
#18
|
||||
|
||||
Cita:
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
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 |
|