Você está aqui: C# ::: Boletos Bancários, Arquivos de Remessa e Retornos do Banco ::: Caixa Econômica Federal - Banco 104 |
Boleto Bancário C# - Como calcular o Dígito Verificador do Código do Cedente (Módulo 11) - Boleto Caixa EconômicaQuantidade de visualizações: 2552 vezes |
Nesta dica mostrarei, passo-a-passo, como calcular o Dígito Verificador do Código do Cedente para o boleto e arquivos de remessa da Caixa Econômica Federal (Banco 104). No momento que escrevo essa dica, o Código do Cedente é um número composto por seis dígitos, que identifica a empresa no banco. Em geral esse número é fornecido pelo gerente da conta mediante a assinatura de um contrato ou convênio. Recentemente a Caixa introduziu o código de cedente com 7 dígitos. No entanto, não tive a oportunidade de encontrar um cliente com tal código. Se for o seu caso, verifique com a equipe de suporte da sua agência sobre o procedimento adotado. As informações que obtive são de que o cálculo continua sendo apenas com os seis dígitos, mas não descobri se são as seis primeiras posições ou as últimas. Se algum leitor do site souber mais a respeito, pode me enviar mensagens que atualizo essa dica. O cálculo que mostrarei é baseado no Módulo 11 e 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 abaixo. O Dígito Verificador do Código do Cedente não é usado nos cálculos da linha digitável nem do código de barras. Ele é usado somente no campo "Agência/Código cedente" do boleto bancário. Porém, é importante saber efetuar o seu cálculo corretamente, pois a homologação dos boletos e arquivos de remessa dependem dessa verificação. Dito isso, veja o código C# completo para uma função que recebe o código do cedente e retorna o seu dígito verificador: using System; namespace Estudos{ class Program{ // função que recebe o código do cedente // e retorna o seu dígito verificador static int dvCodigoCedente(string cedente) { int digito = -1; // o código do cedente possui mais que 6 dígitos? if (cedente.Length > 6) { Console.WriteLine("O código do cedente não pode ter " + " mais que 6 dígitos."); return digito; } // primeiro vamos remover os espaços do número do cedente cedente = cedente.Trim(); // agora precisamos adicionar os zeros necessários // para completar 6 posições cedente = cedente.PadLeft(6, '0'); // agora vamos definir os índices de múltiplicação string indices = "765432"; // e aqui a soma da multiplicação coluna por coluna int soma = 0; // fazemos a multiplicação coluna por coluna agora for (int i = 0; i < cedente.Length; i++) { soma = soma + int.Parse(cedente[i].ToString()) * int.Parse(indices[i].ToString()); } // Obs.: Quando o Total da Soma for MENOR que o quociente (no ...... Ao executarmos este código C# nós teremos o seguinte resultado: O dígito verificador para o código do cedente 005507 é: 7 |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |