Autor Tópico: Erro na exibição de valores em campo acumulado na consulta  (Lida 514 vezes)

ascslate

  • Novato
  • *
  • Mensagens: 2
    • Email
Erro na exibição de valores em campo acumulado na consulta
« Online: Abril 20, 2016, 08:19:49 am »
Caríssimos, bom dia!

Tenho uma aplicação de consulta que exibe o extrato de movimentações bancárias do caixa da empresa. Na emissão de um extrato, ocorre um erro estranho que faz com que o campo Saldo (Acumulado) exiba um valor diferente do correto, acrescentado (ou retirando) milésimos de centavos do valor correto no campo acumulado, causando erro na soma (!!!!) do extrato. Vejam a tela com o erro abaixo. A primeira coluna "Saldo" é apenas para tornar os valores em "-" quando for débitos e "+" quando crédito (está sendo exibida propositalmente para tentar identificar a origem do erro), e a segunda coluna "Saldo" é um campo moeda acumulador desta primeira coluna "saldo". Eu suprimi a opção "completar com zeros" para verificar se ocorria algum problema de digitação indevida de centésimos ou milésimos pelos usuários, e deixei a coluna acumulado com 10 casas decimais. Todos os campos estão com tipo=Moeda. Como vocês poderão notar, o acumulado muda o valor no último lançamento. Entretanto, se eu tirar o extrato das datas 15/04 e 18/04 separadamente, o erro não acontece. Já tentei todas as formas ao alcance de meus limitados conhecimentos, mas não consigo identificar o que causa o erro, ou como corrigi-lo.
Data    Titulo    Lancamento    Obs    Cheque    Credito    Debito    Saldo    Saldo
15/04/2016    00001    Saldo Anterior                    1.033,61    1.033,61
15/04/2016    1357    DIAMOND BILLIARD PRODUCTS, INC          43.703,4         43.703,4    44.737,01
15/04/2016    1394    EASI EIGHT DESIGN&MANUFACTORING (PTY) LTD          36.817,22         36.817,22    81.554,23
15/04/2016    1395    EASI EIGHT DESIGN&MANUFACTORING (PTY) LTD          36.817,22         36.817,22    118.371,45
15/04/2016    1398    BRUNSWICK BILLIARDS          48.354,13         48.354,13    166.725,58
15/04/2016    1399    BRUNSWICK BILLIARDS          48.354,14         48.354,14    215.079,72
15/04/2016    1400    OLHAUSEN BILLIARD MFG.,INC          33.572,12         33.572,12    248.651,84
15/04/2016    1401    OLHAUSEN BILLIARD MFG.,INC          33.572,12         33.572,12    282.223,96
15/04/2016    1402    OLHAUSEN BILLIARD MFG.,INC          16.786,06         16.786,06    299.010,02
15/04/2016    1403    OLHAUSEN BILLIARD MFG.,INC          16.786,06         16.786,06    315.796,08
15/04/2016    1404    OLHAUSEN BILLIARD MFG.,INC          41.685,86         41.685,86    357.481,94
15/04/2016    1405    OLHAUSEN BILLIARD MFG.,INC          36.119,87         36.119,87    393.601,81
15/04/2016    4987    TICHAUER CONSULTORIA ADM LTDA    COM.AGENTE FAT.DB008_15            -2.185,15    -2.185,15    391.416,66
15/04/2016    4988    CLAUDIO MERLLI    COM.AGENTE FAT.EE007_16            -3.681,71    -3.681,71    387.734,95
15/04/2016    4989    TICHAUER CONSULTORIA ADM LTDA    COM.AGENTE FAT.OH018_16            -5.355,63    -5.355,63    382.379,32
18/04/2016    TRF479    TRANSFERENCIA BANCARIA    TRANSF. DA CC.17725-6 ITAU P/ CC.6501-3 BB            -380.000,    -380.000,    2.379,3199999999

Jailton

  • Expert
  • *****
  • Mensagens: 2026
Re:Erro na exibição de valores em campo acumulado na consulta
« Responder #1 Online: Abril 20, 2016, 09:46:55 am »
Na sua base de dados, todos os campos envolvidos nos cálculos tem que ser decimal e 2 casas decimais e depois na listagem grid também a mesma coisa, se você criou uma função
para apurar o saldo diretamente na base use round(valor, 2) no valor final antes de gravar lá também.
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

