REVELAR

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]


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

Rodrigorpb

Responder

Posts

25/10/2006

Rodrigorpb

Me esqueci de especificar, o Saldo do Dia é o SALDOFINAL na Strore Procedure.



Obrigado.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar