Module: BrBoleto::Remessa::Cnab240::Helper::HeaderArquivo
- Included in:
- Base
- Defined in:
- lib/br_boleto/remessa/cnab240/helper/header_arquivo.rb
Instance Method Summary collapse
-
#header_arquivo_posicao_001_a_003 ⇒ Object
Código do banco 3 posições.
-
#header_arquivo_posicao_004_a_007 ⇒ Object
Lote de serviço 4 posições.
-
#header_arquivo_posicao_008_a_008 ⇒ Object
Tipo do registro 1 posição.
-
#header_arquivo_posicao_009_a_017 ⇒ Object
Uso Exclusivo FEBRABAN / CNAB 09 posições.
-
#header_arquivo_posicao_018_a_018 ⇒ Object
Tipo de Inscrição da Empresa 1 posição.
-
#header_arquivo_posicao_019_a_032 ⇒ Object
Número de Inscrição da Empresa (CPF/CNPJ) 14 Posições.
-
#header_arquivo_posicao_033_a_052 ⇒ Object
Código do Convênio no Banco 20 posições.
-
#header_arquivo_posicao_053_a_072 ⇒ Object
Informações da conta bancária O padrão da FEBRABAN é: Posição de 53 até 57 com 05 posições = Agência Mantenedora da Conta Posição de 58 até 58 com 01 posições = DV -> Dígito Verificador da Agência Posição de 59 até 70 com 12 posições = Conta -> Número Número da Conta Corrente Posição de 71 até 71 com 01 posições = DV -> Dígito Verificador da Conta Posição de 72 até 72 com 01 posições = DV -> Dígito Verificador da Ag/Conta.
-
#header_arquivo_posicao_073_a_102 ⇒ Object
Nome da Empresa 30 posições.
-
#header_arquivo_posicao_103_a_132 ⇒ Object
Nome do Banco 30 posições.
-
#header_arquivo_posicao_133_a_142 ⇒ Object
Uso Exclusivo FEBRABAN / CNAB 10 posições.
-
#header_arquivo_posicao_143_a_143 ⇒ Object
Código Remessa / Retorno (1 para remessa) 1 posição.
-
#header_arquivo_posicao_144_a_151 ⇒ Object
Data de Geração do Arquivo no formato (DDMMYYYY) 8 posições.
-
#header_arquivo_posicao_152_a_157 ⇒ Object
Hora de Geração do Arquivo no formato (HHMMSS) 6 posições.
-
#header_arquivo_posicao_158_a_163 ⇒ Object
Número Seqüencial do Arquivo 6 posições.
-
#header_arquivo_posicao_164_a_166 ⇒ Object
Numero da Versão do Layout do Arquivo 3 posições.
-
#header_arquivo_posicao_167_a_171 ⇒ Object
Densidade de Gravação do Arquivo 5 posições.
-
#header_arquivo_posicao_172_a_191 ⇒ Object
Espaço reservado para o Banco 20 posições.
-
#header_arquivo_posicao_192_a_211 ⇒ Object
Espaço reservado para a Empresa 20 posições.
-
#header_arquivo_posicao_212_a_240 ⇒ Object
Para Uso Exclusivo FEBRABAN / CNAB 29 posições.
-
#monta_header_arquivo ⇒ String
Monta o registro header do arquivo.
Instance Method Details
#header_arquivo_posicao_001_a_003 ⇒ Object
Código do banco 3 posições
38 39 40 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_arquivo.rb', line 38 def header_arquivo_posicao_001_a_003 conta.codigo_banco end |
#header_arquivo_posicao_004_a_007 ⇒ Object
Lote de serviço 4 posições
45 46 47 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_arquivo.rb', line 45 def header_arquivo_posicao_004_a_007 '0000' end |
#header_arquivo_posicao_008_a_008 ⇒ Object
Tipo do registro 1 posição
52 53 54 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_arquivo.rb', line 52 def header_arquivo_posicao_008_a_008 '0' end |
#header_arquivo_posicao_009_a_017 ⇒ Object
Uso Exclusivo FEBRABAN / CNAB 09 posições
59 60 61 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_arquivo.rb', line 59 def header_arquivo_posicao_009_a_017 ''.rjust(9, ' ') end |
#header_arquivo_posicao_018_a_018 ⇒ Object
Tipo de Inscrição da Empresa 1 posição
66 67 68 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_arquivo.rb', line 66 def header_arquivo_posicao_018_a_018 conta.tipo_cpf_cnpj(1) end |
#header_arquivo_posicao_019_a_032 ⇒ Object
Número de Inscrição da Empresa (CPF/CNPJ) 14 Posições
73 74 75 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_arquivo.rb', line 73 def header_arquivo_posicao_019_a_032 "#{conta.cpf_cnpj}".adjust_size_to(14, '0', :right) end |
#header_arquivo_posicao_033_a_052 ⇒ Object
Código do Convênio no Banco 20 posições
80 81 82 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_arquivo.rb', line 80 def header_arquivo_posicao_033_a_052 "#{codigo_convenio}".adjust_size_to(20) end |
#header_arquivo_posicao_053_a_072 ⇒ Object
Informações da conta bancária O padrão da FEBRABAN é:
Posição de 53 até 57 com 05 posições = Agência Mantenedora da Conta
Posição de 58 até 58 com 01 posições = DV -> Dígito Verificador da Agência
Posição de 59 até 70 com 12 posições = Conta -> Número Número da Conta Corrente
Posição de 71 até 71 com 01 posições = DV -> Dígito Verificador da Conta
Posição de 72 até 72 com 01 posições = DV -> Dígito Verificador da Ag/Conta
Porém como no Brasil os bancos não conseguem seguir um padrão, cada banco faz da sua maneira 20 posições
95 96 97 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_arquivo.rb', line 95 def header_arquivo_posicao_053_a_072 informacoes_da_conta end |
#header_arquivo_posicao_073_a_102 ⇒ Object
Nome da Empresa 30 posições
102 103 104 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_arquivo.rb', line 102 def header_arquivo_posicao_073_a_102 "#{conta.}".adjust_size_to(30) end |
#header_arquivo_posicao_103_a_132 ⇒ Object
Nome do Banco 30 posições
109 110 111 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_arquivo.rb', line 109 def header_arquivo_posicao_103_a_132 "#{conta.nome_banco}".adjust_size_to(30) end |
#header_arquivo_posicao_133_a_142 ⇒ Object
Uso Exclusivo FEBRABAN / CNAB 10 posições
116 117 118 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_arquivo.rb', line 116 def header_arquivo_posicao_133_a_142 ''.rjust(10, ' ') end |
#header_arquivo_posicao_143_a_143 ⇒ Object
Código Remessa / Retorno (1 para remessa) 1 posição
123 124 125 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_arquivo.rb', line 123 def header_arquivo_posicao_143_a_143 '1' end |
#header_arquivo_posicao_144_a_151 ⇒ Object
Data de Geração do Arquivo no formato (DDMMYYYY) 8 posições
130 131 132 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_arquivo.rb', line 130 def header_arquivo_posicao_144_a_151 data_geracao end |
#header_arquivo_posicao_152_a_157 ⇒ Object
Hora de Geração do Arquivo no formato (HHMMSS) 6 posições
137 138 139 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_arquivo.rb', line 137 def header_arquivo_posicao_152_a_157 hora_geracao end |
#header_arquivo_posicao_158_a_163 ⇒ Object
Número Seqüencial do Arquivo 6 posições
144 145 146 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_arquivo.rb', line 144 def header_arquivo_posicao_158_a_163 "#{sequencial_remessa}".rjust(6, '0') end |
#header_arquivo_posicao_164_a_166 ⇒ Object
Numero da Versão do Layout do Arquivo 3 posições
151 152 153 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_arquivo.rb', line 151 def header_arquivo_posicao_164_a_166 "#{conta.versao_layout_arquivo_cnab_240}".adjust_size_to(3, '0', :right) end |
#header_arquivo_posicao_167_a_171 ⇒ Object
Densidade de Gravação do Arquivo 5 posições
158 159 160 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_arquivo.rb', line 158 def header_arquivo_posicao_167_a_171 ''.rjust(5, '0') end |
#header_arquivo_posicao_172_a_191 ⇒ Object
Espaço reservado para o Banco 20 posições
165 166 167 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_arquivo.rb', line 165 def header_arquivo_posicao_172_a_191 ''.rjust(20, '0') end |
#header_arquivo_posicao_192_a_211 ⇒ Object
Espaço reservado para a Empresa 20 posições
172 173 174 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_arquivo.rb', line 172 def header_arquivo_posicao_192_a_211 ''.rjust(20, '0') end |
#header_arquivo_posicao_212_a_240 ⇒ Object
Para Uso Exclusivo FEBRABAN / CNAB 29 posições
179 180 181 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_arquivo.rb', line 179 def header_arquivo_posicao_212_a_240 complemento_header_arquivo end |
#monta_header_arquivo ⇒ String
Monta o registro header do arquivo
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/br_boleto/remessa/cnab240/helper/header_arquivo.rb', line 10 def monta_header_arquivo header_arquivo = '' # CAMPO TAMANHO header_arquivo << header_arquivo_posicao_001_a_003 # codigo do banco 3 header_arquivo << header_arquivo_posicao_004_a_007 # lote do servico 4 header_arquivo << header_arquivo_posicao_008_a_008 # tipo de registro 1 header_arquivo << header_arquivo_posicao_009_a_017 # uso exclusivo FEBRABAN 9 header_arquivo << header_arquivo_posicao_018_a_018 # tipo inscricao 1 header_arquivo << header_arquivo_posicao_019_a_032 # numero de inscricao 14 header_arquivo << header_arquivo_posicao_033_a_052 # codigo do convenio no banco 20 header_arquivo << header_arquivo_posicao_053_a_072 # informacoes da conta 20 header_arquivo << header_arquivo_posicao_073_a_102 # nome da empresa 30 header_arquivo << header_arquivo_posicao_103_a_132 # nome do banco 30 header_arquivo << header_arquivo_posicao_133_a_142 # uso exclusivo FEBRABAN 10 header_arquivo << header_arquivo_posicao_143_a_143 # codigo remessa 1 header_arquivo << header_arquivo_posicao_144_a_151 # data geracao 8 header_arquivo << header_arquivo_posicao_152_a_157 # hora geracao 6 header_arquivo << header_arquivo_posicao_158_a_163 # numero seq. arquivo 6 header_arquivo << header_arquivo_posicao_164_a_166 # num. versao 3 header_arquivo << header_arquivo_posicao_167_a_171 # densidade gravacao 5 header_arquivo << header_arquivo_posicao_172_a_191 # Para Uso Reservado do Banco 20 header_arquivo << header_arquivo_posicao_192_a_211 # Para Uso Reservado da Empresa 20 header_arquivo << header_arquivo_posicao_212_a_240 # complemento do arquivo 29 header_arquivo.upcase end |