Module: BrBoleto::Remessa::Cnab240::Helper::HeaderArquivo

Included in:
Base
Defined in:
lib/br_boleto/remessa/cnab240/helper/header_arquivo.rb

Instance Method Summary collapse

Instance Method Details

#header_arquivo_posicao_001_a_003Object

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_007Object

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_008Object

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_017Object

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_018Object

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_032Object

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_052Object

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_072Object

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_102Object

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.razao_social}".adjust_size_to(30)
end

#header_arquivo_posicao_103_a_132Object

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_142Object

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_143Object

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_151Object

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_157Object

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_163Object

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_166Object

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_171Object

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_191Object

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_211Object

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_240Object

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_arquivoString

Monta o registro header do arquivo

Returns:

  • (String)


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