caelum / caelum-stella

O Caelum Stella visa suprir as necessidades do dia a dia do desenvolvedor brasileiro
http://stella.caelum.com.br
662 stars 341 forks source link

Cálculo de dígito verificador (Bradesco) #221

Open icjunior opened 6 years ago

icjunior commented 6 years ago

Estou utilizando o stella-boleto para impressão dos boletos Bradesco. Dei uma olhada comparando com o manual, e percebi que, quando o dígito do nosso número é igual a zero, está retornando como zero. Segundo o manual do Bradesco, quando o resto da divisão for "1", o dígito deverá ser "P". Pelo o que analisei no código do Stella, quem faz o cálculo do dígito é a "GeradorDeDigitoPadrao" ao qual chama a classe "DigitoPara" do Stella Core, passando no método .trocandoPorSeEncontrar("0", 0, 10, 11).

Alguém sabe se teria algum outro método que retorna o "P" ou seria necessário efetuar alguma alteração quando for Bradesco?

Obs.: Sinceramente não verifiquei em outro banco se essa regra é seguida.

angeliski commented 6 years ago

@icjunior Você pode anexar esse manual? Parece que hoje ele não retorna essa informação mesmo

icjunior commented 6 years ago

Olá @angeliski .. peço desculpas por não responder antes.

Hoje a noite envio esse manual, bem como minha resolução do caso.

angeliski commented 6 years ago

Maravilha @icjunior ! Pode anexar o manual nessa Issue mesmo e referenciar ela na abertura do PR. Muito obrigado pela contribuição!

icjunior commented 6 years ago

Olá @angeliski.

Segue o manual.

A explicação referente ao cálculo do dígito está na página 18.

4008-524-0121-layout-cobranca-versao-portugues.pdf

angeliski commented 6 years ago

Show de bola @icjunior Você sabe me dizer se esse é o manual mais atualizado do Bradesco? Além disso, você comentou sobre a resolução, consegue mandar um PR pra gente?

Desde já agradeço as contribuições

icjunior commented 6 years ago

Olá @angeliski, esse manual baixei do site do Bradesco hoje, então creio que seja a última versão, mas irei me certificar amanhã pela manhã.

Vou enviar a correção.