Ir para conteúdo
  • Cadastre-se

dev botao

Não Lê Código De Barras Do Boleto Do Banco Do Brasil


duiliolobianco
  • Este tópico foi criado há 3704 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Saudações. Eu não sei bem onde informar, mas aqui em Rondônia, mais especificamente em Ji-Paraná, nós trabalhamos com a Carteira e a Variação da carteira "17-019", e eu não achei este tratamento específico para no ACBr. Eu optei então por informar no campo Carteira o valor '17-019' e pelo menos o boleto imprime normal com a numeração do código de barras funcionando para pagar, apesar de eu ver todo o tratamento para (Carteira = 18, ou 16, etc... que por sorte nós não entramos nesta condição mesmo e pegar sempre o else). O problema é que o código de barras propriamente dito não lê de jeito nenhum.

 

Para resolver este problema, no procedimento onde monta o código de barras (procedure MontarCodigoBarras) na Unit ACBrBancoBrasil, eu fiz a seguinte alteração no trecho:

 

de

         CodigoBarras := IntToStrZero(Banco.Numero, 3) +
                         '9' +
                         FatorVencimento +
                         IntToStrZero(Round(ACBrTitulo.ValorDocumento * 100), 10) +
                         IfThen((Length(AConvenio) = 7), '000000', '') +
                         ANossoNumero +
                         IfThen((Length(AConvenio) < 7), padR(OnlyNumber(Cedente.Agencia), 4, '0'), '') +
                         IfThen((Length(AConvenio) < 7), IntToStrZero(StrToIntDef(OnlyNumber(Cedente.Conta),0),8), '') +
                         ACBrTitulo.Carteira;
 
para
         CodigoBarras := IntToStrZero(Banco.Numero, 3) +
                         '9' +
                         FatorVencimento +
                         IntToStrZero(Round(ACBrTitulo.ValorDocumento * 100), 10) +
                         IfThen((Length(AConvenio) = 7), '000000', '') +
                         ANossoNumero +
                         IfThen((Length(AConvenio) < 7), padR(OnlyNumber(Cedente.Agencia), 4, '0'), '') +
                         IfThen((Length(AConvenio) < 7), IntToStrZero(StrToIntDef(OnlyNumber(Cedente.Conta),0),8), '') +
                         Copy(ACBrTitulo.Carteira,1,2);
 
 
ou seja, ao invés de colocar o campo ACBrTitulo.Carteira, eu usei somente os dois primeiros digitos.
 
Assim funcionou, quem estiver com este mesmo problema está ai a solução. Estou informando aqui para ver se alguém faz a correção do componente para eu não me preocupar em ficar sempre alterando após cada atualização.
 
Aguardo alguma resposta,
Obrigado.
 
Duílio Lobianco

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 3704 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.