Module: BrBoleto::Remessa::Cnab240::Helper::TrailerLote

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

Instance Method Summary collapse

Instance Method Details

#monta_trailer_lote(lote, nr_lote, nro_registros) ⇒ String

Monta o registro trailer do lote

Parameters:

  • nr_lote (Integer)

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

  • nro_registros (Integer)

    numero de registros(linhas) no lote (contando header e trailer)

Returns:

  • (String)


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

def monta_trailer_lote(lote, nr_lote, nro_registros)
	trailer_lote = ''                                            # CAMPO                   # TAMANHO
	trailer_lote << trailer_lote_posicao_001_a_003               # codigo banco            3
	trailer_lote << trailer_lote_posicao_004_a_007(nr_lote)      # lote de servico         4
	trailer_lote << trailer_lote_posicao_008_a_008               # tipo de servico         1
	trailer_lote << trailer_lote_posicao_009_a_017               # uso exclusivo           9
	trailer_lote << trailer_lote_posicao_018_a_023(nro_registros)# qtde de registros lote  6
	trailer_lote << trailer_lote_posicao_024_a_240(lote, nr_lote)#                         217
	trailer_lote.upcase
end

#trailer_lote_posicao_001_a_003Object

Código do banco 3 posições



30
31
32
# File 'lib/br_boleto/remessa/cnab240/helper/trailer_lote.rb', line 30

def trailer_lote_posicao_001_a_003 
	conta.codigo_banco
end

#trailer_lote_posicao_004_a_007(numero_do_lote) ⇒ Object

Lote de Serviço: Número seqüencial para identificar univocamente um lote de serviço. Criado e controlado pelo responsável pela geração magnética dos dados contidos no arquivo. Preencher com ‘0001’ para o primeiro lote do arquivo. Para os demais: número do lote anterior acrescido de 1. O número não poderá ser repetido dentro do arquivo. 4 posições



40
41
42
# File 'lib/br_boleto/remessa/cnab240/helper/trailer_lote.rb', line 40

def trailer_lote_posicao_004_a_007(numero_do_lote)
	"#{numero_do_lote}".adjust_size_to(4, '0', :right)
end

#trailer_lote_posicao_008_a_008Object

Tipo do registro -> Padrão 5 1 posição



47
48
49
# File 'lib/br_boleto/remessa/cnab240/helper/trailer_lote.rb', line 47

def trailer_lote_posicao_008_a_008
	'5'
end

#trailer_lote_posicao_009_a_017Object

Uso Exclusivo FEBRABAN/CNAB 9 posições



54
55
56
# File 'lib/br_boleto/remessa/cnab240/helper/trailer_lote.rb', line 54

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

#trailer_lote_posicao_018_a_023(nro_registros) ⇒ Object

Quantidade de Registros no Lote 6 posições



61
62
63
# File 'lib/br_boleto/remessa/cnab240/helper/trailer_lote.rb', line 61

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

#trailer_lote_posicao_024_a_240(lote, nr_lote) ⇒ Object

Complemento trailer diferente para cada banco 217 posições



68
69
70
# File 'lib/br_boleto/remessa/cnab240/helper/trailer_lote.rb', line 68

def trailer_lote_posicao_024_a_240(lote, nr_lote)
	complemento_trailer_lote(lote, nr_lote)
end