Module: BrBoleto::Remessa::Cnab240::Helper::HeaderLote

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

Instance Method Summary collapse

Instance Method Details

#header_lote_posicao_001_a_003Object

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_008Object

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_009Object

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_011Object

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_013Object

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_016Object

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_017Object

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_018Object

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_033Object

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_073Object

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_103Object

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_143Object

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_183Object

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_191Object

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_199Object

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_207Object

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_240Object

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

Parameters:

  • nro_lote (Integer)

    numero do lote no arquivo (iterar a cada novo lote)

Returns:

  • (String)


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