Digito Verificador Geral

258 views
Skip to first unread message

Douglas Santos

unread,
Sep 2, 2011, 7:39:08 PM9/2/11
to jrimum-c...@googlegroups.com
Prezados,

Estou passando por uma dificuldade para gerar um boleto da caixa, na verdade li a documentação e me perdi um pouco, e a agencia onde a empresa tem conta, é pequena e a pessoa responsável pela parte de "tecnologia" não entende muito bem.

Gerei um boleto conforme os dados que envio ao final do email, passou pela leitora do código de barras mas na hora de fazer a compensação eles não conseguem, me informaram que o campo 4 esta incorreto, o digito verificador geral, certo? Me pediram para gerar um boleto com cada digito para que eles possam verificar qual é o digito correto.

Alguém pode me ajudar nisso? O que estou errando??

Desde já agradeço muito pela ajuda e aproveito para parabenizar pelo projeto!

Cedente cedente = new Cedente("Assoc. Brasileira de Mecânica dos Solos e Engenharia Geotécnica", "58.402.579/0001-07");


        /*
         * INFORMANDO DADOS SOBRE O SACADO.
         */
        Sacado sacado = new Sacado("<<NOME>>", "<<CPF>>");

        // Informando o endereço do sacado.
        Endereco enderecoSac = new Endereco();
        enderecoSac.setUF(UnidadeFederativa.MG);
        enderecoSac.setLocalidade("Belo Horizonte");
        enderecoSac.setCep(new CEP("<<CEP>>"));
        enderecoSac.setBairro("<<BAIRRO>>");
        enderecoSac.setLogradouro("<<RUA>>");
        enderecoSac.setNumero("490");
        sacado.addEndereco(enderecoSac);


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

        NumeroDaConta nConta = new NumeroDaConta(<<NUMERO DO CEDENTE>>);



        // Informando dados sobre a conta bancária do título.
        ContaBancaria contaBancaria = new ContaBancaria(BancosSuportados.CAIXA_ECONOMICA_FEDERAL.create());
        contaBancaria.setNumeroDaConta(nConta);
        contaBancaria.setAgencia(new Agencia(843, "5"));
        

        Titulo titulo = new Titulo(contaBancaria, sacado, cedente);

        titulo.setNumeroDoDocumento("012548");

        titulo.setNossoNumero("24000000000000001");
        titulo.setDigitoDoNossoNumero("5");
        titulo.setValor(BigDecimal.valueOf(1.00));
        titulo.setDataDoDocumento(new Date());

        Calendar vencimento = new GregorianCalendar(2011, 8, 30);

        

        titulo.setDataDoVencimento(vencimento.getTime());

        titulo.setTipoDeDocumento(TipoDeTitulo.OUTROS);

        titulo.setAceite(EnumAceite.A);
        //titulo.setDesconto(new BigDecimal(0.05));
        titulo.setDeducao(BigDecimal.ZERO);
        titulo.setMora(BigDecimal.ZERO);
        titulo.setAcrecimo(BigDecimal.ZERO);
        titulo.setValorCobrado(BigDecimal.ZERO);

        titulo.setParametrosBancarios(new ParametrosBancariosMap("CodigoOperacao", new Integer("003")));

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

--
-------------------------------------------
Douglas Santos
Analista de Tecnologia da Informação
(31) 8880-2851
-------------------------------------------

johnys rabelo

unread,
Sep 2, 2011, 7:49:11 PM9/2/11
to jrimum-c...@googlegroups.com
O problema e o codigo da operacao, coloque 3 ao inves de 003, aconteceu a mesma coisa comigo e solucionei assim.

--
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.

Douglas Santos

unread,
Sep 3, 2011, 4:49:24 PM9/3/11
to jrimum-c...@googlegroups.com
Muito obrigado Johnys,

Testarei amanhã!

2011/9/2 johnys rabelo <jjo...@gmail.com>

Douglas Santos

unread,
Sep 5, 2011, 1:09:53 PM9/5/11
to jrimum-c...@googlegroups.com
Pessoal, ainda estou com o mesmo problemas. Alterei a linha como Jonhys me orientou, porém a linha digitável esta sendo gerada da mesma forma.

Alguém pode me dar um luz....??

Muito obrigado,

2011/9/2 johnys rabelo <jjo...@gmail.com>

johnys rabelo

unread,
Sep 5, 2011, 4:07:30 PM9/5/11
to jrimum-c...@googlegroups.com
emcaminhe e linha digitavel para eu ver o que esta computando errado

Douglas Santos

unread,
Sep 5, 2011, 6:48:55 PM9/5/11
to jrimum-c...@googlegroups.com
Segue a linha.

10491.28364 98924.000007 00000.000018 1 51060000000100

O banco me pediu para gerar 10 boletos diferente, cada um com um dv geral para eles verificarem qual estaria certo. Amanhã devo ter o retorno deles.

Valeu pela ajuda!!


2011/9/5 johnys rabelo <jjo...@gmail.com>

Gilmar P.S.L.

unread,
Sep 6, 2011, 1:13:23 PM9/6/11
to jrimum-c...@googlegroups.com
Olá Douglas,

Bom, só para explicar,... 

A linha digitável continua mesma porque vc continua passando o mesmo número no código de operação:

new Integer("003") = 3
new Integer("3") = 3

Não ouve problema de octal aí.

Agora o problema no campo 4 que vc falou, é na linha digitável ou no código de barras mesmo?

E qual é o problema? O quê está errado?

O campo 4 no código de barras é o fator de vencimento. Já na linha digitável é o dígito verificador geral.

Temos que saber, ... O campo está errado em relação a  quê?

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



2011/9/5 Douglas Santos <douglas...@gmail.com>

Douglas Santos

unread,
Sep 7, 2011, 10:17:18 AM9/7/11
to jrimum-c...@googlegroups.com
Bom dia Gilmar,

O problemas é no campo 4 da linha digitável, no entanto que o banco solicitou a geração de um linha com cada digito verificador 0-9, fiz isso e entreguei para que eles enviassem ao setor responsável para verificação. Amanhã devo ter uma resposta, acredito que o problema não seja esse. Possivelmente estou pecando em algum outro detalhe.

Tendo a resposta amanhã, terei mais condições de verificar o que realmente pode esta acontecendo.

Muito obrigado pela atenção!

Abraços,

2011/9/6 Gilmar P.S.L. <gilm...@gmail.com>

Douglas Santos

unread,
Sep 8, 2011, 10:07:28 AM9/8/11
to jrimum-c...@googlegroups.com
Bom dia Senhores,

Recebi a resposta do banco na tentativa de homologação do boleto.

Abaixo todos os erros que o pessoal encontrou com relação a representação numérica e o código de barras, além de pequenas correções sugeridas.

Sistema: SIGCB


Erros do Documento
Nº Reg. Nosso Número Situação/(Erro/Ok)
1 24000000000000001-2 Erro
 
 
Erros de Representação Numérica
10491.28364 98924.000007 00000.000018 1 51060000000100
 
Nº Erro Descrição do Erro
10 Nosso Número da Representação Numérica está divergente com o digitado no campo Nosso Número e o constante no campo NOSSO NÚMERO do bloqueto.
16 Digito Verificador do Campo 1 da Representação Numérica inválido.
17 Digito Verificador do Campo 2 da Representação Numérica inválido.
18 Digito Verificador do Campo 3 da Representação Numérica inválido.
21 Digito Verificador Geral da Representação Numérica inválido.
84 O Código do Cedente da Representação Numérica está divergente com o digitado no campo Código do Cliente.
88 Constante 1 da Representação Numérica está divergente com o digitado anteriormente no campo Cart/Nosso Número e o constante no campo NOSSO NÚMERO do bloqueto.
89 Constante 2 da Representação Numérica está divergente com o digitado anteriormente no campo Cart/Nosso Número e o constante no campo NOSSO NÚMERO do bloqueto.
90 Digito Verificador do Campo Livre da Representação Numérica inválido.
95 Dígito Verificador do Código do Cedente na Representação Numérica está divergente com o digitado anteriormente no campo Código do Cliente.
97 Dígito Verificador do Código do Cedente na Representação Numérica inválida.


Algumas observações:

Observações:
- Todos os boletos apresentaram erro na representação numérica e na leitura do código de barras;
- Todas os boletos estão preenchidos com o mesmo Nosso Número, favor enviar amostras com campos Nosso Número diferentes;
- O campo LOCAL DE PAGAMENTO, deve ser preenchido com a expressão: PAGAR PREFERENCIALMENTE NAS CASAS LOTÉRICAS ATÉ O VALOR LIMITE;
- O campo "Agência/Código do Cedente" não foi preenchido no formato correto: 4 posições (código do PV) + 6 posições (código do cedente) + DV (Dígito Verificador) separado por barra ( / ) e traço ( - ): XXX/XXXXXX-X;
- O valor informado para o campo "Carteira" não é válido, deverá conter SR ( Sem Registro ) ou CR ( Cobrança Registrada);
- Faltou inserir "=" antes da expressão "Valor do Documento" na Ficha de compensação;
- Faltou preencher o campo "=Valor Cobrado" na Ficha de Compensação.


Estou tentando entender melhor as coisas para tentar resolver, mas segue até mesmo para conhecimento.

Muito obrigado,

2011/9/7 Douglas Santos <douglas...@gmail.com>

Douglas Santos

unread,
Sep 8, 2011, 11:11:23 AM9/8/11
to jrimum-c...@googlegroups.com
Pelo que verifiquei ate agora me parece esta tudo certo! Verifiquei o campo digitável, depois do almoço vou veriicar o codigo de barras..

Valeu!!

-------•
Douglas Santos
Analista de Tecnologia da Informação
Enviado pelo celular

Gilmar P.S.L.

unread,
Sep 15, 2011, 5:57:53 PM9/15/11
to jrimum-c...@googlegroups.com
E aí Douglas, deu tudo certo na homologação?

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



2011/9/8 Douglas Santos <douglas...@gmail.com>

Douglas Santos

unread,
Sep 15, 2011, 9:01:03 PM9/15/11
to jrimum-c...@googlegroups.com
Boa noite Gilmar,

Com muitos ajustes que fiz deu certo. Tive que refazer toda a geração do número do código de barras e da linha digitável.

Agora a caixa esta trabalhando com o sistema SIGCB e não com o SINCOB que é implementado. Existe algumas diferenças consideráveis.

Mas esta dando para utilizar o sistema fazendo os ajustes e cálculos separadamente.

Abraços,

2011/9/15 Gilmar P.S.L. <gilm...@gmail.com>

Rafael Canali

unread,
Sep 16, 2011, 9:50:59 AM9/16/11
to jrimum-c...@googlegroups.com
Não teria como vc disponibilizar as alterações que fez, ou pessoal ser organizar e colocarmos isso pra dentro do bopepo? Assim em uma próxima versão, já viria homologado essa mudança, pois acredito que será de grande valia para outros usuários tb. O que vc sugere Gilmar?

Gilmar P.S.L.

unread,
Sep 16, 2011, 10:17:42 AM9/16/11
to jrimum-c...@googlegroups.com
Olá Pessoal,

O Bopepo já implementa o SIGCB, basta dá uma pequena olhada na lista, em threads anteriores como:

Além dessas tem outras.

Respondendo o que o @Rafael:

Não sei o que o @Douglas modificou, mas acredito que não era necessário, já que o SIGCB foi homologado por outros usuários. Seria necessário que ele gerasse um boleto com as características do SIGCB com o Bopepo, para saber se o Bopepo não atende.

Você poderia fazer esse teste @Douglas?

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



2011/9/16 Rafael Canali <rafac...@gmail.com>
Reply all
Reply to author
Forward
0 new messages