Module: BrBoleto::Remessa::Cnab240::Helper::TrailerArquivo

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

Instance Method Summary collapse

Instance Method Details

#monta_trailer_arquivo(nro_lotes, sequencial) ⇒ String

Monta o registro trailer do arquivo

Parameters:

  • nro_lotes (Integer)

    numero de lotes no arquivo

  • sequencial (Integer)

    numero de registros(linhas) no arquivo

Returns:

  • (String)


16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/br_boleto/remessa/cnab240/helper/trailer_arquivo.rb', line 16

def monta_trailer_arquivo(nro_lotes, sequencial)
	trailer_arquivo =  ''                                               # CAMPO              TAMANHO
	trailer_arquivo << trailer_arquivo_posicao_001_a_003                 # Código banco          3
	trailer_arquivo << trailer_arquivo_posicao_004_a_007(nro_lotes)     # Lote Serviço          4
	trailer_arquivo << trailer_arquivo_posicao_008_a_008                # Tipo registro         1
	trailer_arquivo << trailer_arquivo_posicao_009_a_017                # Exclusivo             9
	trailer_arquivo << trailer_arquivo_posicao_018_a_023(nro_lotes)     # Qtd. Lotes            6
	trailer_arquivo << trailer_arquivo_posicao_024_a_029(sequencial)    # Qtd. Registros        6
	trailer_arquivo << trailer_arquivo_posicao_030_a_035                # Qtde Contas           6
	trailer_arquivo << trailer_arquivo_posicao_036_a_240                # Exclusivo            205
	trailer_arquivo.upcase                                               
end

#trailer_arquivo_posicao_001_a_003Object

Código do banco 3 posições



32
33
34
# File 'lib/br_boleto/remessa/cnab240/helper/trailer_arquivo.rb', line 32

def trailer_arquivo_posicao_001_a_003 
	conta.codigo_banco
end

#trailer_arquivo_posicao_004_a_007(nro_lotes) ⇒ Object

Lote de Serviço -> Padrão 9999 4 posições



39
40
41
# File 'lib/br_boleto/remessa/cnab240/helper/trailer_arquivo.rb', line 39

def trailer_arquivo_posicao_004_a_007(nro_lotes)
	'9999'
end

#trailer_arquivo_posicao_008_a_008Object

Tipo do registro -> Padrão 9 Código adotado pela FEBRABAN para identificar o tipo de registro:

0 = Header de Arquivo
1 = Header de Lote
3 = Detalhe
5 = Trailer de Lote
9 = Trailer de Arquivo

1 posição



53
54
55
# File 'lib/br_boleto/remessa/cnab240/helper/trailer_arquivo.rb', line 53

def trailer_arquivo_posicao_008_a_008
	'9'
end

#trailer_arquivo_posicao_009_a_017Object

Uso Exclusivo FEBRABAN/CNAB 9 posições



60
61
62
# File 'lib/br_boleto/remessa/cnab240/helper/trailer_arquivo.rb', line 60

def trailer_arquivo_posicao_009_a_017
	''.rjust(9, ' ')
end

#trailer_arquivo_posicao_018_a_023(nro_lotes) ⇒ Object

Quantidade de Lotes do Arquivo 6 posições



67
68
69
# File 'lib/br_boleto/remessa/cnab240/helper/trailer_arquivo.rb', line 67

def trailer_arquivo_posicao_018_a_023(nro_lotes)
	"#{nro_lotes}".adjust_size_to(6, '0', :right)
end

#trailer_arquivo_posicao_024_a_029(sequencial) ⇒ Object

Quantidade de Registros do Arquivo 6 posições



74
75
76
# File 'lib/br_boleto/remessa/cnab240/helper/trailer_arquivo.rb', line 74

def trailer_arquivo_posicao_024_a_029(sequencial)
	"#{sequencial}".adjust_size_to(6, '0', :right)
end

#trailer_arquivo_posicao_030_a_035Object

Qtde de Contas p/ Conc. (Lotes) 6 posições



81
82
83
# File 'lib/br_boleto/remessa/cnab240/helper/trailer_arquivo.rb', line 81

def trailer_arquivo_posicao_030_a_035
	''.rjust(6, '0')
end

#trailer_arquivo_posicao_036_a_240Object

Uso Exclusivo FEBRABAN/CNAB 205 posições



88
89
90
# File 'lib/br_boleto/remessa/cnab240/helper/trailer_arquivo.rb', line 88

def trailer_arquivo_posicao_036_a_240
	''.rjust(205, ' ')
end