Autor Tópico: Erro na exibição de valores em campo acumulado na consulta  (Lida 722 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: 2408
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: 67
    • 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 ?

Piwtorak

  • Novato
  • *
  • Mensagens: 24
Re:Erro na exibição de valores em campo acumulado na consulta
« Responder #4 Online: Abril 05, 2017, 10:35:44 am »
alguma solucao para o caso ?
estou com um campo acumulado que num dado momento fura.

ja botei scroll infinito.

   20150106   REC   04122014   DP   T00014   R   VL   2.200,0000000   2.200,00   2.200,00

20150128   REC   16012015   DP   T00014   R   VL   4.300,0000000   4.300,00   6.500,00

20150204   REC   15102014   DP   T00014   R   VL   500,0000000   500,00   7.000,00

20150204   REC   16012015   DP   T00014   R   VL   2.200,0000000   2.200,00   9.200,00

20150219   REC   06022015   DP   T00014   R   VL   3.600,0000000   3.600,00   12.800,00

20150223   REC   06022015   DP   T00014   R   VL   1.800,0000000   1.800,00   14.600,00

20150317   REC   10032015   DP   T00014   R   VL   5.400,0000000   5.400,00   20.000,00

20150317   REC   11032015   DP   T00014   R   VL   1.800,0000000   1.800,00   21.800,00

20150330   REC   11032015   DP   T00014   R   VL   3.600,0000000   3.600,00   25.400,00

20150402   REC   26032015   DP   T00014   R   VL   3.880,0000000   3.880,00   29.280,00

20150414   REC   26032015   DP   T00014   R   VL   2.000,0000000   2.000,00   31.280,00

20150415   REC   01042015   DP   T00014   R   VL   5.400,0000000   5.400,00   36.680,00

20150428   REC   15042015   DP   T00014   R   VL   3.600,0000000   3.600,00   40.280,00

20150504   REC   15042015   DP   T00014   R   VL   1.800,0000000   1.800,00   42.080,00

20150511   REC   24042015   DP   T00014   R   VL   5.400,0000000   5.400,00   47.480,00

20150512   REC   26032015   DP   T00014   R   BA   120,0000000   120,00   47.600,00

20150623   REC   08062015   DP   T00014   R   VL   6.218,0000000   6.218,00   53.818,00

20150708   REC   30042015   DP   T00014   R   VL   5.400,0000000   5.400,00   59.218,00

20150723   REC   18062015   DP   T00014   R   VL   6.200,0000000   6.200,00   65.418,00

20150724   REC   22062015   DP   T00014   R   VL   5.700,0000000   5.700,00   5.700,00


20150814   REC   24072015   DP   T00014   R   VL   6.000,0000000   6.000,00   11.700,00

20150817   REC   27082015   DP   T00014   R   VL   6.000,0000000   6.000,00   17.700,00