Class: Brcobranca::Retorno::Cnab400::Santander

Inherits:
Base
  • Object
show all
Extended by:
ParseLine::FixedWidth
Defined in:
lib/brcobranca/retorno/cnab400/santander.rb

Overview

Instance Attribute Summary

Attributes inherited from Base

#abatimento_nao_aproveitado, #agencia_com_dv, #agencia_recebedora_com_dv, #agencia_sem_dv, #arquivo, #banco_recebedor, #carteira, #carteira_variacao, #cedente_com_dv, #codigo_chave_dict, #codigo_ocorrencia, #codigo_registro, #comando, #convenio, #data_credito, #data_liquidacao, #data_ocorrencia, #data_vencimento, #desconto, #desconto_concedito, #documento_numero, #especie_documento, #indicador_valor, #indicativo_lancamento, #iof, #iof_desconto, #juros_desconto, #juros_mora, #motivo_ocorrencia, #natureza_recebimento, #nosso_numero, #outras_despesas, #outros_recebimento, #sequencial, #tipo_chave_dict, #tipo_cobranca, #tipo_cobranca_anterior, #txid, #valor_abatimento, #valor_ajuste, #valor_lancamento, #valor_recebido, #valor_tarifa, #valor_titulo

Class Method Summary collapse

Methods inherited from Base

codigo_banco_do_arquivo

Class Method Details

.load_lines(file, options = {}) ⇒ Object

Load lines



14
15
16
17
18
# File 'lib/brcobranca/retorno/cnab400/santander.rb', line 14

def self.load_lines(file, options = {})
  default_options = { except: [1] } # por padrao ignora a primeira linha que é header
  options = default_options.merge!(options)
  super
end

.parse_registro_movimento(parse) ⇒ Object

1 - Registro Movimento



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/brcobranca/retorno/cnab400/santander.rb', line 21

def self.parse_registro_movimento(parse)
  parse.field :agencia_com_dv, 17..20
  parse.field :cedente_com_dv, 23..28
  parse.field :nosso_numero, 62..69
  # parse.field :carteira_variacao, 82..84
  parse.field :carteira, 107..107
  parse.field :codigo_ocorrencia, 108..109
  parse.field :data_ocorrencia, 110..115
  # identificados na documentação mas não parseados
  # parse.field :seu_numero, 116..125 seu numero
  # parse.field :nosso_numero, 126..133 nosso numero denovo?
  # parse.field :codigo_rejeicao, 134..135 nosso numero
  parse.field :motivo_ocorrencia, 136..145, lambda { |motivos|
    motivos.scan(/.{2}/).reject(&:blank?).reject { |motivo| motivo == '00' }
  }

  parse.field :data_vencimento, 146..151
  parse.field :valor_titulo, 152..164
  parse.field :banco_recebedor, 165..167
  parse.field :agencia_recebedora_com_dv, 168..172
  parse.field :especie_documento, 173..174
  parse.field :valor_tarifa, 175..187
  parse.field :iof, 214..226
  parse.field :valor_abatimento, 227..239
  parse.field :desconto, 240..252
  parse.field :valor_recebido, 253..265
  parse.field :juros_mora, 266..278
  parse.field :outros_recebimento, 279..291
  parse.field :data_credito, 295..300
end

.parse_registro_pix(parse) ⇒ Object

2 - Registro Movimento – Identificacao dos dados Qr Code (PIX).



53
54
55
56
57
# File 'lib/brcobranca/retorno/cnab400/santander.rb', line 53

def self.parse_registro_pix(parse)
  parse.field :tipo_chave_dict, 1..1
  parse.field :codigo_chave_dict, 2..78
  parse.field :txid, 79..113
end