bom dia pessoal, eu tenho um relatorio no rave que exibe o total de vendas por tipo de produto, num determinado periodo.
a propriedade dataview de um band esta apontando para um direct view que esta ligado ao dataset no delphi que traz estas informações.
mas, agora preciso exibir no mesmo band o total de itens devolvidos e valor total de devoluções para os mesmos tipos de produtos, tem um dataset que traz estas informações no delphi, mas no rave não consigo exibir todos os dados deste segundo, porque a banda aponta só para o primeiro dataset.
aí fica + ou - assim.
total vendas por familia: total de devoluções por familia:
acessório: R$ 12.000,00 R$ 56,00
consumo: R$ 21.000,00 R$ 56,00
odonto: R$ 5.580,25 R$ 56,00
observem q o primeiro beleza, mas no total de devoluções só exibe o primeiro registro e quantos forem os registros do total de vendas o total de devoluções se repete.
tentei fazer um select q me desse todos os dados q preciso, assim era só apontar no rave, mas como ainda to aprendendo sql (na verdade sou iniciante em tudo delphi, rave, sql... mas to caminhando), a consulta traz uns resultados estranhos.
se tiver alguma forma de fazer o rave trabalhar com os dois datasets adiantaria bem o meu lado, porque no mesmo relatorio tem outras bandas na mesma situação, é uma especie de mapa diario de todas as atividades.
pensei se tivesse como fazer um loockup entre os datasets no rave, resolveria.
caso alguém ache q é mais facil resolver na query, vou colocar as querys do total de venda e devolução:
--total de devolução nas vendas avista por familia
select
f.descricao,
sum(DI.qtde )qtd_total,
sum(devolucao_item_venda.qtde * itemvenda.vl_unitario) valor
from
DEVOLUCAO_ITEM_VENDA DI
join itemvenda on (devolucao_item_venda.cod_produto = itemvenda.codprod)
join PRODUTOS P on (P.codprod = DI.cod_produto)
join familia F on (familia.codgrupo = produtos.codgrupo)
join DEVOLUCAO_VENDA DV on (DI.cod_devolucao = DV.cod_devolucao)
join VENDAS V on (DV.codvenda = V.codvenda)
join CLIENTES C on (V.codcliente = C.codcliente)
where
DV.dt_devolucao between '20.02.2007' and '20.02.2008'
Pergunta
etspaz
bom dia pessoal, eu tenho um relatorio no rave que exibe o total de vendas por tipo de produto, num determinado periodo.
a propriedade dataview de um band esta apontando para um direct view que esta ligado ao dataset no delphi que traz estas informações.
mas, agora preciso exibir no mesmo band o total de itens devolvidos e valor total de devoluções para os mesmos tipos de produtos, tem um dataset que traz estas informações no delphi, mas no rave não consigo exibir todos os dados deste segundo, porque a banda aponta só para o primeiro dataset.
aí fica + ou - assim.
total vendas por familia: total de devoluções por familia:
acessório: R$ 12.000,00 R$ 56,00
consumo: R$ 21.000,00 R$ 56,00
odonto: R$ 5.580,25 R$ 56,00
observem q o primeiro beleza, mas no total de devoluções só exibe o primeiro registro e quantos forem os registros do total de vendas o total de devoluções se repete.
tentei fazer um select q me desse todos os dados q preciso, assim era só apontar no rave, mas como ainda to aprendendo sql (na verdade sou iniciante em tudo delphi, rave, sql... mas to caminhando), a consulta traz uns resultados estranhos.
se tiver alguma forma de fazer o rave trabalhar com os dois datasets adiantaria bem o meu lado, porque no mesmo relatorio tem outras bandas na mesma situação, é uma especie de mapa diario de todas as atividades.
pensei se tivesse como fazer um loockup entre os datasets no rave, resolveria.
caso alguém ache q é mais facil resolver na query, vou colocar as querys do total de venda e devolução:
--total de devolução nas vendas avista por familia
select
f.descricao,
sum(DI.qtde )qtd_total,
sum(devolucao_item_venda.qtde * itemvenda.vl_unitario) valor
from
DEVOLUCAO_ITEM_VENDA DI
join itemvenda on (devolucao_item_venda.cod_produto = itemvenda.codprod)
join PRODUTOS P on (P.codprod = DI.cod_produto)
join familia F on (familia.codgrupo = produtos.codgrupo)
join DEVOLUCAO_VENDA DV on (DI.cod_devolucao = DV.cod_devolucao)
join VENDAS V on (DV.codvenda = V.codvenda)
join CLIENTES C on (V.codcliente = C.codcliente)
where
DV.dt_devolucao between '20.02.2007' and '20.02.2008'
and V.tipovenda = 1
group by F.descricao
--total de vendas a vista por familia
select sum(itemvenda.qtde * itemvenda.vl_unitario) VL_TOT_VEN_VISTA_FAM,
familia.descricao
from familia
join produtos on (familia.codgrupo = produtos.codgrupo)
join itemvenda on (produtos.codprod = itemvenda.codprod)
join vendas on (itemvenda.codvenda = vendas.codvenda) where vendas.tipovenda = 1
and (vendas.dtvenda between '25.02.2007' and '25.02.2008')
group by familia.descricao'
vlw
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.