lib/brcobranca/retorno/cnab400/itau.rb in brcobranca-8.0.0 vs lib/brcobranca/retorno/cnab400/itau.rb in brcobranca-9.0.0
- old
+ new
@@ -1,7 +1,6 @@
# -*- encoding: utf-8 -*-
-#
require 'parseline'
module Brcobranca
module Retorno
module Cnab400
@@ -17,11 +16,12 @@
super file, options
end
fixed_width_layout do |parse|
# Todos os campos descritos no documento em ordem
- # :tipo_de_registro, 0..0 # identificacao do registro transacao
+ # identificacao do registro transacao
+ parse.field :codigo_registro, 0..0
# :codigo_de_inscricao, 1..2 # identificacao do tipo de inscrica/empresa
# :numero_de_inscricao, 3..16 #numero de inscricao da empresa (cpf/cnpj)
# :agencia, 17..20 #agencia mantenedora da conta
parse.field :agencia_com_dv, 17..20 # FIXME - SEM DIV
@@ -48,12 +48,14 @@
# :brancos, 94..106 #complemento do registro
# :carteira, 107..107 #código da carteira
parse.field :carteira, 107..107
- # :cod_de_ocorrencia, 108..109 # código de ocorrencia
- # :data_de_ocorrencia, 110..115 # data de ocorrencia no banco (ddmmaa)
+ parse.field :codigo_ocorrencia, 108..109
+
+ parse.field :data_ocorrencia, 110..115
+
# :n_do_documento, 116..125 # n umero do documento de cobranca (dupl, np etc)
# :nosso_numero, 126..133 # confirmacao do numero do titulo no banco
# :brancos, 134..145 #complemento de registro
# :vencimento, 146..151 #data de vencimento do titulo (ddmmaa)
@@ -108,9 +110,13 @@
# :nome_do_sacado, 324..353, #nome do sacado
# :brancos , 354..376 # complemento de registro
# :erros_msg, 377..384 #registros rejeitados ou laegacao do sacado ou registro de mensagem informativa
# :brancos, 385..391 #complemento de registro
# :cod_de_liquidacao, 392..393 #meio pelo qual o título foi liquidado
+
+ parse.field :motivo_ocorrencia, 377..384, ->(motivos) do
+ motivos.scan(/.{2}/).reject(&:blank?).reject{|motivo| motivo == '00'}
+ end
# :numero_sequencial, 394..399 #numero sequencial no arquivo
parse.field :sequencial, 394..399
# Campos da classe base que não encontrei a relação com CNAB400