PDA

Ver la Versión Completa : Generar impreso con bandas de contenido variable


falke01
08-06-2004, 22:27:22
Hola,
Estoy intentando generar el impreso de un catalogo, a partir de una estructura de base de datos. Os debo indicar que el desarrollo lo estoy realizando en delphi 5, y que estoy utilizando la version de quickreport 4.

Mis problemas comienzan cuando no se imprimen las lineas establecidas en la propiedad Frame de la QRBand detalle que tengo en el impreso. Ademas necesito justificar en altura determinados datos (Necesitaria algun componte similar al TLabel que tenga una propiedad Layout), y no encuentro ningun componente de quickreport que me permita hacer esto, ya que cuando intento colocar un TQRMemo en el punto que yo quiero en el evento BeforePrint de la TQRBand, no me hace caso.

Bueno, espero haberme expresado de forma clara.
Agradezco con antelación a quien pueda ayudarme,
Muchas gracias.

falke01
09-06-2004, 13:07:26
Hola otra Vez,

Ya lo siento, en el mensaje anterior no creo haber explicado con claridad que es lo que quiero hacer, espero que me perdoneis ya que cuando lo escribi llevaba muchas horas trabajando...

Bueno, la plataforma sobre la cual quiero generar el informe es la indicada anteriormente, y este debe tener la siguiente extructura:

BANDA GRUPO1
BANDA GRUPO2
BANDA GRUPO3
BANDA DETALLE

La banda detalle estará compuesta por 11 columnas las cuales deben de estar separadas por lineas verticales, ademas la primera columna no siempre va a estar compuesta por los mismos componentes. Esta columna podrá estar compuesta por un TQRDBText con la propiedad AutoStrech=True y debajo de el habra veces que se tengan que incluir imagenes. El resto de las columnas se deberan de justificar en altura.

Considero que el impreso es bastante complejo, y no estoy muy seguro de que se pueda realizar con QuickReports, si esto es asi, agradeceria que alguien me indicara alguna herramienta con la que se pudiera generar.

Muchas gracias

delphi.com.ar
09-06-2004, 15:25:59
Si no te molesta utilizar componentes sin código, te recomiendo probar el TQueryPrint que puedes bajar de mi página. Los campos los puedes alinear verticalmente con la propiedad VerticalAlignment, tienes un par de ejemplos que muestran como se imprimen las imágenes.

Saludos!

falke01
09-06-2004, 16:33:36
Hola Delphi.com.ar,

Lo primero agradecerte el ofrecimiento de tu componente, decirte que ya lo he bajado y lo he estado probando.:p
Es cierto que soluciono el tema de la justificación vertical, pero no veo como gestionar los diferentes niveles de agrupación que debo mantener. Y ademas en el momento que el el impreso se esta generando debo decidir el numero de campos a incluir en la banda, en que posicion y de que tipo han de ser estos...:confused:

Me gustaria saber si el componente soporta estas posibilidades.

Muchas gracias.

delphi.com.ar
09-06-2004, 16:44:08
Si cada grupo de datos, conserva el mismo esquema de columnas, puedes hacerlo con este componente, utilizando la popiedad SubTotalGroup de los campos del mismo. Cuando cambie el valor de todos los agrupados, imprimirá los subtotales y continuará con el siguiente grupo, si la forma de agrupar es algo mas compleja, puedes hacer todas las evaluaciones necesarias en el evento OnGetSubTotalBreak y retornar el valor del parámetro Break verdadero, en el caso de que sea el registro que "corta" los grupos.

Saludos!

falke01
10-06-2004, 12:37:44
Hola otra vez y gracias de nuevo,

Ya he estado mirando lo que me comentaste, pero sigo teniendo el problema de generar componentes de forma dinamica en el momento que se esta generando el impreso, ya que en la banda detalle no siempre va a ir el mismo tipo de datos lo que para un registro puede ser texto para otro puede ser una imagen, y habra veces que dentro del mismo registro tenga que incluir un numero de imagenes determinada, una debajo de otra, y en otros casos no.
Si te digo la verdad, cada vez lo veo mas complicado.

Muchas gracias