Module: BrBoleto::Remessa::Cnab240::Helper::HeaderLote
- Included in:
- Base
- Defined in:
- lib/br_boleto/remessa/cnab240/helper/header_lote.rb
Instance Method Summary collapse
-
#header_lote_posicao_001_a_003 ⇒ Object
Código do Banco na Compensação 3 posições.
-
#header_lote_posicao_004_a_007(numero_do_lote) ⇒ Object
Lote de Serviço 4 posições.
-
#header_lote_posicao_008_a_008 ⇒ Object
Tipo de Registro 1 posição.
-
#header_lote_posicao_009_a_009 ⇒ Object
Tipo da Operação 1 posição ‘R’ = Arquivo Remessa ‘T’ = Arquivo Retorno.
-
#header_lote_posicao_010_a_011 ⇒ Object
Tipo do Serviço 2 posições.
-
#header_lote_posicao_012_a_013 ⇒ Object
Forma de Lançamento 2 posições.
-
#header_lote_posicao_014_a_016 ⇒ Object
Nº da Versão do Layout do Lote 3 posições.
-
#header_lote_posicao_017_a_017 ⇒ Object
Uso Exclusivo da FEBRABAN/CNAB 1 posição.
-
#header_lote_posicao_018_a_018 ⇒ Object
Tipo de Inscrição da Empresa 1 posição.
-
#header_lote_posicao_019_a_033 ⇒ Object
Número de Inscrição da Empresa 15 posições.
-
#header_lote_posicao_034_a_053(lote) ⇒ Object
Convenio -> Código do Cedente no Banco 20 posições.
-
#header_lote_posicao_054_a_073 ⇒ Object
Informações da conta bancária O padrão da FEBRABAN é: Posição de 54 até 58 com 05 posições = Agência Mantenedora da Conta Posição de 59 até 59 com 01 posições = DV -> Dígito Verificador da Agência Posição de 60 até 71 com 12 posições = Conta -> Número Número da Conta Corrente Posição de 72 até 72 com 01 posições = DV -> Dígito Verificador da Conta Posição de 73 até 73 com 01 posições = DV -> Dígito Verificador da Ag/Conta.
-
#header_lote_posicao_074_a_103 ⇒ Object
Nome da Empresa 30 posições.
-
#header_lote_posicao_104_a_143 ⇒ Object
Mensagem 1 40 posições.
-
#header_lote_posicao_144_a_183 ⇒ Object
Mensagem 2 40 posições.
-
#header_lote_posicao_184_a_191 ⇒ Object
Número Remessa/Retorno 8 posições.
-
#header_lote_posicao_192_a_199 ⇒ Object
Data de Gravação Remessa/Retorno 8 posições.
-
#header_lote_posicao_200_a_207 ⇒ Object
Data do Crédito 8 posições.
-
#header_lote_posicao_208_a_240 ⇒ Object
Uso Exclusivo FEBRABAN/CNAB 33 posições.
-
#monta_header_lote(lote, nr_lote) ⇒ String
Monta o registro header do lote.
Instance Method Details
#header_lote_posicao_001_a_003 ⇒ Object
Código do Banco na Compensação 3 posições
39 40 41 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_lote.rb', line 39 def header_lote_posicao_001_a_003 conta.codigo_banco end |
#header_lote_posicao_004_a_007(numero_do_lote) ⇒ Object
Lote de Serviço 4 posições
46 47 48 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_lote.rb', line 46 def header_lote_posicao_004_a_007(numero_do_lote) "#{numero_do_lote}".rjust(4, '0') end |
#header_lote_posicao_008_a_008 ⇒ Object
Tipo de Registro 1 posição
53 54 55 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_lote.rb', line 53 def header_lote_posicao_008_a_008 '1' end |
#header_lote_posicao_009_a_009 ⇒ Object
Tipo da Operação 1 posição
'R' = Arquivo Remessa
'T' = Arquivo Retorno
64 65 66 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_lote.rb', line 64 def header_lote_posicao_009_a_009 'R' end |
#header_lote_posicao_010_a_011 ⇒ Object
Tipo do Serviço 2 posições
'01' = Cobran
76 77 78 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_lote.rb', line 76 def header_lote_posicao_010_a_011 '01' end |
#header_lote_posicao_012_a_013 ⇒ Object
Forma de Lançamento 2 posições
83 84 85 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_lote.rb', line 83 def header_lote_posicao_012_a_013 '00' end |
#header_lote_posicao_014_a_016 ⇒ Object
Nº da Versão do Layout do Lote 3 posições
90 91 92 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_lote.rb', line 90 def header_lote_posicao_014_a_016 "#{conta.versao_layout_lote_cnab_240}".adjust_size_to(3, '0', :right) end |
#header_lote_posicao_017_a_017 ⇒ Object
Uso Exclusivo da FEBRABAN/CNAB 1 posição
97 98 99 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_lote.rb', line 97 def header_lote_posicao_017_a_017 ' ' end |
#header_lote_posicao_018_a_018 ⇒ Object
Tipo de Inscrição da Empresa 1 posição
104 105 106 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_lote.rb', line 104 def header_lote_posicao_018_a_018 conta.tipo_cpf_cnpj(1) end |
#header_lote_posicao_019_a_033 ⇒ Object
Número de Inscrição da Empresa 15 posições
111 112 113 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_lote.rb', line 111 def header_lote_posicao_019_a_033 "#{conta.cpf_cnpj}".adjust_size_to(15, '0', :right) end |
#header_lote_posicao_034_a_053(lote) ⇒ Object
Convenio -> Código do Cedente no Banco 20 posições
118 119 120 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_lote.rb', line 118 def header_lote_posicao_034_a_053(lote) convenio_lote(lote) end |
#header_lote_posicao_054_a_073 ⇒ Object
Informações da conta bancária O padrão da FEBRABAN é:
Posi
Porém como no Brasil os bancos não conseguem seguir um padrão, cada banco faz da sua maneira 20 posições
133 134 135 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_lote.rb', line 133 def header_lote_posicao_054_a_073 informacoes_da_conta end |
#header_lote_posicao_074_a_103 ⇒ Object
Nome da Empresa 30 posições
140 141 142 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_lote.rb', line 140 def header_lote_posicao_074_a_103 "#{conta.razao_social}".adjust_size_to(30) end |
#header_lote_posicao_104_a_143 ⇒ Object
Mensagem 1 40 posições
147 148 149 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_lote.rb', line 147 def header_lote_posicao_104_a_143 mensagem_1.to_s.adjust_size_to(40) end |
#header_lote_posicao_144_a_183 ⇒ Object
Mensagem 2 40 posições
154 155 156 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_lote.rb', line 154 def header_lote_posicao_144_a_183 mensagem_2.to_s.adjust_size_to(40) end |
#header_lote_posicao_184_a_191 ⇒ Object
Número Remessa/Retorno 8 posições
161 162 163 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_lote.rb', line 161 def header_lote_posicao_184_a_191 "#{sequencial_remessa}".adjust_size_to(8, '0', :right) end |
#header_lote_posicao_192_a_199 ⇒ Object
Data de Gravação Remessa/Retorno 8 posições
168 169 170 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_lote.rb', line 168 def header_lote_posicao_192_a_199 data_geracao end |
#header_lote_posicao_200_a_207 ⇒ Object
Data do Crédito 8 posições
175 176 177 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_lote.rb', line 175 def header_lote_posicao_200_a_207 ''.rjust(8, '0') end |
#header_lote_posicao_208_a_240 ⇒ Object
Uso Exclusivo FEBRABAN/CNAB 33 posições
182 183 184 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_lote.rb', line 182 def header_lote_posicao_208_a_240 ''.rjust(33, ' ') end |
#monta_header_lote(lote, nr_lote) ⇒ String
Monta o registro header do lote
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_lote.rb', line 13 def monta_header_lote(lote, nr_lote) header_lote = '' # CAMPO TAMANHO header_lote << header_lote_posicao_001_a_003 # codigo banco 3 header_lote << header_lote_posicao_004_a_007(nr_lote)# lote servico 4 header_lote << header_lote_posicao_008_a_008 # tipo de registro 1 header_lote << header_lote_posicao_009_a_009 # tipo de operacao 1 header_lote << header_lote_posicao_010_a_011 # tipo de servico 2 header_lote << header_lote_posicao_012_a_013 # uso exclusivo 2 header_lote << header_lote_posicao_014_a_016 # versao layout do lote 3 header_lote << header_lote_posicao_017_a_017 # uso exclusivo 1 header_lote << header_lote_posicao_018_a_018 # tipo de inscricao 1 header_lote << header_lote_posicao_019_a_033 # inscricao cedente 15 header_lote << header_lote_posicao_034_a_053(lote) # codigo do convenio 20 header_lote << header_lote_posicao_054_a_073 # informacoes conta 20 header_lote << header_lote_posicao_074_a_103 # nome empresa 30 header_lote << header_lote_posicao_104_a_143 # 1a mensagem 40 header_lote << header_lote_posicao_144_a_183 # 2a mensagem 40 header_lote << header_lote_posicao_184_a_191 # numero remessa 8 header_lote << header_lote_posicao_192_a_199 # data gravacao 8 header_lote << header_lote_posicao_200_a_207 # data do credito 8 header_lote << header_lote_posicao_208_a_240 # complemento 33 header_lote.upcase end |