Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
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
  #2  
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
  #3  
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


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 00:45:01.


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