Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        protected override CodigoBarras GerarCodigoBarras(Cedente cedente, string nossoNumero, DateTime dtVencto, decimal vrBoleto)
        {
            var barras = new CodigoBarras();

            barras
            .Set(1, 3, "001")                                                              // Código do Banco na Câmara de Compensação = "001"
            .Set(4, 4, "9")                                                                // Código da Moeda = '9'
            .Set(6, 9, Helper.FatorVencimento(dtVencto))                                   // Fator de Vencimento
            .Set(10, 19, Convert.ToInt64(vrBoleto * 100).ToString("0000000000"))           // Valor Nominal (zeros se for Moeda variável)
            .Set(20, 25, cedente.Convenio)                                                 // Número do Convênio de Seis Posições
            .Set(26, 42, NossoNumero)                                                      // Nosso-Número Livre do cliente
            .Set(43, 44, "21")                                                             // "21" Tipo de Modalidade de Cobrança
            .Set(5, 5, Helper.Mod11(barras.Substring(1, 4) + barras.Substring(6, 44), 9)); // DAC

            return(barras);
        }
Beispiel #5
0
        protected override CodigoBarras GerarCodigoBarras(Cedente cedente, string nossoNumero, DateTime dtVencto, decimal vrBoleto)
        {
            var barras = new CodigoBarras();

            barras
            .Set(1, 3, "237")                                                                            // Código do Banco "041"
            .Set(4, 4, "9")                                                                              // Moeda de Emissão (9 = REAL)
            .Set(6, 9, Helper.FatorVencimento(dtVencto))                                                 // Fator de Vencimento
            .Set(10, 19, Convert.ToInt64(vrBoleto * 100).ToString("0000000000"))                         // Valor Nominal (zeros se for Moeda variável)
            .Set(20, 23, cedente.Agencia.Substring(0, cedente.Agencia.Length - 1).PadLeft(4, '0'))       //agencia cedente sem dv (tam 4 - pos 20 a 23)
            .Set(24, 25, cedente.Carteira.PadLeft(2, '0'))                                               //carteira (tam 2 - pos 24 a 25)
            .Set(26, 36, nossoNumero.PadLeft(11, '0'))                                                   //nosso numero sem dv (tam 11 - pos 26 a 36)
            .Set(37, 43, cedente.CodCedente.Substring(0, cedente.CodCedente.Length - 1).PadLeft(7, '0')) //conta cedente sem dv (tam 7 - pos 37 a 43)
            .Set(44, 44, "0")                                                                            // 0
            .Set(5, 5, Helper.Mod11(barras.Substring(1, 4) + barras.Substring(6, 44), 9));               // DAC

            return(barras);
        }
Beispiel #6
0
        protected override CodigoBarras GerarCodigoBarras(Cedente cedente, string nossoNumero, DateTime dtVencto, decimal vrBoleto)
        {
            var barras = new CodigoBarras();

            barras
            .Set(1, 3, "399")                                                       // Código do Banco na Câmara de Compensação = "399"
            .Set(4, 4, "9")                                                         // Código da Moeda = '9'
            .Set(6, 9, Helper.FatorVencimento(dtVencto))                            // Fator de Vencimento
            .Set(10, 19, Convert.ToInt64(vrBoleto * 100).ToString("0000000000"))    // Valor Nominal (zeros se for Moeda variável)
            .Set(20, 26, cedente.CodCedente)                                        //Código do Beneficiário
            .Set(27, 39, nossoNumero)                                               //Nosso Número
            .Set(40, 43, Helper.FormataJuliano(dtVencto))                           // Data de Vencimento no Formato Juliano
            .Set(44, 44, "2")                                                       // Código do Produto CNR
            .Set(5, 5, Helper.Mod11(string.Concat(barras.Substring(1, 4),
                                                  barras.Substring(6, 44)), 9, 0)); //Calcula DAC (Remove o char do DAC)

            return(barras);
        }
Beispiel #7
0
        /// <summary>
        ///	O código de barra para cobrança contém 44 posições dispostas da seguinte forma:
        ///    01 a 03 -  3 - 033 fixo - Código do banco
        ///    04 a 04 -  1 - 9 fixo - Código da moeda (R$)
        ///    05 a 05 –  1 - Dígito verificador do código de barras
        ///    06 a 09 -  4 - Fator de vencimento
        ///    10 a 19 - 10 - Valor
        ///    20 a 20 –  1 - Fixo 9
        ///    21 a 27 -  7 - Código do cedente padrão satander
        ///    28 a 40 - 13 - Nosso número
        ///    41 - 41 - 1 -  IOS  - Seguradoras(Se 7% informar 7. Limitado  a 9%) Demais clientes usar 0
        ///    42 - 44 - 3 - Tipo de modalidade da carteira 101, 102, 201
        /// </summary>
        protected override CodigoBarras GerarCodigoBarras(Cedente cedente, string nossoNumero, DateTime dtVencto, decimal vrBoleto)
        {
            var barras = new CodigoBarras();

            barras
            .Set(1, 3, "033")                                                              // Código do Banco na Câmara de Compensação = "033"
            .Set(4, 4, "9")                                                                // Código da Moeda = '9'
            .Set(6, 9, Helper.FatorVencimento(dtVencto))                                   // Fator de Vencimento
            .Set(10, 19, Convert.ToInt64(vrBoleto * 100).ToString("0000000000"))           // Valor Nominal (zeros se for Moeda variável)
            .Set(20, 20, "9")                                                              //20 a 20 –  1 - Fixo 9
            .Set(21, 27, cedente.CodCedente)                                               // 7 - Código do cedente padrão satander
            .Set(28, 40, NossoNumero.Replace("-", ""))                                     // 13 - Nosso número
            .Set(41, 41, "0")                                                              //  IOS  - Seguradoras(Se 7% informar 7. Limitado  a 9%) Demais clientes usar 0
            .Set(42, 44, "102")                                                            //3 - Tipo de modalidade da carteira 101, 102, 201
            .Set(5, 5, Helper.Mod11(barras.Substring(1, 4) + barras.Substring(6, 44), 9)); // DAC

            return(barras);
        }
