Código de barras do Banco Real

137 views
Skip to first unread message

Surian

unread,
Mar 17, 2011, 10:49:45 AM3/17/11
to JRimum Community
Olá pessoal to usando o Bopepo para implementar um programa que cria
boletos do banco Real e Santander, estou com uma versão antiga aqui da
empresa que gera boletos do banco real.
Estou gerando os boletos perfeitamente com a biblioteca mas foi pagar
um para teste do banco real, e o dinheiro não caiu na conta então
gerei um similar no outro programa que está correto, então comparei o
código de barras e notei que algumas seqüências estão diferentes, vejo
melhor o número abaixo:

Gerado pelo Bopepo: 35690.13745 02149.140002 00000.000000
4 48050000000100
Gerado pelo outro programa: 35690.13745 02149.180008 00000.010124 8
48050000000100

Tentei usar o Caelum Stella e nele gerei corretamente o código de
barras referente ao banco real, mas mesmo assim eu gostei mais dessa
biblioteca e queria usar apenas ela, se souber alguma coisa me
avisa...

Obrigado a todos!

Misael Barreto de Queiroz

unread,
Mar 17, 2011, 11:40:10 AM3/17/11
to jrimum-c...@googlegroups.com
Olá Surian, tudo bom?

Surian, você está utilizando a última versão do Bopepo?

JRimum-Bopepo-SNAPSHOT-20110209-bin

http://code.google.com/p/jrimum/downloads/detail?name=JRimum-Bopepo-SNAPSHOT-20110209-bin.jar
http://www.jrimum.org/jrimum/wiki/Projeto/Download


Surian, no caso deste boleto que você quer emitir, a carteira seria COM REGISTRO ou SEM REGISTRO? Poderia enviar para nós o código que você está utilizando para gerar o boleto e também o boleto gerado pela aplicação antiga.

Um abraço.
Estamos à disposição.



Misael Barreto
JRimum Developer


http://www.jrimum.org
http://www.blog.jrimum.org

Ivan Alves de Oliveira

unread,
Mar 17, 2011, 1:50:02 PM3/17/11
to jrimum-c...@googlegroups.com
Tudo blz, em resposta a suas perguntas...
Sim estou utilizando a última versão do bopepo a 20110209-bin
O número da carteira e sem registro no real representado pelo número 57.

Em anexo está o boleto exemplo gerado pela minha aplicação, um feito no Bopepo e outro feito do Caelum Stella Boleto(que sai igual ao do programa antigo aqui da empresa).


Aqui o método que usei alterei apenas as informações para ficar mais nítido mas ainda é o mesmo código inclusive o do tutorial
Obs: para o banco real eu não passei o digito do nosso número no bopepo mas, mesmo passando ainda continua o mesmo código de barras.

public void gerarBoleto() {
        /*
         * INFORMANDO DADOS SOBRE O CEDENTE.
         */
        Cedente cedente = new Cedente("EMPRESA TESTE", "999.999.999-99");

        /*
         * INFORMANDO DADOS SOBRE O SACADO.
         */
        Sacado sacado = new Sacado("CLIENTE TESTE", "999.999.999-99");

        // Informando o endereço do sacado.
        Endereco enderecoSac = new Endereco();
        enderecoSac.setUF(UnidadeFederativa.valueOfSigla("GO"));
        enderecoSac.setLocalidade("GOIÂNIA");
        enderecoSac.setCep(new CEP("74.900-760"));
        enderecoSac.setBairro("BAIRRO TESTE");
        enderecoSac.setLogradouro("RUA TESTE AV. 168");
        //enderecoSac.setNumero("1");
        sacado.addEndereco(enderecoSac);

        /*
         * INFORMANDO DADOS SOBRE O SACADOR AVALISTA.(Quem irá receber)
         */
        SacadorAvalista sacadorAvalista = new SacadorAvalista("EMPRESA TESTE", "999.999.999-99");

        // Informando o endereço do sacador avalista.
        Endereco enderecoSacAval = new Endereco();
        /*NÃO TO UTILIZANDO ISSO AKI
        enderecoSacAval.setUF(UnidadeFederativa.DF);
        enderecoSacAval.setLocalidade("Brasília");
        enderecoSacAval.setCep(new CEP("59000-000"));
        enderecoSacAval.setBairro("Grande Centro");
        enderecoSacAval.setLogradouro("Rua Eternamente Principal");
        enderecoSacAval.setNumero("001");
         *
         */
        sacadorAvalista.addEndereco(enderecoSacAval);

        /*
         * INFORMANDO OS DADOS SOBRE O TÍTULO.
         */

        // Informando dados sobre a conta bancária do título.
        Banco banco = BancosSuportados.BANCO_ABN_AMRO_REAL.create();;

        ContaBancaria contaBancaria = new ContaBancaria(banco);
        
        contaBancaria.setNumeroDaConta(new NumeroDaConta(4221455, "1"));

        
        contaBancaria.setCarteira(new Carteira(57));
        contaBancaria.setAgencia(new Agencia(137));

        Titulo titulo = new Titulo(contaBancaria, sacado, cedente, sacadorAvalista);
        titulo.setNumeroDoDocumento(""); //NÃO UTILIZO
        //pegar nosso número
        String nossoNumero = "0001012";
        
        titulo.setValor(BigDecimal.valueOf(10.0));
        //titulo.setValor(BigDecimal.valueOf(0.23));
        titulo.setDataDoDocumento(Funcoes.strToDate("17/03/2011")); //esse método estatico retorna uma objeto do tipo Date
        titulo.setDataDoVencimento(Funcoes.strToDate("20/03/2011"));
        titulo.setTipoDeDocumento(TipoDeTitulo.DMI_DUPLICATA_MERCANTIL_PARA_INDICACAO);
        titulo.setAceite(EnumAceite.N);
        titulo.setDesconto(new BigDecimal(0.00));
        titulo.setDeducao(BigDecimal.ZERO);
        titulo.setMora(BigDecimal.ZERO);
        titulo.setAcrecimo(BigDecimal.ZERO);
        titulo.setValorCobrado(BigDecimal.ZERO);

        /*
         * INFORMANDO OS DADOS SOBRE O BOLETO.
         */
        Boleto boleto = new Boleto(titulo);

        boleto.setLocalPagamento("PAGÁVEL EM QUALQUER BANCO ATÉ O VENCIMENTO");
        boleto.setInstrucaoAoSacado(APÓS O VENCIMENTO COBRAR MULTA DE 3% E JUROS DE 7% AO MÊS);
        boleto.setInstrucao1(APÓS O VENCIMENTO COBRAR MULTA DE 3% E JUROS DE 7% AO MÊS);
        //boleto.setInstrucao2(fieldBoletoMensagem2.getText());
        //boleto.setInstrucao3(fieldBoletoMensagem3.getText());
        //boleto.setInstrucao4(fieldBoletoMensagem4.getText());
        //boleto.setInstrucao4("PARA PAGAMENTO 4 até 04/xx/xxxx de 4 dias atrás COBRAR O VALOR DE: R$ 01,00");
        //boleto.setInstrucao5("PARA PAGAMENTO 5 até 05/xx/xxxx COBRAR O VALOR DE: R$ 02,00");
        //boleto.setInstrucao6("PARA PAGAMENTO 6 até 06/xx/xxxx COBRAR O VALOR DE: R$ 03,00");
        //boleto.setInstrucao7("PARA PAGAMENTO 7 até xx/xx/xxxx COBRAR O VALOR QUE VOCÊ QUISER!");


        /*
         * GERANDO O BOLETO BANCÁRIO.
         */
        // Instanciando um objeto "BoletoViewer", classe responsável pela
        // geração do boleto bancário.
        BoletoViewer boletoViewer = new BoletoViewer(boleto);

        // Gerando o arquivo. No caso o arquivo mencionado será salvo na mesma
        // pasta do projeto. Outros exemplos:
        // WINDOWS: boletoViewer.getAsPDF("C:/Temp/MeuBoleto.pdf");
        // LINUX: boletoViewer.getAsPDF("/home/temp/MeuBoleto.pdf");
        File arquivoPdf = boletoViewer.getPdfAsFile("Boleto.pdf");

        //Metodo que mostra o boleto gerado na tela.
        mostreBoletoNaTela(arquivoPdf);

    }


Obrigado pela colaboração!



--
Você está recebendo esta mensagem porque se inscreveu no grupo "JRimum Community" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para jrimum-c...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para jrimum-communi...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/jrimum-community?hl=pt-BR.

JRiboyToEmail.png
boleto_stella.pdf
boleto_bopepo.pdf

Carleonis Fonseca

unread,
Mar 17, 2011, 2:01:09 PM3/17/11
to jrimum-c...@googlegroups.com
Olá. Boa Tarde,

Estou utilizando o bopepo para o b real, e esta indo tudo ok.

verifiquei que faltou preencher "titulo.setValorCobrado(BigDecimal.ZERO);".
Não seria isso?

att

Carleonis
JRiboyToEmail.png

Ivan Alves de Oliveira

unread,
Mar 17, 2011, 3:40:42 PM3/17/11
to jrimum-c...@googlegroups.com
Olhei aqui o código e tem sim essa linha "titulo.setValorCobrado(BigDecimal.ZERO);" abaixo de "titulo.setAcrecimo(BigDecimal.ZERO);".
Se quiser colocar seu código ai eu posso comparar com o meu e tentar descobrir aonde eu estou errando!
flw
JRiboyToEmail.png

Carleonis Fonseca

unread,
Mar 17, 2011, 3:47:55 PM3/17/11
to jrimum-c...@googlegroups.com
Olá Ivan,

pois é, o problema é que voce preencheu com valor = zero.
O valor cobrado tem que ter o total dos outros valores, se voce preencheu só o valor do titulo, tem que repetir esse valor.
JRiboyToEmail.png

Gilmar P.S.L.

unread,
Mar 17, 2011, 11:52:08 PM3/17/11
to jrimum-c...@googlegroups.com
Olá todos,

O problema é que para o banco real foi interpretado que o Número do Documento era o mesmo que o nosso número. Então @Surian/@Ivan, basta setar o valor que vc atribui ao nosso número no número do documento:

titulo.setNumeroDoDocumento(""); //NÃO UTILIZO
 
Que o resultado será o mesmo observado nos outros programas.

Na proxima versão (esperamos que seja, até segunda) este equivoco já estará resolvido.

Atenciosamente  
------------------------------------------------------
Gilmar P.S.L.



2011/3/17 Carleonis Fonseca <carle...@gmail.com>
JRiboyToEmail.png

Ivan Alves de Oliveira

unread,
Mar 18, 2011, 8:30:47 AM3/18/11
to jrimum-c...@googlegroups.com
Iruuuuu, agora sim bateu certim com o outro número vlw ai gilmar e continue com o ótimo trabalho
Obrigado a todos pela colaboração!
JRiboyToEmail.png
Reply all
Reply to author
Forward
0 new messages