Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-04-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.015
Poder: 22
oscarac Va por buen camino
Cita:
Empezado por rolandoj Ver Mensaje
Ante todo, no entiendo porque quieres desperdiciar hojas grandes en reportes que caben en unas más pequeñas.
Creo que me explique mal.....
lo que quiero hacer es basicamente 2 reportes uno en hoja A4 landscape y el otro en hoja A3 (el Formulario de donde invoco al reporte tendria opciones como.... Hoja A4 / Hoja A3

pero en lugar de crear 2 unidades, hacerla en una sola, porque los procedimientos (reporte) seria el mismo... aunque para ser sinceros el que se usuaria en A3 tendria mas informacion en columnas

entonces... lo que se me ocurrio era crear un reporte con Labels los cuales cambiaran de valor en el OnPrint de la linea detalle

con esto creo que estaria solucionado, ademas que me ayudaria mucho con un tema que aun esta rondando mi cabeza.. que es el como saber la longitud maxima de un campo para determinar el tamaño del componente QrdbText

no les ha pasado que colocan el componente asociado a un datasource dentro del reporte y en algunas ocasiones o es muy grande o muy chico el espacio que le asignamos al componente?


espero sus comentarios
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #2  
Antiguo 27-04-2011
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 20
rolandoj Va por buen camino
Mejor usa la herencia

Hola,

Si ese es el caso, una mejor solución es usar la herencia:

Simplemente, son dos reportes diferentes; pero, comparten la mayoría de los campos. El padre sería el que tuviera menos campos y el hijo el otro. De esa forma, al crear el formulario hijo, solo tendríasque cambiarle el tamaño a la hoja, adicionarle los campos, y reemplazar los métodos virtuales a que hubiera lugar. Claro, eso en el supuesto que tú reporteador no ponga mayores problemas con el tamaño de la hoja (no sé las versiones más nuevas de QuickReport; pero, como he comentado en varias ocasiones, al menos las versiones viejas tienen problemas con eso).

Esa es la forma standard para desarrollar reportes. De hecho, yo tengo jerarquicamente varios formularios modelos que me permitan, vía herencia, desarrollar rápidamente formularios específicos.

Con respecto al tema del tamaño de los campos y que hacer cuando este es excedido, para eso también hay una metodología; pero, sería un poco más compleja de explicar aquí. Tan solo dire que en QuickReport se basa en el uso de bandas hijas y en la propiedad AutoStretch combinada con AutoSize
Responder Con Cita
  #3  
Antiguo 27-04-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.015
Poder: 22
oscarac Va por buen camino
Tienes un ejemplo que puieda aplicar?
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #4  
Antiguo 29-04-2011
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 20
rolandoj Va por buen camino
No; pero ...

Hola,

La verdad, no tengo ejemplos a la mano porque hace años adopté una metología que no usa los TDataSet. Sin embargo, no es dificil armar un ejemplo conceptual:

Supongamos que tenemos una tabla con los campos CODIGO, NOMBRE y VALOR (dato Currency). Se necesita listar todos los registros y al fin imprimir la suma de la columna VALOR. Digamos que tenemos otra tabla, con los mismos campos y con uno adicional llamado ESTADO, que debe también imprimir la suma de la columna VALOR. Para imprimir ambas tablas, sigue estos pasos :

1, Para la primera, crea un formulario de impresion en la forma usual, colocando una banda detalle y sobre esta los campos CODIGO, NOMBRE y VALOR. Llamalo frmQRTabla1 del tipo TfrmQRTabla1.

2. Agrega una banda resumen y coloca en ella un TQRLabel para imprimir la suma.

3. Implementa la lógica de la suma.

4. Para la segunda crea un formulario heredado de TfrmQRTabla1. Cambia el tamaño de la hoja. Con ello se amplia la banda detalle; sobre ella coloca el campo para ESTADO. Luego cambia la fuente de datos para el QRReport y para los 3 campos. Ya puedes usarlo, sin necesidad de reescribir la lógica de la suma

Analizalo con calma y verás que es muy facil crear modificaciones sencillas a los reportes, sin necesidad de reproducir toda la lógica de un formulario.
Responder Con Cita
Respuesta



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
obtener tamaños de papel validos de la impresora hspirit Impresión 2 16-02-2011 23:16:11
Colocar Diferentes Tipo De Letra Ydiferentes Tamaños a Itens De Un Combobox gulder Varios 16 28-11-2008 14:47:40
Imprir en una matricial con tamaños diferentes de letra asegurpe Impresión 3 17-04-2004 15:29:50
que usar o como para poder imprimir? mrmanuel Impresión 4 30-03-2004 09:20:31


La franja horaria es GMT +2. Ahora son las 17:19:57.


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