Relatório a Prazo (ajuda)
04/03/2013
0
Clovis Junior
Posts
04/03/2013
Rafael Cunha
04/03/2013
William
1 - Qual a versão do Delphi?
2 - Qual gerador de relatório vc vai usar?
3 - Qual SGBD vc está usando?
4 - Como estão gravados os dados necessários para gerar o relatório?
5 - Quais são os parâmetros para gerar tal relatório?
04/03/2013
Bruno Leandro
04/03/2013
Clovis Junior
[URL=http://imageshack.us/photo/my-images/42/semttulonkj.png/][IMG]http://img42.imageshack.us/img42/9829/semttulonkj.png[/IMG][/URL]
Agora amigos , queria criar um relatorio deste padrão com vendas aprazo,
meu sql de venda avista do relatorio é este
select c.nome_cliente, (i.prec_unitario * i.quantidade) as total, v.codigo, p.nome, i.prec_unitario, i.quantidade, v.total_venda from cliente c, produtos_servicos p, itens i,venda_servico v where v.codigo = :codvenda and i.cod_venda = v.codigo and c.cod_cliente = v.cod_cliente and p.cod_produto_servicos = i.cod_produto_servico
04/03/2013
Clovis Junior
dm.IBQ_RelVenda.Close; dm.IBQ_RelVenda.ParamByName('codvenda').AsInteger := dm.IB_VENDAS_SERVICOSCODIGO.AsInteger; dm.IBQ_RelVenda.Prepare; dm.IBQ_RelVenda.Open;
04/03/2013
Clovis Junior
http://imageshack.us/photo/my-images/42/semttulonkj.png/
04/03/2013
Bruno Leandro
04/03/2013
Clovis Junior
04/03/2013
Clovis Junior
http://imageshack.us/photo/my-images/812/semttulovzv.png/
ou seja neste referencia COD_VENDA eu estou pegando da tabela de venda os dados no quais forem vendas aprazo. correto??
fiz um relacionamento entre elas no qual vai se diferir entre situações da venda , "pago" , "em aberto" Sao as situaçoes de uma venda.
04/03/2013
Clovis Junior
http://imageshack.us/photo/my-images/801/semttulovh.png/
04/03/2013
Clovis Junior
Isso , sao parcelas ou parcelas unidas no quais estao pendentes sim
04/03/2013
Bruno Leandro
select cod_venda
from vendas
inner join parcela on parcela.cod_venda = vendas.cod_venda
where numero_de_parcelas > 1
04/03/2013
Clovis Junior
select cod_venda
from vendas
inner join parcela on parcela.cod_venda = vendas.cod_venda
where numero_de_parcelas > 1
Entao so que pra eu realizar a consulta de clientes que esta com dividas em abertas eu utilizo este codigo para pesquisar os clientes
With DM.IB_RECEBER Do begin Close; SQL.Clear; SQL.add( 'Select venda_servico.data_venda,parcela.cod_parcela, parcela.valor_parcela,cliente.nome_cliente,parcela.situacao,parcela.valor_pago,parcela.data_pagamento'); SQL.add(' From VENDA_SERVICO '); SQL.add('Inner Join PARCELA'); SQL.add(' On PARCELA.COD_VENDA = VENDA_SERVICO.CODIGO'); SQL.add('Inner Join CLIENTE'); SQL.add('On VENDA_SERVICO.COD_CLIENTE = CLIENTE.COD_CLIENTE'); SQL.add('and (upper(cliente.nome_cliente) like upper(:name))'); ParamByName('name').AsString := Edit1.Text + '%'; Open; DM.IBTransaction1.CommitRetaining; end;
04/03/2013
Clovis Junior
select cod_venda
from vendas
inner join parcela on parcela.cod_venda = vendas.cod_venda
where numero_de_parcelas > 1
Entao so que pra eu realizar a consulta de clientes que esta com dividas em abertas eu utilizo este codigo para pesquisar os clientes
With DM.IB_RECEBER Do begin Close; SQL.Clear; SQL.add( 'Select venda_servico.data_venda,parcela.cod_parcela, parcela.valor_parcela,cliente.nome_cliente,parcela.situacao,parcela.valor_pago,parcela.data_pagamento'); SQL.add(' From VENDA_SERVICO '); SQL.add('Inner Join PARCELA'); SQL.add(' On PARCELA.COD_VENDA = VENDA_SERVICO.CODIGO'); SQL.add('Inner Join CLIENTE'); SQL.add('On VENDA_SERVICO.COD_CLIENTE = CLIENTE.COD_CLIENTE'); SQL.add('and (upper(cliente.nome_cliente) like upper(:name))'); ParamByName('name').AsString := Edit1.Text + '%'; Open; DM.IBTransaction1.CommitRetaining; end;
Clique aqui para fazer login e interagir na Comunidade :)