Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Ayuda con compositereport (https://www.clubdelphi.com/foros/showthread.php?t=63279)

Vlady 06-02-2009 17:58:56

Ayuda con compositereport
 
Hola amigos del club tengo el siguiente inconveniente un compositereport donde imprimo 4 reporte para una factura, en el reporte1 el encabezado de la factura con logo, en el reporte2 me imprime los detalles de la factura, el reporte3 me imprime la discriminación de IVAS y descuentos y el reporte4 los totales con retenciones, todo anda bien, el problema q tengo es cuando el tamaño de la factura es de mas de una hoja, necesito q me imprima en el encabezado de cada hoja el reporte1, el problema es q en este momento tengo el reporte1 con el formato rbTitle, cuando lo cambio a rbPageFooter no lo imprime y solo imprime desde el reporte2, no imprime el primer reporte, este lo he cambiado tambien a rbGroupHeader y tampoco me lo imprime, en este reporte solo se imprimie un solo registro con los datos de la empresa, la fecha el numero de factura.

asi es como lleno el Compositereport
Código Delphi [-]
procedure TImprimiendo.ReporteCopiaAddReports(Sender: TObject);
begin
     ReporteCopia.Reports.Add(Reporte1);
     ReporteCopia.Reports.Add(Reporte2);
     ReporteCopia.Reports.Add(Reporte3);
     ReporteCopia.Reports.Add(Reporte4);
end;

Utilizo delphi 7, firebird 2.0 y Quickreport 4.05
No se este problema a q se debe, si alguien me puede ayudar se lo agradeceria

ContraVeneno 06-02-2009 19:21:08

Todos tus reportes deben de tener las mismas banda para que se tenga el efecto de que es un solo reporte. Es decir, todos deben de tener una barra de título igual.

Vlady 06-02-2009 20:46:25

Es decir q el reporte1 q es el titulo lo debo repetir tambien en cada uno de los otros reportes?, o cada reporte debe ser de tipo title

luisgutierrezb 06-02-2009 20:54:36

Fue un error al escribir o quieres que el titulo sea pagefooter en lugar de pageheader?

ContraVeneno 06-02-2009 21:41:39

Una cosa es el "PageHeader" y otra cosa es el "Title", al menos hablando de bandas de Quickreport. Una banda "PageHeader" debería de aparecer igual en todos los reportes que quieras incluir en el CompositeReport, al hacer esto, si tu reporte tienes varias páginas aparecerá la misma información en todas. Y la banda "Title" la podrías incluir solo en el primer reporte que incluyes en el CompositeReports. Lo mismo aplica para la banda "Summary", la cuál la puedes incluir solo en el último reporte que incluyas en tu CompositeReports.

En otras palabras, todos los reportes que incluyas en tu compositeReports, para que al final den la apariencia de que son un solo reporte, todos deberían tener la misma banda "PageHeader" y la misma "PageFooter" si la utilizas.

Vlady 06-02-2009 22:50:23

si tienes razon fue un error es rbPageHeader no rbPageFooter, pero entonces segun le entiendo a contraveneno y perdon por ser tan visoño en Quickreport es q debo repetir por cada reporte la consulta que esta en el Reporte1, es decir yo por ejemplo en el reporte2 tengo solo una banda detalle con el detalle de los articulos de la factura, entonces en ese mismo reporte debo añadir una banda rbPageHeader con los mismos datos y en el reporte3 tambien solo tengo una banda detalle con la discriminacion de los IVAS entonces ahi tambien debo añadir la banda rbPageHeader del embazado?

hecospina 07-02-2009 15:28:38

Hola Vlady
Realmente no entiendo por que crear cuatro reportes si segun lo que describes podria hacerse solo en uno
El contenido del primer reporte lo puedes colocar en un encabezado de pagina, con esto te aparece en todas las paginas

El detalle que tienes en un segundo reporte, lo colocas en el detalle de este primero

y los dos ultimos que al parecer son totales o resumenes de impuestos y retenciones los colocas en un pie de pagina

Todo esto en un solo reporte
Podria ser que yo no tenga claro el concepto de coposytereport :confused:

ContraVeneno 07-02-2009 16:14:34

No tendrías porque repetir la consulta, lo único que haces, es enlazar todos los encabezados al misma consulta. La consulta (supongamos un TQuery) se realiza solo una vez. Incluso puedes utilizar el evento "BeforePrint" de cada reporte (o hacer uno para todos) donde le asignes los valores a tu banda "PageHeader".

Ahora bien, la idea principal del CompositeReports es hacer que varios reportes diferentes, los puedas integrar y mostrarlos al usuario como si fuera un solo reporte. A lo que "diferentes" se refiere, es a que contienen información completamente diferente, que no se puede integrar en una sola consulta y que los campos son diferentes. Por ejemplo, en uno mostrarías "Clave, Descripción, Cantidad, Precio" y en otro "Descripción, porcentaje, participación, usuario".

PERO, si los campos en todos tus reportes son similares, por ejemplo que todos tengan "Descripción, cantidad , precio", en ese caso lo mejor es obtener todos los datos en una sola consulta y mostrarlos todos en un solo reporte.

Vlady 09-02-2009 18:03:53

este no es mi caso ya que estoy manejando un reporte con un encabezado dos bandas detalles y una banda con un sumary
y lo q deseo es q la banda encabezado se me repita cada vez q se imprima una nueva hoja


La franja horaria es GMT +2. Ahora son las 13:19:44.

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