![]() |
![]() |
| Paypal | 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
|
|||
|
|||
|
Composite REPORT
Es posible juntarlos en una sola PAGINA, la documentacion refiere a una union de informe pero solo junta paginas de todos los reportes, es decir solo hace hojas consecutivas
|
|
#2
|
||||
|
||||
|
No entiendo a que te refieres con una página.
¿Todo tiene que estar en una sola página? El CompositeReport, une varios reportes haciéndolos parecer como uno solo, el usuario ni se entera de que son varios reportes. No los pone en hojas separadas, no pone un PageHeader por cada reporte que agregues. En fin, en realidad no entiendo bien a que te reiferes con que tiene que ser una sola hoja.
__________________
|
|
#3
|
|||
|
|||
|
Hola,
Si se puede usar QuickReport para tener un reporte con varios TDataSet. Personalmente lo he hecho con reportes de hasta 12 tablas, donde el detalle de cada una era muy diferente. Te podría explicar como hacerlo; pero es muy complicado y hace tiempo aprendí que metodológicamente no se debe hacer. Me explico: Para efectos de portabilidad, en nuestro reporte no deberíamos tener enlaces (sea directamente sobre componentes de impresión tales como TQRDBText, o en código) a componentes de Bases de Datos. La metodología que desarrollé, y que me ha permitido en forma super rápida adecuar, entre otros, reportes Cliente Servidor al modelo Web consiste, en su esquema más sencillo, en lo siguiente: 1. Se coloca una banda detalle y sobre esta se agregan en cadena bandas hijas por cada tipo de línea que necesite el reporte. Sobre esas bandas se colocan componentes QuickReport que no usen accesos a TDataSet (componentes que no sean TDBxxx } 2. Cada posible tipo de línea se representa en una unidad separada mediante clases que desciendan de una clase Base que incluya una propiedad que identifique el tipo de línea. Lógicamente, las clases descientes tendrán propiedades de texto correspondientes a los datos de cada tipo de línea. 3. El reporte se arma en un módulo de datos separado y se guarda en una lista. Cada línea de esa lista es un objeto de alguna de las clases mencionadas antes. 4. En el caso de programas convencionales, esa lista se pasa directamente como parámetro al reporte. En el caso Web, la lista incluye una propiedad, llamemosla AsWebText que permita representar todo el reporte como líneas de texto separado por tabuladores y enviarlo en una comunicación Web. El cliente recibe el texto, recompone la lista y la pasa como parámetro al reporte. 5. Usando el evento OnNeedData se recorre toda la lista y con un Case en cada línea de la lista se selecciona cual de las bandas hijas se imprimirá 6. Finalmente, en cada banda hija, en el evento BeforePrint, se llenan los campos de la banda, con los datos del objeto de la lista que le corresponda. En líneas generales, ese es el esquema. Hay situaciones especiales que pueden requerir variaciones, tales como encriptación de datos A primera vista, esta metodología puede parecer más complicada que los tradicionales TDBxx, ya que requiere más trabajo; pero, por amplia experiencia te puedo asegurar que quita de encima muchísimos dolores de cabeza al volver muy legibles los reportes y suministrar una independencia que permite migrar en custión de muy pocos días grandes trabajos que de lo contrario podrían requerir meses de recodificación. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Quick Report delphi 4 o Crystal Report | Mauricio Correa | Impresión | 7 | 05-02-2011 14:57:40 |
| Quick Report | wgfs | Impresión | 2 | 18-09-2006 23:13:33 |
| dataset y crystal report | pepitu | .NET | 3 | 29-07-2006 13:34:48 |
| Error utilizando DataSet | Coco_jac | Conexión con bases de datos | 2 | 13-04-2006 00:12:35 |
| Quick Report | acrophet | Impresión | 1 | 16-10-2003 17:44:28 |
|