protected override LinhaDigitavel GerarLinhaDigitavel(CodigoBarras barras) { var linha = new LinhaDigitavel(); linha.Campo1 .Add(barras.Substring(1, 3)) // Código do Banco na Câmara de Compensação "399" .Add(barras.Substring(4)) // Código da moeda "9" (*) .Add(barras.Substring(20, 24)) // Início do código de beneficiário .Add(Helper.Mod10(linha.Campo1.Substring(1, 9)).ToString()); // DV linha.Campo2 .Add(barras.Substring(25, 26)) // Final do código de beneficiário .Add(barras.Substring(27, 34)) // Início do Nosso Número .Add(Helper.Mod10(linha.Campo2.Substring(1, 10))); // DV linha.Campo3 .Add(barras.Substring(35, 39)) // Final do Nosso Número (Sem os dígitos verificadores) .Add(barras.Substring(40, 43)) // Data de vencimento no formato Juliano .Add("2") // Código do produto .Add(Helper.Mod10(linha.Campo3.Substring(1, 10))); // DV linha.Campo4 .Add(barras.Substring(5)); // DAC ou Dígito Verificador (posição 05 do Código de Barras) linha.Campo5 .Add(barras.Substring(6, 9)) // Fator de Vencimento (posição 06 a 09 do código de barras) .Add(barras.Substring(10, 19)); // Valor nominal (posição 10 a 19 do código de barras com zeros entre o fator de vencimento e o valor). return(linha); }
protected override LinhaDigitavel GerarLinhaDigitavel(CodigoBarras barras) { var linha = new LinhaDigitavel(); //campo livre = barras de 20 a 44 //Composto pelo código de Banco, código da moeda, as cinco primeiras posições do campo livre e o dígito verificador deste campo; linha.Campo1 .Add(barras.Substring(1, 3)) // Constante, Código do Banco junto a Câmara de Compensação (posição 01 a 03 do Código de Barras). .Add(barras.Substring(4)) // Moeda (posição 04 a 04 do Código de Barras) .Add(barras.Substring(20, 24)) // cinco primeiras posições do campo livre .Add(Helper.Mod10(linha.Campo1.Substring(1, 9))); // DV //Composto pelas posições 6ª a 15ª do campo livre e o dígito verificador deste campo; linha.Campo2 .Add(barras.Substring(25, 34)) .Add(Helper.Mod10(linha.Campo2.Substring(1, 10))); // DV //Composto pelas posições 16ª a 25ª do campo livre e o dígito verificador deste campo; linha.Campo3 .Add(barras.Substring(35, 44)) // posições 16ª a 25ª do campo livre .Add(Helper.Mod10(linha.Campo3.Substring(1, 10))); // DV //Composto pelo dígito verificador do código de barras, ou seja, a 5ª posição do código de barras; linha.Campo4 .Add(barras.Substring(5, 5)); // DAC ou Dígito Verificador (posição 05 do Código de Barras) //Composto pelo fator de vencimento com 4(quatro) caracteres e o valor do documento com 10(dez) caracteres, sem separadores e sem edição. linha.Campo5 .Add(barras.Substring(6, 9)) // Fator de Vencimento (posição 06 a 09 do código de barras) .Add(barras.Substring(10, 19)); // Valor nominal (posição 10 a 19 do código de barras com zeros entre o fator de vencimento e o valor). return(linha); }
/// <summary> /// A Linha Digitavel para cobrança contém 44 posições dispostas da seguinte forma: /// 1º Grupo - /// 01 a 03 - 3 - 033 fixo - Código do banco /// 04 a 04 - 1 - 9 fixo - Código da moeda (R$) outra moedas 8 /// 05 a 05 – 1 - Fixo 9 /// 06 a 09 - 4 - Código cedente padrão santander /// 10 a 10 - 1 - Código DV do primeiro grupo /// 2º Grupo - /// 11 a 13 – 3 - Restante do código cedente /// 14 a 20 - 7 - 7 primeiros campos do nosso número /// 21 a 21 - 1 - Código DV do segundo grupo /// 3º Grupo - /// 22 - 27 - 6 - Restante do nosso número /// 28 - 28 - 1 - IOS - Seguradoras(Se 7% informar 7. Limitado a 9%) Demais clientes usar 0 /// 29 - 31 - 3 - Tipo de carteira /// 32 - 32 - 1 - Código DV do terceiro grupo /// 4º Grupo - /// 33 - 33 - 1 - Composto pelo DV do código de barras /// 5º Grupo - /// 34 - 36 - 4 - Fator de vencimento /// 37 - 47 - 10 - Valor do título /// </summary> protected override LinhaDigitavel GerarLinhaDigitavel(CodigoBarras barras) { var linha = new LinhaDigitavel(); linha.Campo1 .Add(barras.Substring(1, 3)) // Código do Banco na Câmara de Compensação "033" .Add(barras.Substring(4)) // Código da moeda "9" (*) .Add(barras.Substring(4)) //1 - Fixo 9 .Add(barras.Substring(21, 24)) //4 - Código cedente padrão santander .Add(Helper.Mod10(linha.Campo1.Substring(1, 9))); // DV linha.Campo2 .Add(barras.Substring(25, 27)) // 11-13 3 - Restante do código cedente .Add(barras.Substring(28, 34)) // 14-20 7 primeiros campos do N/N .Add(Helper.Mod10(linha.Campo2.Substring(1, 10))); // DV 21-21 1 9 (01) Dígito verificador do segundo grupo linha.Campo3 .Add(barras.Substring(35, 40)) //22 - 27 - 6 - Restante do nosso número .Add(barras.Substring(41, 41)) //IOS – somente para Seguradoras (Se 7% informar 7, limitado a 9%) Demais clientes usar 0 (zero) .Add(barras.Substring(42, 44)) //29-31 3 Tipo de Modalidade Carteira 101-Cobrança Simples Rápida COM Registro 102- Cobrança simples SEM Registro 201- Penhor .Add(Helper.Mod10(linha.Campo3.Substring(1, 10))); // DV linha.Campo4 .Add(barras.Substring(5)); // DAC ou Dígito Verificador (posição 05 do Código de Barras) linha.Campo5 .Add(barras.Substring(6, 9)) // 34 - 36 - 4 - Fator de vencimento .Add(barras.Substring(10, 19)); // 37 - 47 - 10 - Valor do título return(linha); }
protected override LinhaDigitavel GerarLinhaDigitavel(CodigoBarras barras) { var linha = new LinhaDigitavel(); linha.Campo1 .Add(barras.Substring(1, 3)) // Código do Banco na Câmara de Compensação "001" .Add(barras.Substring(4)) // Código da moeda "9" (*) .Add(barras.Substring(20, 24)) // Posição 20 a 24 do código de barras .Add(Helper.Mod10(linha.Campo1.Substring(1, 9))); // DV linha.Campo2 .Add(barras.Substring(25, 34)) // Posição 25 a 34 do código de barras .Add(Helper.Mod10(linha.Campo2.Substring(1, 10))); // DV linha.Campo3 .Add(barras.Substring(35, 44)) // Posição 35 a 44 do código de barras .Add(Helper.Mod10(linha.Campo3.Substring(1, 10))); // DV linha.Campo4 .Add(barras.Substring(5)); // DAC ou Dígito Verificador (posição 05 do Código de Barras) linha.Campo5 .Add(barras.Substring(6, 9)) // Fator de Vencimento (posição 06 a 09 do código de barras) .Add(barras.Substring(10, 19)); // Valor nominal (posição 10 a 19 do código de barras com zeros entre o fator de vencimento e o valor). return(linha); }
protected override LinhaDigitavel GerarLinhaDigitavel(CodigoBarras barras) { var linha = new LinhaDigitavel(); linha.Campo1 .Add(barras.Substring(1, 3)) // Constante, Código do Banco junto a Câmara de Compensação (posição 01 a 03 do Código de Barras). .Add(barras.Substring(4)) // Moeda (posição 04 a 04 do Código de Barras) .Add(barras.Substring(20)) // Constante, identifica o Produto (posição 20 do Código de Barras) .Add(barras.Substring(21)) // Constante, identifica o Sistema BDL - Carteira de Letras (posição 21 do Código de Barras). .Add(barras.Substring(22, 24)) // Agência, sem o NC, quatro primeiros dígitos (posição 22 a 25 do Código de Barras) .Add(Helper.Mod10(linha.Campo1.Substring(1, 9))); // DV linha.Campo2 .Add(barras.Substring(25)) // Agência, sem o NC, quatro primeiros dígitos (posição 22 a 25 do Código de Barras) .Add(barras.Substring(26, 32)) // Código do Cedente, sem o NC, sete primeiros dígitos (posição 26 a 32 Do Código de Barras). .Add(barras.Substring(33, 34)) // Nosso Número, sem o NC, oito primeiros dígitos. (posição 33 a 40 do Código de Barras). .Add(Helper.Mod10(linha.Campo2.Substring(1, 10))); // DV linha.Campo3 .Add(barras.Substring(35, 40)) // Nosso Número, sem o NC, oito primeiros dígitos. (posição 33 a 40 do Código de Barras). .Add(barras.Substring(41, 42)) // Constante. Indica agência com 4 Dígitos. .Add(barras.Substring(43, 44)) //Número de Controle, cálculo através dos módulos 10 e 11. (posição 43 a 44 do Código de Barras). .Add(Helper.Mod10(linha.Campo3.Substring(1, 10))); // DV linha.Campo4 .Add(barras.Substring(5, 5)); // DAC ou Dígito Verificador (posição 05 do Código de Barras) linha.Campo5 .Add(barras.Substring(6, 9)) // Fator de Vencimento (posição 06 a 09 do código de barras) .Add(barras.Substring(10, 19)); // Valor nominal (posição 10 a 19 do código de barras com zeros entre o fator de vencimento e o valor). return(linha); }
protected override Utils.LinhaDigitavel GerarLinhaDigitavel(Utils.CodigoBarras barras) { var linha = new LinhaDigitavel(); linha.Campo1 .Add(barras.Substring(1, 3)) // Código do Banco na Câmara de Compensação "399" .Add(barras.Substring(4)) // Código da moeda "9" (*) .Add(barras.Substring(20, 24)) // Início do código de beneficiário .Add(Helper.Mod10(linha.Campo1.Substring(1, 9)).ToString()); // DV linha.Campo2 .Add(barras.Substring(25, 25)) // Final do código de beneficiário .Add(barras.Substring(26, 26)) //DV Código do Beneficiário .Add(barras.Substring(27, 29)) //Nosso número sequência 1 .Add(barras.Substring(30, 30)) //Tipo de Cobrança (1 - Registrada / 2 - Sem Registro) .Add(barras.Substring(31, 33)) //Nosso número sequência 2 .Add(barras.Substring(34, 34)) //Identificador de Emissão de Boleto (4 - Beneficiário) .Add(Helper.Mod10(linha.Campo2.Substring(1, 10))); // DV linha.Campo3 .Add(barras.Substring(35, 43)) //Nosso número sequência 2 .Add(barras.Substring(44, 44)) // Data de vencimento no formato Juliano .Add(Helper.Mod10(linha.Campo3.Substring(1, 10))); // DV linha.Campo4 .Add(barras.Substring(5)); // DAC ou Dígito Verificador (posição 05 do Código de Barras) linha.Campo5 .Add(barras.Substring(6, 9)) // Fator de Vencimento (posição 06 a 09 do código de barras) .Add(barras.Substring(10, 19)); // Valor nominal (posição 10 a 19 do código de barras com zeros entre o fator de vencimento e o valor). return(linha); }
protected override LinhaDigitavel GerarLinhaDigitavel(CodigoBarras barras) { var linha = new LinhaDigitavel(); ////campo livre = barras de 20 a 44 //Campo 1 (AAABC.CCDDX) linha.Campo1 .Add(barras.Substring(1, 3)) //AAA = Código do Banco na Câmara de Compensação ( Itaú=341) .Add(barras.Substring(4)) //B = Código da moeda = "9" (*) .Add(barras.Substring(20, 22)) //CCC = Código da carteira de cobrança .Add(barras.Substring(23, 24)) //DD = Dois primeiros dígitos do Nosso Número .Add(Helper.Mod10(linha.Campo1.Substring(1, 9))); //X = DAC que amarra o campo 1 (Anexo3) //Campo 2 (DDDDD.DEFFFY) linha.Campo2 .Add(barras.Substring(25, 30)) //DDDDDD= Restante do Nosso Número .Add(barras.Substring(31, 31)) //E = DAC do campo [ Agência/Conta/Carteira/ Nosso Número ] .Add(barras.Substring(32, 34)) //FFF = Três primeiros números que identificam a Agência .Add(Helper.Mod10(linha.Campo2.Substring(1, 10))); // Y = DAC que amarra o campo 2 (Anexo 3) //Campo 3 (FGGGG.GGHHHZ) linha.Campo3 .Add(barras.Substring(35, 35)) // F = Restante do número que identifica a agência .Add(barras.Substring(36, 41)) // GGGGGG = Número da conta corrente + DAC .Add(barras.Substring(42, 44)) // HHH = Zeros ( Não utilizado ) .Add(Helper.Mod10(linha.Campo3.Substring(1, 10))); // Z = DAC que amarra o campo 3 (Anexo 3) //Campo 4 (K) linha.Campo4 .Add(barras.Substring(5, 5)); // K = DAC do Código de Barras (Anexo 2 ) //Campo 5 (UUUUVVVVVVVVVV) linha.Campo5 .Add(barras.Substring(6, 9)) // UUUU= Fator de vencimento .Add(barras.Substring(10, 19)); // VVVVVVVVVV= valor do Título (*) return(linha); }