Fórum Saldo do Dia, cálculo errado #332036
25/10/2006
0
Olá amigos,
Estou fazendo um relatório do financeiro mas o Saldo do Dia não consigo fazer o calculo certo, estou usando o Report Buider e na hora que divido o Grupo por Data e coloco o SALDOFINAL ele aparece somento o ultimo calculo total. Sendo que era para ele pegar o Valor do dia do Credito e Débito e Diminuir com o Saldo Atual ai no próximo dia fazer a mesma coisa.
Alguém poderia me ajudar.
[b:f9662c42f7]Store Procedure[/b:f9662c42f7]
[b:f9662c42f7]Aqui estão as telas
Sempre do SALFOFINAL[/b:f9662c42f7]
http://img84.imageshack.us/img84/1285/imagem1jq6.jpg
http://img236.imageshack.us/img236/6148/imagem2vr0.jpg
http://img83.imageshack.us/img83/6175/imagem3fr0.jpg
Estou fazendo um relatório do financeiro mas o Saldo do Dia não consigo fazer o calculo certo, estou usando o Report Buider e na hora que divido o Grupo por Data e coloco o SALDOFINAL ele aparece somento o ultimo calculo total. Sendo que era para ele pegar o Valor do dia do Credito e Débito e Diminuir com o Saldo Atual ai no próximo dia fazer a mesma coisa.
Alguém poderia me ajudar.
[b:f9662c42f7]Store Procedure[/b:f9662c42f7]
CREATE PROCEDURE SPREL_RAZAO_01 ( DATAINICIO DATE, DATAFIM DATE, CONTA INTEGER, TIPO CHAR(1)) RETURNS ( NOMEDACONTA VARCHAR(50), SALDOANTERIOR NUMERIC(15,2), SALDOANTERIORCONTA NUMERIC(15,2), SALDOFINAL NUMERIC(15,2), DATA DATE, HISTORICO VARCHAR(60), DOCUMENTO INTEGER, CODIGOTIPO INTEGER, CREDITOS NUMERIC(15,2), DEBITOS NUMERIC(15,2)) AS declare variable vcreconta numeric(10,2); declare variable vdebconta numeric(10,2); declare variable vcre numeric(10,2); declare variable vdeb numeric(10,2); declare variable vtipo integer; declare variable vvalor numeric(10,2); declare variable vsaldoaux numeric(10,2); declare variable vcontapatri integer; declare variable vcontacre integer; declare variable vcontadeb integer; declare variable vcont integer; declare variable atualcre numeric(10,2); declare variable atualdeb numeric(10,2); begin if (:TIPO=´T´ ) then /*TODOS*/ begin for select lan.CONTAPATRIMONIAL, con.NOMEDACONTA, lan.DATA, lan.DOCUMENTO, lan.HISTORICO, lan.VALOR, lan.TIPODOLANCAMENTO, lan.TIPODECREDITO, lan.TIPODEDEBITO from lancamentocont lan join contaspatrimoniais con on (lan.CONTAPATRIMONIAL=con.CODIGOPATRIMONIAL) where lan.data >= :datainicio and lan.data <= :datafim order by con.NOMEDACONTA, lan.DATA into:VCONTAPATRI,:NOMEDACONTA,:DATA,:DOCUMENTO,:HISTORICO,:VVALOR,:VTIPO,:VCONTACRE,:VCONTADEB do begin -- SALDO ANTERIOR select sum(cre.valor) from lancamentocont cre where cre.data < :datainicio and cre.tipodolancamento = 1 And cre.contapatrimonial = :VCONTAPATRI into:vcre; select sum(deb.valor) from lancamentocont deb where deb.data < :datainicio and deb.tipodolancamento = 2 And DEB.contapatrimonial = :VCONTAPATRI into:vdeb; if (VCRE is null) then VCRE=0; if (VDEB is null) then VDEB=0; SALDOANTERIOR=(VCRE-VDEB); if (SALDOANTERIOR is null) then SALDOANTERIOR=0; -- SALDO FINAL select sum(cre.valor) from lancamentocont cre where CRE.data < :datafim and cre.tipodolancamento = 1 And cre.contapatrimonial = :VCONTAPATRI into:atualcre; select sum(deb.valor) from lancamentocont deb where DEB.data < :datafim and DEB.tipodolancamento = 2 And DEB.contapatrimonial = :VCONTAPATRI into:atualdeb; if (ATUALCRE is null) then ATUALCRE=0; if (ATUALDEB is null) then ATUALDEB=0; saldofinal=(ATUALCRE - ATUALDEB); if (saldofinal is null) then saldofinal=0; if (:VTIPO=1) then begin CODIGOTIPO=:VCONTACRE; CREDITOS=VVALOR; DEBITOS=0; end else if (:VTIPO=2) then begin CODIGOTIPO=:VCONTADEB; DEBITOS=VVALOR; CREDITOS=0; end suspend;
[b:f9662c42f7]Aqui estão as telas
Sempre do SALFOFINAL[/b:f9662c42f7]
http://img84.imageshack.us/img84/1285/imagem1jq6.jpg
http://img236.imageshack.us/img236/6148/imagem2vr0.jpg
http://img83.imageshack.us/img83/6175/imagem3fr0.jpg
Rodrigorpb
Curtir tópico
+ 0
Responder
Posts
25/10/2006
Rodrigorpb
Me esqueci de especificar, o Saldo do Dia é o SALDOFINAL na Strore Procedure.
Obrigado.
Obrigado.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)