Dúvida sobre geração de boleto para o Banco do Brasil

58 views
Skip to first unread message

Rodrigo Rosa

unread,
Mar 1, 2012, 7:50:30 AM3/1/12
to JRimum Community
Saudações!

Estou fazendo um teste com emissão de boletos e obtive sucesso na
geração para:

- Caixa Econômica Federal
- Banrisul
- Bradesco
- Itaú

Tenho uma ligeira diferença no Sicredi (gera o código como 748-0 e eu
tinha como 748-X), mas pode ser mudança no layout.

Minha grande dúvida/problema está relacionado com o Banco do Brasil. O
campo livre ficou bastante diferente do boleto impresso.

Depurando o programa, cheguei a classe AbstractCLBancoDoBrasil, no
método create que vai selecionar a implementação, tem o seguinte teste

case NN17:
if(titulo.getContaBancaria().getNumeroDaConta().getCodigoDaConta()
< 1000000){
return new CLBancoDoBrasilNN17Convenio6(titulo);
}else{
return new CLBancoDoBrasilNN17Convenio7().build(titulo);
}

Segundo a documentação que tenho, deveria testar o número do convênio
< 1000000 e não o número da conta. No meu cenário, o número do
convênio é maior que 1000000 e o número da conta (muito) menor,
instanciando a classe CLBancoDoBrasilNN17Convenio6 quando na verdade
eu preciso da CLBancoDoBrasilNN17Convenio7. Fiz um teste alterando o
número da conta durante a depuração e instanciando a classe do
Convenio7 gerou o boleto da maneira que preciso. No tutorial para
geração de NN17 e Convênio 6 tem um comentário

/*
* Conta/Convênio de 6 posições ou seja, até 999999
*/

Ao atribuir o número da conta, dando a entender que seria a mesma
coisa. Estou confuso, pois eu tenho como duas informações diferentes:
o número do convênio (número de 7 dígitos) e o número da conta (número
de 4 dígitos).
Entendi errado?

A propósito, ótimo projeto! =)
Obrigado,

Rodrigo Rosa

Rômulo Augusto

unread,
Mar 1, 2012, 8:20:46 AM3/1/12
to jrimum-c...@googlegroups.com
Rodrigo, isso ocorre porque decidimos usar o número da conta para representar o número da conta ou o código do convênio para a geração do boleto.
Estamos revendo isso para uma próxima versão.

Sendo assim, basta que vc configure o número da conta com o código do convênio e ficará td certo. Com isso talvez vc precise alterar o campo do número da conta na visualização.

Veja aí se dá certo! Valeu


-------------------------------------------------------------------
Rômulo Augusto
JRimum Developer
www.jrimum.org
P Antes de imprimir, pense em seu compromisso com o meio ambiente




--
Você recebeu esta mensagem porque está inscrito no Grupo "JRimum
Community" nos Grupos do Google.
Para postar neste grupo, envie um e-mail para
jrimum-c...@googlegroups.com
ANTES DE POSTAR... leia:
https://groups.google.com/d/topic/jrimum-community/ULU8QHHgaBs/discussion
Para cancelar a sua inscrição neste grupo, envie um e-mail para
jrimum-communi...@googlegroups.com
Para ver mais opções, visite este grupo em
http://groups.google.com/group/jrimum-community?hl=pt-BR?hl=pt-BR

Rodrigo Rosa

unread,
Mar 1, 2012, 8:58:27 AM3/1/12
to jrimum-c...@googlegroups.com
Obrigado pela rápida resposta, Rômulo.

Realmente, usando o número do convênio como número da conta, gera o campo livre adequadamente.
Porém, no campo Agência/Código do Cedente passa a imprimir o número do convênio. Não sei se isso não vai dar algum problema na homologação, porque se espera a conta.
Acho que temporariamente vou alterar o código e gerar uma versão interna usando o convênio.

Obrigado pela ajuda.

Rodrigo Rosa


2012/3/1 Rômulo Augusto <romul...@gmail.com>

Fabio Cechinel Veronez

unread,
Mar 1, 2012, 12:32:24 PM3/1/12
to jrimum-c...@googlegroups.com
Olá Rodrigo,

Parece que estou tendo o mesmo problema com o número do convenio.

Pelo que eu vi não precisa alterar o código do bopepo e nem o layout.
O que eu fiz aqui foi, como o Romulo sugeriu, definir o numero do
convenio como numero da conta e, após a criação da instancia de
boleto, sobreescrever as váriaveis que são usadas no momento da
criação do PDF. Para isso eu usei o metodo
Boleto.addTextosExtras(String, String).

Tipo:

String value = ...;
boleto.addTextosExtras("txtRsAgenciaCodigoCedente", value);
boleto.addTextosExtras("txtFcAgenciaCodigoCedente", value);


Bom, essa é uma sugestão e é como eu estou fazendo aqui no momento.
Caso alguem saiba algum problema em usar essa alternativa favor avisar
aí.

Espero ter ajudado.

Vlw.

2012/3/1 Rodrigo Rosa <rodrig...@gmail.com>:

--
Fabio Cechinel Veronez

Rodrigo Rosa

unread,
Mar 1, 2012, 1:50:52 PM3/1/12
to jrimum-c...@googlegroups.com
Salve, Fábio!

Realmente, a sua sugestão é a maneira mais simples de resolver. Vou utiliza-la. Mas fico na torcida para que futuramente o projeto tenha suporte ao número do convênio separado. =)

Próximo desafio vai ser criar um banco que ainda não suportado, mas primeiro vou ver o resto da documentação do projeto!
Muito obrigado pela ajuda.

Rodrigo Rosa

2012/3/1 Fabio Cechinel Veronez <fabio....@gmail.com>

Rômulo Augusto

unread,
Mar 1, 2012, 2:31:24 PM3/1/12
to jrimum-c...@googlegroups.com
Rodrigo, na verdade p que o Fábio postou é a maneira de resolver hehehe, eu que acabei esquecendo de explicitar isso =D

Quando homologar venha nos dizer!


-------------------------------------------------------------------
Rômulo Augusto
JRimum Developer
www.jrimum.org
P Antes de imprimir, pense em seu compromisso com o meio ambiente



Reply all
Reply to author
Forward
0 new messages