kivanio / brcobranca

Emissão de bloquetos de cobrança para bancos brasileiros
https://brcobranca.herokuapp.com/
MIT License
373 stars 241 forks source link

Numero Boleto Sicred #53

Closed Darvem closed 10 years ago

Darvem commented 10 years ago

Boa tarde, não encontrei a falha ainda mas ao gerar um boleto da sicredi usando o código abaixo ele dá erro, o numero do order.id = 220, porem com o mesmos dados só com o order.id = 221 funciona, isso é alguns números específicos do order.id.

@boleto.numero_documento = order.id.to_s.rjust(5, '0')

Nos Logs ele registra o seguinte erro: Brcobranca::BoletoInvalido (): app/controllers/admin/orders_controller.rb:190:in `download_order'

Linha 190: send_data @boleto.to_pdf, :filename => "boleto_em_bloco.pdf", :disposition => 'attachment', :stream => false

Olhando por cima verifiquei que se eu for renderizar ele em html ele me gera nesta parte o erro <%= @boleto.codigo_barras.linha_digitavel %>

Já aconteceu outro caso parecido ?

kivanio commented 10 years ago

Acredito que ele esteja interpretando o 220 como 22, e quando você ajusta as casas decimais em 5, fica faltando uma casa decimal.

Darvem commented 10 years ago

Achei estranho que se eu passar o 220 como string ou integer ele dá erro, e se se eu passar 00220 ele como integer ele aceita, string não, mas ai ele muda o numero do boleto para 144.

josuetex commented 10 years ago

Em vez de rjust(5, '0') não seria ljust(5, '0') ?

Darvem commented 10 years ago

até funcionou josuetex porem o numero do boleto fica 22000 invés de 00220..

josuetex commented 10 years ago

Esse método é para preencher zeros na esquerda. Provavelmente no código interno ele está sendo formatado novamente.

brodock commented 10 years ago

eu encontrei problemas com o codigo_barras_segunda_parte, ainda estou investigando, mas ele está retornando um número a menos do que deveria

brodock commented 10 years ago

eu encontrei o problema, vou mandar um pull request assim que acabar de fazer um outro commit

plentz commented 10 years ago

resolvido na #57 (já integrado no master)