Club Delphi  
    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 21-05-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
pues solo te faltaría agregar una banda TQRGroupBand en la propiedad "Expression" colocar el nombre del campo de la ID de la venta. En esa misma banda, pondrías El id de la venta, la fecha y el total sería un TQRExpr con la expresión Sum(Total) y la propiedad ResetAfterPrint establecida a verdadero.
__________________

Responder Con Cita
  #2  
Antiguo 22-05-2008
metroyd metroyd is offline
Miembro
 
Registrado: oct 2007
Posts: 78
Poder: 17
metroyd Va por buen camino
Cita:
Empezado por ContraVeneno Ver Mensaje
pues solo te faltaría agregar una banda TQRGroupBand en la propiedad "Expression" colocar el nombre del campo de la ID de la venta. En esa misma banda, pondrías El id de la venta, la fecha y el total sería un TQRExpr con la expresión Sum(Total) y la propiedad ResetAfterPrint establecida a verdadero.
El QRGroup Band va antes de los detalles de la venta??? Esta banda me servira para capturar aquellos registros repetidos?? Es decir, El ID de la venta, la fecha y el total?????
Y en subdetail pondria los detalles de las ventas???????
Responder Con Cita
  #3  
Antiguo 22-05-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Cita:
Empezado por metroyd Ver Mensaje
El QRGroup Band va antes de los detalles de la venta??? Esta banda me servira para capturar aquellos registros repetidos?? Es decir, El ID de la venta, la fecha y el total?????
Y en subdetail pondria los detalles de las ventas???????
La banda de agrupación se ajusta automáticamente en el orden que le corresponde, es decir, tu solo la pones en el reporte y ella busca su lugar, antes o después de donde le corresponda. Si es de agrupación, se pone antes del detalle, si le dices que la banda es de sumatoria, se pone al final.

Los registros se agruparán automáticamente dependiendo del campo que tu especifiques en la propiedad Expression de la QRGRoupBand y dependiendo del orden de tu consulta. Los campos comunes, como ID y fecha, los puedes poner en esta banda, para evitar que se vean repetidos (como si los pusieras en la banda detalle). El total tendría que ir en una banda GroupFooter para que sume los resultados de cada grupo.

El detalle de las ventas, pues tendrías que ponerlo en la banda QRDetail.
__________________

Responder Con Cita
  #4  
Antiguo 22-05-2008
metroyd metroyd is offline
Miembro
 
Registrado: oct 2007
Posts: 78
Poder: 17
metroyd Va por buen camino
Hola, Pues con lo que me has explicado ya puedo lograr imprimir el resultado de una sola venta, por ejemplo:

ID VENTA:2 FECHA: 22/05/2008 TOTAL: $44.00

DETALLE: CANTIDAD VENDIDA COSTO ($)
-----------------------------------------------------------------------------------
Refrescos 2 10.0
chocolate 4 6.0


Pero ahora me gustaria poder imprimir las ventas realizadas en un rango de fechas, por ejemplo, el resultado seria asi:

ID VENTA:2 FECHA: 22/05/2008 TOTAL: $44.00

DETALLE: CANTIDAD VENDIDA COSTO ($)
-----------------------------------------------------------------------------------
Refrescos 2 10.0
chocolate 4 6.0
__________________________________________________________________________

ID VENTA:3 FECHA: 25/05/2008 TOTAL: $180.00

DETALLE: CANTIDAD VENDIDA COSTO ($)
-----------------------------------------------------------------------------------
Papas 10 15.0
chocolate 6 6.0
Pan Tostado 2 6.0
__________________________________________________________________________

ID VENTA:5 FECHA: 25/05/2008 TOTAL: $3.00

DETALLE: CANTIDAD VENDIDA COSTO ($)
-----------------------------------------------------------------------------------
Gomas de mascar 3 1.0
__________________________________________________________________________

La consulta que hago para obtener estos resultados es:
Código SQL [-]SELECT venta.id_venta,venta.fecha_venta,venta.total_venta,productos.descripcion,detalle_venta.precio_unitar io,detalle_venta.cantidad_vendida FROM venta,productos,detalle_venta WHERE venta.fecha_venta>="aki va la fecha" AND venta.fecha_venta<="aki va la otra fecha" AND venta.id_venta = detalle_venta.id_venta AND productos.id_producto = detalle_venta.id_producto order by venta.id_venta


Si aplico esta consulta con lo que ya tengo en el quickReport, me aparece en el qrgroup los datos de la primera venta, y en el SubDetail aparecen todos los productos vendidos de todas las ventas que cumplan el rango.

Código Delphi [-]
form18.QuickRep1.DataSet:=modulo.busqueda;
         form18.QRGroup1.Expression:=modulo.busqueda.fieldbyname('id_venta').AsString;
     form18.QRSubDetail1.DataSet:=modulo.busqueda;
     form18.QRDBText1.DataSet:=modulo.busqueda;
     form18.QRDBText2.DataSet:=modulo.busqueda;
     form18.QRDBText3.DataSet:=modulo.busqueda;
     form18.QRDBText4.DataSet:=modulo.busqueda;
     form18.QRDBText5.DataSet:=modulo.busqueda;
     form18.QRDBText6.DataSet:=modulo.busqueda;
     form18.QRDBText1.DataField:='id_venta';
     form18.QRDBText2.DataField:='fecha_venta';
     form18.QRDBText3.DataField:='total_venta';
     form18.QRDBText4.DataField:='descripcion';
     form18.QRDBText5.DataField:='cantidad_vendida';
     form18.QRDBText6.DataField:='precio_unitario';
     form18.QuickRep1.Preview;

