Você está aqui: Java ::: Boletos Bancários, Arquivos de Remessa e Retornos do Banco ::: Caixa Econômica Federal - Banco 104 |
Boleto Bancário Java - Como montar o código de barras juntamente com o seu dígito verificador (Módulo 11) - Boleto Caixa EconômicaQuantidade de visualizações: 2481 vezes |
Em outras dicas dessa seção eu mostrei, passo-a-passo, como calcular o dígito verificador do código do cedente e também o campo livre, juntamente com o seu dígito verificador, para os boletos da Caixa Econômica Federal (Banco 104). Mostrei também nessa seção como calcular o fator de vencimento do boleto. Todos esses dados são essenciais para a montagem do código de barras e da linha digitável do boleto. Em caso de dúvidas, revise as demais dicas. Prossiga somente se você estiver bem seguro quanto aos conhecimentos anteriores. Na Especificação do Código de Barras para Bloquetos de Cobrança Sem Registro e Registrada no SIGCB (67.119 v005 micro), o código de barras para a cobrança contém 44 posições dispostas da seguinte forma: a) Identificação do banco: Será sempre o valor 104, que é o número do banco para a Caixa Econômica; b) Código da moeda: Será sempre o valor 9 (Real); c) DV Geral do Código de Barras: Dígito verificador do código de barras que mostro como calcular mais abaixo; d) Fator de Vencimento: Que já mostrei em dicas anteriores; e) Valor do Documento: Composto por 10 dígitos, sem pontos nem vírgula; f) Campo livre e seu dígito verificador: Composto por 25 posições, conforme já calculamos em dicas anteriores. O cálculo que mostrarei a seguir está de acordo com as instruções do Manual de Leiaute de Arquivo Eletrônico Padrão CNAB 240 - Cobrança Bancária Caixa - SIGCB - Versão 67.118 v024 micro e Especificação do Código de Barras para Bloquetos de Cobrança Sem Registro e Registrada no SIGCB (67.119 v005 micro). Tenha certeza de verificar sua versão do manual antes de usar o código apresentado. Dito isso, veja o código Java completo para uma função que recebe o código do banco, o código da moeda, o fator de vencimento, o valor do boleto, o campo livre completo e retorna o código de barras, juntamente com o seu dígito verificador, já na posição correta: package arquivodecodigos; import java.text.NumberFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /* ATENÇÃO: As função complementares e já vistas em outras dicas dessa seção foram omitidas deste código */ public class Estudos{ public static void main(String[] args){ // ATENÇÃO: Se você ainda não entende os dados abaixo. // revise as dicas anteriores antes de continuar String banco = "104"; String moeda = "9"; String carteira = "1"; // String emissao = "4"; // cedente String nossoNumero = "222333777777777"; double valor = 321.12; // sempre duas casas decimais String vencimento = "23/08/2006"; int fator = fatorVencimento(vencimento); String nossoNumeroCompleto = carteira + emissao + nossoNumero; String cedente = "005507"; int dvCedente = dvCodigoCedente(cedente); String campoLivre = montarCampoLivre(cedente, dvCedente, nossoNumeroCompleto); String codigoBarras = montarCodigoBarras(banco, moeda, fator, valor, campoLivre); // vamos mostrar o resultado System.out.println("O código de barras oompleto é: " + codigoBarras); } // função que monta o código de barras public static String montarCodigoBarras(String banco, String moeda, int fator, double valor, String campoLivre){ // precisamos tratar o valor do título NumberFormat nf = NumberFormat.getInstance(); String strValor = nf.format(valor); strValor = strValor.replaceAll("\\.", ""); strValor = strValor.replaceAll(",", ""); strValor = String.format("%1$10s", strValor).replace(' ', '0'); System.out.println(strValor); // código de barras provisório String codigoBarras = banco + moeda + fator + strValor + campoLivre; System.out.println("O código de barras provisório é: " + codigoBarras); // vamos calcular o dígito verificador int dvCodigoBarras = dvCodigoBarras(codigoBarras); // código de barras completo codigoBarras = banco + moeda + dvCodigoBarras + fator + strValor + campoLivre; Ao executar este código Java nós teremos o seguinte resultado: O código de barras provisório é: 1049324200000321120055077222133347777777771 O DV Geral do Código de Barras é: 4 O código de barras completo é: 10494324200000321120055077222133347777777771 Para não deixar o código desta dica muito longo, eu omiti algumas funções, que podem ser facilmente encontradas nas dicas anteriores. |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
JavaScript - Como remover o primeiro elemento de um array em JavaScript - Como usar a função shift() do objeto Array do JavaScript JavaScript - Como usar a propriedade parentNode para obter o objeto pai de um elemento na hierarquia do DOM do JavaScript |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |