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 10-11-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Agrupar y sumar en Rave

Tengo un consulta que me devuelve lo siguiente:

Código:
Tienda	Fecha		Caja	Importe
----------------------------------------------------
1	10/10/2007	1	10,00
1	10/10/2007	1	10,00
1	10/10/2007	1	10,00
1	10/10/2007	1	10,00
2	10/10/2007	1	10,00
2	10/10/2007	1	10,00
2	10/10/2007	1	10,00
2	10/10/2007	2	10,00
2	10/10/2007	2	10,00

... etc
Y quiero hacer un reporte en Rave (si nadie sugiere nada mejor ) que me agrupe esos datos de la siguiente manera:

Código Delphi [-]
Tienda
  Fecha
    Caja
      Importe
      Importe
      Importe
      Importe

    Total Caja
  Total Fech

  Fecha
    Caja
      Importe
      Importe
      Importe
      Importe

    Total Caja
  Total Fech
Total Tienda

Es decir, agrupar los datos por Tienda, Fecha y Caja, y además calcular el total por Tienda, Fecha y Caja. Por ahora he conseguido agrupar los datos usando Band y Databand, pero lo que no consigo de ninguna manera es mostrar los diferentes totales. He probado con un CalcText, pero es evidente que lo estoy haciendo mal porque, o no aparece nada o solo muestra cero.

La verdad es que es la primera vez que hago un reporte con rave y estoy bastante perdido, si alguien me pudiera pasar un ejemplo muy básico de como agrupar los datos y calcular los totales, le estaría muy agradecido
Responder Con Cita
  #2  
Antiguo 10-11-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola Seoane
Me gustaria poder ayudarte pero no manejo Rave, el que uso es Qreport, no se si seran parecidos o no.
Entiendo que necesitas agrupar los datos por Tienda, Fecha y Caja, lo que no entiendo es como pretendes los totales de Fecha y Caja, que ganas con esto?.
Para mi la logica es la que mantienes en principio, pero sacar solo los totales por el importe entre un rango de fechas.
Cita:
Tienda 1
Fecha desde 01/10/2007 hasta 10/10/2007
Caja 1
Importe 10
Importe 20
Importe 10
Importe 10

Total Importe 50
----------------------------------------------------------
Tienda 2
Fecha desde 01/10/2007 hasta 10/10/2007
Caja 2
Importe 10
Importe 30
Importe 20
Importe 10

Total Importe 70
Recuerda que soy novato, es solo una idea.
Saludos
Responder Con Cita
  #3  
Antiguo 10-11-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Amigo Caral, no se trata de lo que yo quiero si no de lo que me piden ...
Responder Con Cita
  #4  
Antiguo 10-11-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Sin meterme en que lo que te piden, para mi es ilógico y demostrable, ya que como pretende tu jefe que hagas una totalización de las cajas (esto todavia seria medio posible) pero una tolalizacion de fechas?
Bueno, aparte de lo que pueda pensar, me parece que es un asunto de sentencia sql y que todo (en el caso de qreport) se hace en un qrband.
Código Delphi [-]
 else If Reporte = 'VentasXFechaContado' then
   begin
      ShortDateFormat := '#yyyy/mm/dd#';
      try
         QRVentasTipo:=TQRVentasTipo.Create(self);
         QRVentasTipo.ADOQuery1.SQL.Add(' AND Fecha >= '+DateToStr(DTP1.Date)+' AND Fecha <= '+DateToStr(DTP2.Date));
         QRVentasTipo.ADOQuery1.SQL.Add(' AND Factura.Terminos = "Contado" ');
         QRVentasTipo.ADOQuery1.SQL.Add(' ORDER BY Fecha, Factura.CodFactura;');
         QRVentasTipo.ADOQuery1.Open;
         ShortDateFormat := 'dd/mm/yyyy';
         QRVentasTipo.QRLabel10.Caption:= 'Reporte de Ventas detalladas Contado';
         QRVentasTipo.QRLblDesde.Caption := DateToStr(DTP1.Date);
         QRVentasTipo.QRLblHasta.Caption := DateToStr(DTP2.Date);
         If RadioGroup1.ItemIndex = 0 then QRVentasTipo.Print
         else QRVentasTipo.Preview;
      finally
         QRVentasTipo.Free;
      end;
Esto es un despacito de codigo que uso en un reporte.
Creo que no te serviran de mucho mis intervenciones, pero aprovecho para saludarte.
Saludos
Responder Con Cita
  #5  
Antiguo 10-11-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Hola Caral, lo de agrupar por fechas tiene su razón. Este tipo de informe es estándar, se utiliza para saber, con un simple vistazo, cuanto vendió cada caja, cuanto se vendió en un día de terminado y cuanto vendió cada tienda. Tanto la sentencia SQL como el formato del informe me vienen impuestos así que por ahí no creo que solucione nada .

Pero gracias de todas formas, yo también estoy encantado de saludarte
Responder Con Cita
  #6  
Antiguo 10-11-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Lo de agrupar por fecha es diferente de Sumar o totalizar fechas, eso cambia las cosas.
Como sabes que soy un necio en esto, estoy haciendo un ejemplo que haga exactamente lo que quieres.
Calcula totales por tienda, en una fecha determinada y totaliza lo vendido por caja y la totalidad de las cajas.
Recuerda que mis ejemplo son en access y qreport, espero te pueda dar alguna idea, que puedas mejorar.
Saludos
Responder Con Cita
  #7  
Antiguo 10-11-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
No he podido terminarlo (la familia me reclama), pero por lo menos alguna idea creo que saldra del pequeño ejemplo, espero que te ayude.
Aqui esta.
Saludos
Responder Con Cita
  #8  
Antiguo 11-11-2007
hecospina hecospina is offline
Miembro
 
Registrado: oct 2007
Posts: 202
Poder: 17
hecospina Va por buen camino
Hola
No he trabajado con rave pero si lo he hecho en fast report y qreport
Me imagino que la diferencia no es mucha pues se pueden tener consultas sql para consultar la informacion

select tienda, fecha, caja, importe
from tabla
order by tienda, fecha, caja

busca en tu reporteador una opcion para adicionar un group header y adiona 3, el primero para la tienda, el segundo para la fecha y el ultimo para la caja
realizas la agrupacion en cada uno de ellos por el campo respectivo

el de master data colocas el campo del importe

si el reporteador no trae el group fother lo podras adicionar
en ellos colocas la expresion de la sumatoria del importe
debes buscar en las propiedades del objeto para colocar la opcion iniciar en cero para que no te acumule por cada grupo

de esta forma se puede hacer tanto en fast report como en qreport
espero que te ayude
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
Agrupar Rave Reports ¿? pabloajm Impresión 2 02-03-2007 17:49:23
Sumar Horas con RAVE zerelho Impresión 2 27-07-2005 13:25:32
Como Sumar en Rave Wascar Impresión 1 21-04-2005 18:45:12
Agrupar con Rave Brewster Impresión 0 01-07-2004 19:05:18
Agrupar en Rave Raports cjserrato Impresión 0 27-03-2004 18:37:25


La franja horaria es GMT +2. Ahora son las 04:53:08.


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