Beispiel #8
0
        protected override CodigoBarras GerarCodigoBarras(Cedente cedente, string nossoNumero, DateTime dtVencto, decimal vrBoleto)
        {
            var barras = new CodigoBarras();

            barras
            .Set(1, 3, "341")                                                                                                  // Código do Banco na Câmara de Compensação = '341'
            .Set(4, 4, "9")                                                                                                    // Código da Moeda = '9'
            .Set(6, 9, Helper.FatorVencimento(dtVencto))                                                                       // Fator de Vencimento (Anexo 6)
            .Set(10, 19, Convert.ToInt64(vrBoleto * 100).ToString("0000000000"))                                               // Valor
            .Set(20, 22, cedente.Carteira.PadLeft(3, '0'))                                                                     // Carteira
            .Set(23, 31, FormataNossoNumero(nossoNumero, cedente, dtVencto).Replace("-", "").Replace("/", "").Substring(3, 9)) //Nosso Número + DAC [Agência /Conta/Carteira/Nosso Número] (Anexo 4)
            .Set(32, 35, cedente.Agencia.PadLeft(4, '0'))                                                                      //N.º da Agência cedente
            .Set(36, 40, cedente.CodCedente.PadLeft(5, '0'))                                                                   //N.º da Conta Corrente
            .Set(41, 41, Helper.Mod10(cedente.Agencia + cedente.CodCedente))                                                   // DAC [Agência/Conta Corrente] (Anexo 3)
            .Set(42, 44, "000")                                                                                                // Zeros
            .Set(5, 5, Helper.Mod11(barras.Substring(1, 4) + barras.Substring(6, 44), 9));                                     //DAC  código de Barras (Anexo 2)

            return(barras);
        }
Beispiel #9
0
        protected override CodigoBarras GerarCodigoBarras(Cedente cedente, string nossoNumero, DateTime dtVencto, decimal vrBoleto)
        {
            var barras = new CodigoBarras();

            barras
            .Set(1, 3, "041")                                                              // Constante "041"
            .Set(4, 4, "9")                                                                // Moeda de Emissão (9 = REAL)
            .Set(6, 9, Helper.FatorVencimento(dtVencto))                                   // Fator de Vencimento
            .Set(10, 19, Convert.ToInt64(vrBoleto * 100).ToString("0000000000"))           // Valor Nominal (zeros se for Moeda variável)
            .Set(20, 20, "2")                                                              // Produto: "2" Cobrança Direta, Fichário emitido pelo CLIENTE
            .Set(21, 21, "1")                                                              // Constante "1"
            .Set(22, 25, cedente.Agencia)                                                  // Código da Agência, com quatro dígitos, sem o Número de Controle.
            .Set(26, 32, cedente.CodCedente)                                               // Código do Cedente sem Número de Controle.
            .Set(33, 40, nossoNumero)                                                      // Nosso Número sem Número de Controle
            .Set(41, 42, "40")                                                             // Constante "40" (significa agencia com 4 digitos)
            .Set(43, 43, Helper.Mod10(barras.Substring(20, 42)))                           // DV1 - Mod10
            .Set(44, 44, Helper.Mod11(barras.Substring(20, 43), 7))                        // DV2 - Mod11
            .Set(5, 5, Helper.Mod11(barras.Substring(1, 4) + barras.Substring(6, 44), 9)); // DAC

            return(barras);
        }
Beispiel #10
0
        protected override Utils.CodigoBarras GerarCodigoBarras(Cedente cedente, string nossoNumero, DateTime dtVencto, decimal vrBoleto)
        {
            var barras = new CodigoBarras();

            nossoNumero = nossoNumero.PadLeft(17, '0').Insert(2, "/");

            barras
            .Set(1, 3, "104")                                                       // Código do Banco na Câmara de Compensação = "104"
            .Set(4, 4, "9")                                                         // Código da Moeda = '9'
            .Set(6, 9, Helper.FatorVencimento(dtVencto))                            // Fator de Vencimento
            .Set(10, 19, Convert.ToInt64(vrBoleto * 100).ToString("0000000000"))    // Valor Nominal (zeros se for Moeda variável)
            .Set(20, 25, cedente.CodCedente)                                        //Código do Beneficiário
            .Set(26, 26, Helper.Mod11(barras.Substring(20, 25), 9, 3))              //DV Código do Beneficiário
            .Set(27, 29, nossoNumero.Substring(3, 3))                               //Nosso número sequência 1
            .Set(30, 30, "2")                                                       //Tipo de Cobrança (1 - Registrada / 2 - Sem Registro)
            .Set(31, 33, nossoNumero.Substring(6, 3))                               //Nosso número sequência 2
            .Set(34, 34, "4")                                                       //Identificador de Emissão de Boleto (4 - Beneficiário)
            .Set(35, 43, nossoNumero.Substring(9, 9))                               //Nosso número sequência 2
            .Set(44, 44, Helper.Mod11(barras.Substring(20, 43), 9, 3))              //DV Campo Livre
            .Set(5, 5, Helper.Mod11(string.Concat(barras.Substring(1, 4),
                                                  barras.Substring(6, 44)), 9, 0)); //DAC

            return(barras);
        }
Beispiel #11
0
        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);
        }
Beispiel #12
0
        /// <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);
        }
Beispiel #13
0
        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);
        }