Ir para conteúdo
  • Cadastre-se

dev botao

Erro ao gerar boleto, linha digitavél diferente do valor do boleto sicoob


Ver Solução Respondido por EMBarbosa,
  • Este tópico foi criado há 1882 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Bom dia, pessoal

ao imprimir gerar um boleto estou esta gerando um erro na linha digitável, o valor esta dando diferença de 1 centavos acima do valor correto do boleto. Notei que acontece em todos os boletos com valores quebrados exemplo 10,54 ele coloca na linha digitável 10,55.

 

Alguém já passou por algum problema semelhante ?

 

Erro do boleto.png

Link para o comentário
Compartilhar em outros sites

  • Moderadores

bom dia..

Sua nota fiscal, é em 3 parcelas. Verique no seu sistema, se esta dando valor quebrado, talvez o problema esteja ai, e nao no componente.

No nosso sistema, quando emitimos nfe, na divisao, ja olhamos se da alguma diferenca de centavos, e arrumamos a ultima duplicata.

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Administradores

Boa tarde.

Estranho que a informação usada na linha digitavel e no valor é o mesmo...é possível reproduzir o problema no demo?

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

2 horas atrás, Amarildo de Matos disse:

bom dia..

Sua nota fiscal, é em 3 parcelas. Verique no seu sistema, se esta dando valor quebrado, talvez o problema esteja ai, e nao no componente.

No nosso sistema, quando emitimos nfe, na divisao, ja olhamos se da alguma diferenca de centavos, e arrumamos a ultima duplicata.

 

Entendi, vou verificar! Obrigado

7 minutos atrás, Juliana Tamizou disse:

Boa tarde.

Estranho que a informação usada na linha digitavel e no valor é o mesmo...é possível reproduzir o problema no demo?

Att.

Juliana, boa tarde!

Vou fazer o teste no demo e posto o resultado aqui.

Link para o comentário
Compartilhar em outros sites

28 minutos atrás, Antonio Gomes disse:

Seu campo é ponto flutuante com N dizimas? Em modo debug ele nao fica assim: 1978,546666666667 ?

não eu utilizo currency ai o sistema inputa o valor assim 1978,54. eu me lembro que eu pesquisei aqui mesmo no fórum a solução deste problema, ai pensei que havia sido solucionado na versão atual, ai atualizei os fontes e o problema voltou acontecer. 

eu não lembro o qual a linha foi alterada, mas tenho os fontes que o colega alterou aqui no pc ao colocar este fonte funciona perfeitamente. vou tentar identificar a linha que ele alterou para postar. Também vou fazer uma busca mais profunda para ver se eu acho novamente a solução.

Com estes fontes eu não tenho problema ao gerar boleto com valor quebrado. 

 

ACBrBoleto.rar

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Consultores
3 horas atrás, websterbalberocha disse:

não eu utilizo currency ai o sistema inputa o valor assim 1978,54. eu me lembro que eu pesquisei aqui mesmo no fórum a solução deste problema, ai pensei que havia sido solucionado na versão atual, ai atualizei os fontes e o problema voltou acontecer

Na verdade, Currency também tem valor quebrado. Ele trabalha até 4 casas decimais.

Eu consegui reproduzir com os valores inversos, ou seja, a linha digitável foi arredondada para baixo. Usando o demo alterei o valor para 1978,545:

    ValorDocumento    := 1978.545;

Resultado:

image.png

3 horas atrás, websterbalberocha disse:

eu não lembro o qual a linha foi alterada, mas tenho os fontes que o colega alterou aqui no pc ao colocar este fonte funciona perfeitamente. vou tentar identificar a linha que ele alterou para postar. Também vou fazer uma busca mais profunda para ver se eu acho novamente a solução.

Infelizmente, o código anexado também não funciona. Passa a dar problema com outros valores, como por exemplo 1978,635.

É muito provável que seu problema se iniciou com o que o Amarildo mencionou acima:

6 horas atrás, Amarildo de Matos disse:

a nota fiscal, é em 3 parcelas. Verique no seu sistema, se esta dando valor quebrado,

Então eu sugiro você verificar isso até que tenhamos uma outra solução.

A correção definitiva talvez seja alterar a formatação. Mas não tentar fazer vários arredondamentos como está sendo feito no código anexo.

Teríamos que usar a mesma formatação tanto para o campo "Valor do Documento" no relatório (exemplo: ACBrBoletoFCFortesFr.pas) e como na montagem da linha digitável (exemplo ACBrBancoBancoob.pas).

Mas fazer isso para todos os bancos.

  • Curtir 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Fundadores

A solução parece estar do lado da aplicação...

Basta não enviar valores com mais de 2 decimais para o componente... 

Você pode fazer isso, usando o método  RoundTo (do Delphi) ou RoundABNT da ACBrUtil.pas 

  • Curtir 4
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

21 horas atrás, EMBarbosa disse:

Na verdade, Currency também tem valor quebrado. Ele trabalha até 4 casas decimais.

Eu consegui reproduzir com os valores inversos, ou seja, a linha digitável foi arredondada para baixo. Usando o demo alterei o valor para 1978,545:


    ValorDocumento    := 1978.545;

Resultado:

image.png

Infelizmente, o código anexado também não funciona. Passa a dar problema com outros valores, como por exemplo 1978,635.

É muito provável que seu problema se iniciou com o que o Amarildo mencionou acima:

Então eu sugiro você verificar isso até que tenhamos uma outra solução.

A correção definitiva talvez seja alterar a formatação. Mas não tentar fazer vários arredondamentos como está sendo feito no código anexo.

Teríamos que usar a mesma formatação tanto para o campo "Valor do Documento" no relatório (exemplo: ACBrBoletoFCFortesFr.pas) e como na montagem da linha digitável (exemplo ACBrBancoBancoob.pas).

Mas fazer isso para todos os bancos.

 

Boa tarde, bom então vou fazer o seguinte vou atualizar o acbr novamente para versão mais nova e seguir os passos que o Daniel disse utilizar o roundABNT. Se erro persiste eu posto.
Obrigado a todos 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution
11 minutos atrás, websterbalberocha disse:

 

Boa tarde, bom então vou fazer o seguinte vou atualizar o acbr novamente para versão mais nova e seguir os passos que o Daniel disse utilizar o roundABNT. Se erro persiste eu posto.
Obrigado a todos 

 

Acabei de enviar uma alteração no componente que vai fazer esse arredondamento assim que você enviar um valor para Titulo.ValorDocumento.

Queira por favor, atualizar e testar com essa versão que eu enviei:

Revisão 16398

-- ACBrBoleto --
[*] Ao setar o valor do documento em um título, o ACBrBoleto agora arredonda o valor para 2 casas decimais. Isso corrige o problema de valor de documento estar diferente da LinhaDigitada.

 

  • Curtir 2
  • Obrigado 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

6 minutos atrás, EMBarbosa disse:

Acabei de enviar uma alteração no componente que vai fazer esse arredondamento assim que você enviar um valor para Titulo.ValorDocumento.

Queira por favor, atualizar e testar com essa versão que eu enviei:

Revisão 16398

-- ACBrBoleto --
[*] Ao setar o valor do documento em um título, o ACBrBoleto agora arredonda o valor para 2 casas decimais. Isso corrige o problema de valor de documento estar diferente da LinhaDigitada.

 

Beleza Vou Atualizar aqui e informo. Muito Obrigado Abraços

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Em 25/01/2019 at 17:24, websterbalberocha disse:

@EMBarbosa Show parabéns, funcionou perfeitamente! Na segunda irei colocar em produção.

OBS: Também segui os  passos que @Amarildo de Matos e @Daniel Simoes mencionaram.

Não entendi nada, vc estava sentando o valor com mais de 2 decimais? Se sim, para que finalidade?

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1882 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.