Relatório a Prazo (ajuda)

04/03/2013

1

Ola galera , precisava de uma mão de alguem para elaboração de um relatório aprazo :s
Responder

Posts

04/03/2013

Rafael Cunha

Explique melhor o que está precisando para que fique mais fácil poder te ajudar.
Responder

04/03/2013

William

Complementando o colega Rafael:

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?
Responder

04/03/2013

Bruno Leandro

Ola ficou muito generico, voce poderia especificar com maior riqueza de detalhes a sua dificuldade, para que possamos auxilia-lo da melhor forma
Responder

04/03/2013

Clovis Junior

Meu banco de dados eh Firebird, eu uso a ferramenta IDE Delphi 2010 , o componente para relatorio eu estou usandu quickreport , so que assim quando fiz o relatorio avista para a cliente ele emite o relatorio com duas vias , uma via para a cliente e uma via para o estabelecimento ficou mais ou menos assim

[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 
Responder

04/03/2013

Clovis Junior

Este é o codigo no qual fica no final da linha de codigo na finalização da venda avista

dm.IBQ_RelVenda.Close;
        dm.IBQ_RelVenda.ParamByName('codvenda').AsInteger :=
          dm.IB_VENDAS_SERVICOSCODIGO.AsInteger;
        dm.IBQ_RelVenda.Prepare;
        dm.IBQ_RelVenda.Open;
Responder

04/03/2013

Clovis Junior

Esta é a imagem

http://imageshack.us/photo/my-images/42/semttulonkj.png/
Responder

04/03/2013

William

Vc quer gerar um relatório para cada parcela?
Responder

04/03/2013

Bruno Leandro

certo, e o que diferencia uma compra a vista e uma compra a prazo, é gerado parcelas pendentes ?, fica com data contabilização do pagamento nula ou não teria esse tratamento
Responder

04/03/2013

Clovis Junior

Não nao , é um relatorio tpw aprazo mesmo , eh como se fosse de uma venda normal avista sabe , a questao é que aprazo eu coloquei nesta tabela para que ele guarde pra mim as notas das pessoas que efetuaram a venda aprazo , no qual será armanezado na tabela de contas receber , por isso que criei esta tabela parcela , pra ela pegar a situação da venda .
Responder

04/03/2013

Clovis Junior

a minha tabela parcela tem os seguintes campos
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.
Responder

04/03/2013

Clovis Junior

Aqui será arquivada as vedas aprazo no qual tudo vem da tabela PARCELA


http://imageshack.us/photo/my-images/801/semttulovh.png/
Responder

04/03/2013

Clovis Junior

certo, e o que diferencia uma compra a vista e uma compra a prazo, é gerado parcelas pendentes ?, fica com data contabilização do pagamento nula ou não teria esse tratamento


Isso , sao parcelas ou parcelas unidas no quais estao pendentes sim
Responder

04/03/2013

Bruno Leandro

pra voce pegar as vendas a prazo acredito que tenha numero_de_parcelas > 1, ja liste todas as vendas que foram a prazo

select cod_venda
from vendas
inner join parcela on parcela.cod_venda = vendas.cod_venda
where numero_de_parcelas > 1
Responder

04/03/2013

Clovis Junior

pra voce pegar as vendas a prazo acredito que tenha numero_de_parcelas > 1, ja liste todas as vendas que foram a prazo

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;
Responder

04/03/2013

Clovis Junior

pra voce pegar as vendas a prazo acredito que tenha numero_de_parcelas > 1, ja liste todas as vendas que foram a prazo

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;
Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira