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