GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

[RESOLVIDO] Stella - Boleto - Código do Cedente 03036


#1

Salve galera do GUJ, tudo bom?

Estou tentando gerar boleto para o Itaú através do Stella.

Seguindo o exemplo da wiki do Stella, meu código ficou:

final Datas datas = Datas.newDatas()
					             .withDocumento(this.getPayment().getBankBill().getDataDoDocumentoCalendar())
					             .withProcessamento(this.getPayment().getBankBill().getDataDeProcessamentoCalendar())
					             .withVencimento(this.getPayment().getBankBill().getDataDeVencimentoCalendar());
		final Emissor emissor = Emissor.newEmissor() //pessoa/empresa que gera o boleto
							            .withCedente("Meu cedente")
							            .withAgencia(5590)
							            .withContaCorrente(05734)
							            //.withNumeroConvenio(1207113) //código que identifica um emissor junto ao seu banco para associar seus boletos. Fornecido pelo banco ?
							            .withDigitoContaCorrente('4')
							            .withCarteira(175) //código informado pelo banco pra identificação do tipo do boleto
							            .withNossoNumero(this.getPayment().getBankBill().getNossoNumero()); //código que o cedente escolhe para manter controle sobre seus boletos. Esse valor serve para o cedente identificar quais boletos foram pagos ou não. Recomenda-se o uso de números sequênciais, na geração de diversos boletos, para facilitar a identificação dos boletos pagos
		final Sacado sacado = Sacado.newSacado() //pessoa/empresa que deve pagar o boleto
						            .withNome(this.getPayment().getPayer().getCompany().getName())
						            .withEndereco(this.getPayment().getPayer().getAddress().getLine1())
						            .withBairro(this.getPayment().getPayer().getAddress().getLine2())
						            .withCep(this.getPayment().getPayer().getAddress().getZip())
						            .withCidade(this.getPayment().getPayer().getAddress().getCity().getDescription()) 
						            .withUf(this.getPayment().getPayer().getAddress().getCity().getStateOrProvince().getDescription());
		final Banco banco = new Itau();
		final Boleto boleto = Boleto.newBoleto()
						            .withBanco(banco)
						            .withDatas(datas)
						            .withDescricoes("Assinatura por 12 meses.")
						            .withEmissor(emissor)
						            .withSacado(sacado)
						            .withValorBoleto(1)
						            .withNumeroDoDocumento("12563") //63090X0012563 - código informado pelo banco para identificação do cliente
						            .withInstrucoes("Após vencimento cobrar 0,30% de juros ao dia")
						            .withLocaisDePagamento("Pague nos bancos credenciados. Preferencialmente no Banco Itaú.");
		final BoletoGenerator gerador = new BoletoGenerator(boleto);  
		return gerador.toPDF();

Não sei se estou fazendo algo de errado, mas ao imprimir o PDF, o código do cedente está aparecendo como sendo "03036-4", porém eu não configurei esse valor em lugar nenhum.

De acordo com o meu código, o código do cedente não deveria ser 05734?

Agradeço antecipadamente por qualquer dica.






#2

Olá Rogerio,

O problema é que vc está passando um octal no lugar de um inteiro ou long. O problema está no zero da frente:

.withContaCorrente(05734)

O correto é

.withContaCorrente(5734)

Quanto ao uso da lib, fica a sugestão abaixo...

Derivado de http://www.guj.com.br/java/228103-stella-boleto---problemas-e-evolucao-do-projeto

Para a geração de boletos tem também o Bopepo, que está em constante evolução, do projeto JRimum:

Além de gerar um boleto padrão sem esforço algum...

Se vc quiser personalizar o boleto, ele permite personalização através de templates PDFs.
Você pode usar o OpenOffice para desenhar o boleto e depois exportar para pdf. É simples.

Veja este vídeo de personalização de boletos com Bopepo:

[youtube]http://www.youtube.com/watch?v=0kRa2wprDdQ[/youtube]

Este vídeo mostra como gerar boletos personalizados através do componente Bopepo do Projeto JRimum. O vídeo foca num dos recursos mais interessantes, que é como adicionar campos dinâmicos, ou seja, campos que podem ter seus valores fornecidos em tempo de execução.
Ver tutoriais.

http://www.jrimum.org/bopepo/wiki/Componente/Documentacao/Tutoriais

Na versão mais atual já são suportados 20 bancos, é o mais completo atualmente, estamos só aguardando mais feedback do pessoal para lançar a versão final.

http://www.jrimum.org/bopepo/ticket/47

  • Banco do Brasil
  • Bradesco
  • #13 - Banco Real
  • #14 - Itaú
  • #15 - Unibanco
  • #17 - Safra
  • #18 - Mercantil
  • #19 - HSBC
  • #21 - Banrisul
  • #22 - Nossa Caixa S.A.
  • #24 - Banestes
  • #25 - BANCO SANTANDER S.A.
  • #38 - Banco J. Safra
  • #39 - Banco SICREDI
  • #40 - CEF
  • #48 - Banco Rural
  • #56 - Banco Intermedium
  • 57 - Banco do Nordeste do Brasil (BNB)

Se precisar de ajuda e tiver dúvidas, chega lá no grupo que o pessoal te ajuda.

Mais informações sobre o andamento do Projeto Bopepo ... vc pode ver no Timeline.


#3

Olá gilmatryx, muito obrigado pela atenção e pelo retorno.

Realmente, isso corrigiu o código do cedente.

Ainda sobre o Stella, os atributos Emissor.numeroDoConvenio e Boleto.numeroDoDocumento são obrigatórios? Em caso positivo, alguém saberia dizer qual é o layout para esses atributos?

Pois mesmo corrigindo o código do cedente, o boleto emitido está acusando código de barras inválido no momento de efetuar o pagamento.

Opa! Vou dar uma olhada no Bopepo sim! Está em algum repositório Maven (não encontrei na wiki)?

Um abraço e muita paz.


#4

Rogerio, quanto aos detalhes do stella, eu não vou saber te responder.

Quanto ao maven do JRimum, vc encontra em:

http://jrimum.org/jrimum/wiki/Projeto/Download

E

http://www.blog.jrimum.org/2011/11/repositorio-maven.html

Qualquer dúvida, dá uma conferida no grupo:

https://groups.google.com/forum/?hl=pt#!forum/jrimum-community


#5

Olá gilmatryx, tudo bom?

Passei a utilizar o bopepo e funcionou na primeira.

Mais uma vez, muito obrigado pela ajuda e pela atenção.


#6

Olá Rogério, tudo bem :smile:

Legal que deu certo! Mesmo que não tivesse dado, era só ir no nosso grupo que também ia dar :lol:

Já que foi útil, ... :roll: .. nós recentemente criamos a página do JRimum no facebook:

http://www.facebook.com/jrimum

Se puder,.. dá um like e ajuda a promover o projeto. Valeu!


#7

Recomendo o projeto Bopepo também.


#8

André,

Se puder então,.. dá um like e ajuda a promover o projeto. Valeu!

http://www.facebook.com/jrimum


#9