FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Reporte facturas y los items
Hola. Quiero generar un reporte con QuickReport que me liste las facturas y los items de las mismas
Algo así: FACTURA 0011-263565 $16.500 Juan Perez Producto A 1 $2.500 $2.500 Producto B 2 $2.500 $5.000 Producto C 3 $3.000 $9.000 FACTURA 0011-263566 $17.500 Juan Rodriguez Producto D 2 $1.500 $3.000 Producto B 2 $2.750 $5.500 Producto C 3 $3.000 $9.000 --- --- --- Las facturas están en la tabla FACTURAVENTA y los items estan en la tabla ITEMSFACTURAVENTA. Anteriormente realicé muchos reportes, pero sobre consultas en una sola tabla. No sé como se configura el detalle de los itemas bajo de cada factura. |
#2
|
|||
|
|||
Si como comentas has realizado muchos informes con QuickReport estarás familiarizado con los diferentes sistemas de bandas y su utilización.
Supongo que estas dos tablas de facturas, cabecera y líneas, tendrán un campo común que las enlace. Voy a llamarlo id en la tabla de Facturas, e idFactura en la tabla de líneas Si como veo, la información de la cabecera es mínima, ja que es un simple listado estadístico, puedes hacer un join entre líneas y cabeceras y podrás realizar un informe de una sola tabla como estás acostumbrado. Si necesitas recuperar información del cliente, también podrías recuperarla en la misma consulta SQL con otro join, aunque sería más eficiente tener una tabla de clientes enlazada por el código de cliente. En cualquier banda solo es necesario mostrar la información del cliente. Por supuesto deberás crear al menos una banda de cabecera de grupo, una de detalle, y si es necesario otra de pie de grupo y/o sumatorio Hay otras formas de realizar un informe de este tipo, pero entiendo que esta es la más simple. Saludos |
#3
|
|||
|
|||
Muchas gracias por la respuesta.
Los reportes que realizo siempre son listados de datos de una tabla, Solamente con las bandas rbTitle, rbColumnHeader y rbDetail es suficiente, pero no tengo bien claro la función algunos tipos de bandas, por ejemplo la rbSubDetail. Es correcta la estructura de BD que me decis, cabecera y líneas, con campo en común. El tema de la consulta lo tengo bien claro y está implemetada. He tratado de seguir un ejemplo del libro La Cara Oculta de Delphi 4 de la página 712, donde habla de informes master/detail pero obtengo lo siguiente: FACTURA 0011-263565 $16.500 Juan Perez Producto A 1 $2.500 $2.500 FACTURA 0011-263565 $16.500 Juan Perez Producto B 2 $2.500 $5.000 FACTURA 0011-263565 $16.500 Juan Perez Producto C 3 $3.000 $9.000 FACTURA 0011-263566 $17.500 Juan Rodriguez Producto D 2 $1.500 $3.000 FACTURA 0011-263566 $17.500 Juan Rodriguez Producto B 2 $2.750 $5.500 FACTURA 0011-263566 $17.500 Juan Rodriguez Producto C 3 $3.000 $9.000 En este ejemplo se utilizan las bandas rbTitle, rbColumnHeader, rbDetail para los datos de la cabecera y TQRSubDetailGroupBands para los datos de las lineas de la factura. Supongo que el error está en la consulta que viene como ejemplo en el libro:
Debería hacerse con un JOIN y mantener la estrucutra de bandas que uso siempre??? Voy a probar eso. Última edición por mattaldi fecha: 26-08-2024 a las 16:48:01. |
#4
|
|||
|
|||
Utilizando el Join me muestra el mismo resultado que el mensaje anterior. Me repite los datos de la cabecera en cada linea de la factura
Entonces debo estar utilizando mal las bandas. Los datos de la cabecera en que tipo de nadas van??? Los datos de las lineas en que tipo de nadas van??? |
#5
|
|||
|
|||
En un informe de este tipo, y teniendo todos los datos en una sola consulta, necesitarias una banda de tipo TQRGroup, y en su propiedad expression indicarias el campo por el que debe hacer la rotura de grupo.
En este caso seria el id de la factura. A continuación una banda TQRBand con BandType=rdDetail El generador va a imprimir la banda de grupo una sola vez por cada id de factura y a continuación imprimirá tantas bandas de detalle como items tenga la factura. Por supuesto puedes decorarlo tanto como quieras: Bandas de Título, de Cabecera, Pies de Grupo, Sumatorios, ... Si tienes una tabla de clientes relacionada con la facura, solo tendras que nostrar los datos del cliente en la banda de grupo. En esa banda vas a poner aquellos datos que solo deben aparecer una vez por cada factura |
#6
|
|||
|
|||
Graciasssss manelb
Tu última respuesta me vino al pelo, funcionó como necesitaba. Muchas graciasssssssss!!! |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
FActuras de ejemplo SII | vboloradito | Internet | 39 | 20-12-2017 01:42:53 |
Sql para reporte de facturas | Petolansa | SQL | 4 | 05-12-2007 22:26:23 |
Detalles en Reporte de Facturas | magnu9 | Impresión | 7 | 02-08-2007 22:34:49 |
Tabla de Facturas vs Detalles de Facturas | magnu9 | Conexión con bases de datos | 9 | 27-07-2007 18:27:37 |
Campos calculados, facturas y detalles de facturas. | Letty | Conexión con bases de datos | 7 | 07-11-2003 12:19:44 |
|