Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rodrigo Ricardo

[Resolvido] rel. de inventário com produtos com saldo maior q zer

Recommended Posts

olá galera do imasters, estou precisando de uma força em uma slq q montei

o caso eh o seguinte, estou trabalhando com delphi 5 e paradox

montei uma view onde traz todas as entradas e saidas do estoque, a qual está funcionando perfeitamente em um relatório de inventário, mas o caso eh que nao posso mostrar nesse relatório os produtos com saldo zerado.

na view estou fazendo da seguinte forma, busco todos produtos de entrada e multiplico por 1, os de saida multiplico por -1, montei uma sql com um group que mostra o saldo do produto, mas infelizmente nao posso mostrar os que estao com saldo zerado.

alguém tem alguma sujestao para oq fazer para nao mostrar no resultado dessa slq os produtops com saldo zero??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque não filtra isso na própria select? Poste o código ai para ver se podemos ajudar.... talvez com a cláusula having na sua select dê para filtrar os dados que quer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque não filtra isso na própria select? Poste o código ai para ver se podemos ajudar.... talvez com a cláusula having na sua select dê para filtrar os dados que quer.

 

esse é o conteúdo da view

 

Select P.ProCodigo as CodProd, P.ProNome as Descricao, E.Edata as Data, Sum(I.IeQtde) as Qtde

From EntradaEstoque E Left Join ItemEntEstoque I On (E.ESequencia = I.IESeqEnt) Right Join Produto P On (I.IECodProd = P.ProCodigo)

Group By P.ProCodigo, P.ProNome, E.EData

Union All

Select P.ProCodigo as CodProd, P.ProNome as Descricao, S.Sdata as Data, Sum(I.IsQtde)*-1 as Qtde

From SaidaEstoque S Left Join ItemSaiEstoque I On (S.SSequencia = I.ISSeqSai) Right Join Produto P On (I.ISCodProd = P.ProCodigo)

Group By P.ProCodigo, P.ProNome, S.Sdata

 

essa é a sql do relatório

 

Select G.GProCodigo as CodGrupo, G.GProNome as NomeGrupo, P.ProBarras as Barras, P.ProNome as Nome, P.ProCusto as Custo, Sum(S.Qtde) as Qtde, Sum((S.Qtde*P.ProCusto)) as Total

From Produto P Left Join "Vw_Estoque.SQL" S On (P.ProCodigo = S.CodProd) Right Join GrupoPro G On (P.ProGrupo = G.GProCodigo)

where Data <= :vdata

and G.GProCodigo = :vgrupo

Group By G.GProCodigo, G.GProNome, P.ProBarras, P.ProNome, P.ProCusto

Order By G.GProNome, P.ProNome

 

 

pensei em usar no where o exemplo abaixo, mas nao deu certo pq ele apresentou capabilit not suported

 

where Data <= :vdtini and Sum(S.Qtde) > "0"

 

se usar comparando o campo s.qtde tb nao dá certo, traz informações que nao sao verídicas

 

where Data <= :vdtini and S.Qtde > "0"

 

outra forma que tb pensei é em tratar no before print do relatório, mas estou usando o qreport e se desligo o onneed data, o group para de funcionar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que isso deva resolver seu problema:

 

Select G.GProCodigo as CodGrupo, G.GProNome as NomeGrupo, P.ProBarras as Barras, P.ProNome as Nome, P.ProCusto as Custo, Sum(S.Qtde) as Qtde, Sum((S.Qtde*P.ProCusto)) as Total
From Produto P Left Join "Vw_Estoque.SQL" S On (P.ProCodigo = S.CodProd) Right Join GrupoPro G On (P.ProGrupo = G.GProCodigo)
where Data <= :vdata
and G.GProCodigo = :vgrupo
Group By G.GProCodigo, G.GProNome, P.ProBarras, P.ProNome, P.ProCusto
Having SUM(S.Qtde) > 0
Order By G.GProNome, P.ProNome

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.