ascslate

  • Novato
  • *
  • Mensagens: 2
    • Email
Re:Erro na exibição de valores em campo acumulado na consulta
« Responder #2 Online: Abril 20, 2016, 10:45:58 am »
Prezado Jailton,

Obrigado por sua resposta. Mas... Os valores que estão na base de dados são exatamente os que constam nas colunas Crédito e Débito, estão configuradas na base de dados como Money e 2 casas decimais. As colunas "saldo" e "acumulado" são geradas em tempo de execução como campos criados no Scriptcase as duas como Moeda. A primeira coluna "Saldo"vem da condicional  (Se Crédito=valor positivo, se débito=valor negativo) e a segunda, "Acumulado", apenas acumula os valores da primeira coluna saldo. E é exatamente neste "Acumulado" (não sei como o Scriptcase faz isso, ainda estou estudando o código) que ocorre o problema de mudar o valor. Além disso já identificamos o erro em outras datas no extrato. Sem nenhum  motivo os valores são modificados. O mais estranho é que se eu emitir os extratos das duas datas separadamente (15/04 e 18/04) o erro não aparece... mas emitindo o extrato do intervalo aparece o erro novamente. Veja abaixo (lembrando que os dados listados são a cópia da consulta exibida na tela).

Extrato 15/04

Data            Titulo    Credito    Debito    Saldo    Acumulado
15/04/2016    00001                             1.033,61    1.033,61
15/04/2016    1357    43.703,4                  43.703,4    44.737,01
15/04/2016    1394    36.817,22         36.817,22    81.554,23
15/04/2016    1395    36.817,22         36.817,22    118.371,45
15/04/2016    1398    48.354,13         48.354,13    166.725,58
15/04/2016    1399    48.354,14         48.354,14    215.079,72
15/04/2016    1400    33.572,12         33.572,12    248.651,84
15/04/2016    1401    33.572,12         33.572,12    282.223,96
15/04/2016    1402    16.786,06         16.786,06    299.010,02
15/04/2016    1403    16.786,06         16.786,06    315.796,08
15/04/2016    1404    41.685,86         41.685,86    357.481,94
15/04/2016    1405    36.119,87         36.119,87    393.601,81
15/04/2016    4987         -2.185,15    -2.185,15    391.416,66
15/04/2016    4988         -3.681,71    -3.681,71    387.734,95
15/04/2016    4989         -5.355,63    -5.355,63    382.379,32

Extrato 18/04
Data            Titulo    Credito    Debito    Saldo    Acumulado
18/04/2016    00001                            382.379,32    382.379,32
18/04/2016    TRF479         -380.000,    -380.000,    2.379,32

Extrato 1504 a 18/04
Data             Titulo    Credito    Debito    Saldo    Acumulado
15/04/2016    00001                               1.033,61    1.033,61
15/04/2016    1357    43.703,4                      43.703,4            44.737,01
15/04/2016    1394    36.817,22         36.817,22    81.554,23
15/04/2016    1395    36.817,22         36.817,22    118.371,45
15/04/2016    1398    48.354,13         48.354,13    166.725,58
15/04/2016    1399    48.354,14         48.354,14    215.079,72
15/04/2016    1400    33.572,12         33.572,12    248.651,84
15/04/2016    1401    33.572,12         33.572,12    282.223,96
15/04/2016    1402    16.786,06         16.786,06    299.010,02
15/04/2016    1403    16.786,06         16.786,06    315.796,08
15/04/2016    1404    41.685,86         41.685,86    357.481,94
15/04/2016    1405    36.119,87         36.119,87    393.601,81
15/04/2016    4987             -2.185,15    -2.185,15    391.416,66
15/04/2016    4988                -3.681,71    -3.681,71    387.734,95
15/04/2016    4989             -5.355,63    -5.355,63    382.379,32
18/04/2016    TRF479             -380.000,    -380.000,    2.379,3199999999

andreluiz

  • Iniciante
  • **
  • Mensagens: 52
    • André Luiz Web
Re:Erro na exibição de valores em campo acumulado na consulta
« Responder #3 Online: Agosto 15, 2016, 12:21:11 pm »
Estou com o mesmo problema ele calcula errado na exibição mas na exportação ele faz correto o que pode ser ?