Espero tu ayuda, gracias!!!!!

Última edición por metroyd fecha: 22-05-2008 a las 18:03:01.
Responder Con Cita
  #5  
Antiguo 22-05-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Código Delphi [-]
with Modulo.Busqueda do begin
 If active then close;
 SQL.Clear;
 SQL.Add('SELECT V.id_venta, V.fecha_venta, V.total_venta, P.descripcion,');
 SQL.Add('DV.precio_unitario, DV.cantidad_vendida ');
 SQL.Add('FROM venta V');
 SQL.Add('join Detalle_Venta DV on V.ID_Venta = DV.ID_Venta');
 SQL.Add('join Productos P on DV.Id_Producto = P.ID_Producto');
 SQL.Add('WHERE V.fecha_venta between :FechaIni and :FechaFin');
 SQL.Add('order by V.id_venta');
 ParamByName('Fechaini').AsDateTime := unDateTimePickerIni.DateTime;
 ParamByName('FechaFin').AsDateTime := unDateTimePickerFin.DateTime;
 Open;
end; //with
__________________

Responder Con Cita
  #6  
Antiguo 22-05-2008
metroyd metroyd is offline
Miembro
 
Registrado: oct 2007
Posts: 78
Poder: 17
metroyd Va por buen camino
mmmm , el resultado sigue siendo el mismo amigo:
http://www.subirimagenes.com/fondosy...do-506687.html

Esta es la estructura de mi quick Report:
http://www.subirimagenes.com/fondosy...te-506692.html

y este es el resultado de la consulta que me pasaste, que pues si funciona:
http://www.subirimagenes.com/otros-r...a2-506736.html

Y este es el codigo del boton Imprimir despues de haber seleccionado las fechas:
Código Delphi [-]
with Modulo.Busqueda do begin
        If active then close;
        SQL.Clear;
        SQL.Add('SELECT venta.id_venta, venta.fecha_venta, venta.total_venta, productos.descripcion,');
        SQL.Add('detalle_venta.precio_unitario, detalle_venta.cantidad_vendida ');
        SQL.Add('FROM venta');
        SQL.Add('join detalle_venta on venta.id_venta = detalle_venta.id_venta');
        SQL.Add('join productos on detalle_venta.id_producto = productos.id_producto');
        SQL.Add('WHERE venta.fecha_venta between "2008-05-01" and "2008-05-31"');
        SQL.Add('order by venta.id_venta');
        //ParamByName('Fechaini').AsDateTime := unDateTimePickerIni.DateTime;
        //ParamByName('FechaFin').AsDateTime := unDateTimePickerFin.DateTime;
        Open;
     end;

     form18.QuickRep1.DataSet:=modulo.busqueda;
     form18.QRGroup1.Expression:=modulo.busqueda.fieldbyname('id_venta').AsString;
     form18.QRSubDetail1.DataSet:=modulo.busqueda;
     form18.QRDBText1.DataSet:=modulo.busqueda;
     form18.QRDBText2.DataSet:=modulo.busqueda;
     form18.QRDBText3.DataSet:=modulo.busqueda;
     form18.QRDBText4.DataSet:=modulo.busqueda;
     form18.QRDBText5.DataSet:=modulo.busqueda;
     form18.QRDBText6.DataSet:=modulo.busqueda;
     form18.QRDBText1.DataField:='id_venta';
     form18.QRDBText2.DataField:='fecha_venta';
     form18.QRDBText3.DataField:='total_venta';
     form18.QRDBText4.DataField:='descripcion';
     form18.QRDBText5.DataField:='cantidad_vendida';
     form18.QRDBText6.DataField:='precio_unitario';
     form18.QuickRep1.Preview;

Como veras solo estoy probando las ventas del mes de mayo, tengo como 4 ventas, y solo me muestra la primera y en Detalle muestra los productos de todas las ventas

Gracias por tu paciencia amigo, espero sigas ayudandome

Última edición por metroyd fecha: 22-05-2008 a las 18:51:11.
Responder Con Cita
  #7  
Antiguo 22-05-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
PUes supongo que el problema será que estas utilizando una banda "Sub Detail" cuando debería ser "Detail"
__________________

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
como hacer un reporte en php? gabrielflowers PHP 5 18-10-2007 19:24:44
Como hacer para que Vista no reporte "No se pudo comprobar el editor" Firma digital fcios Windows 2 16-06-2007 04:52:49
¿Cómo hacer un reporte en forma de matriz? dibe Impresión 6 18-08-2006 02:45:25
Como hacer Ejecutable un Reporte en Crystal?? Barzaugc Impresión 2 16-12-2005 22:03:50
Como hacer un reporte dinamico ? IVAND Impresión 1 04-11-2003 23:05:56


La franja horaria es GMT +2. Ahora son las 22:54:28.


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
Copyright 1996-2007 Club Delphi