Class: V08::Retorno::Detalhe

Inherits:
FormatSection
  • Object
show all
Includes:
V08DetalheCommons
Defined in:
lib/formatos/cnab400/arquivo/V08/detalhe.rb

Instance Method Summary collapse

Methods included from V08DetalheCommons

#get_agencia, #get_controle_participante, #get_data_credito, #get_endereco, #get_identificacao_empresa, #get_mensagem_erro, #get_mensagem_retorno, #get_motivo_rejeicao, #get_nome_sacado, #get_nosso_numero, #get_numero_documento, #get_numero_documento_retorno, #get_numero_inscricao, #get_ocorrencia, #get_sequencial, #get_sequencial_retorno, #get_tipo_inscricao, #get_valor, #get_vencimento_titulo, #set_1_instrucao, #set_1_mensagem, #set_2_instrucao, #set_2_mensagem, #set_abatimento_concedido, #set_agencia, #set_agencia_cobradora, #set_agencia_depositaria, #set_banco_cobrador, #set_banco_cobrador_retorno, #set_brancos_1, #set_brancos_2, #set_brancos_3, #set_brancos_4, #set_campo_multa, #set_carteira, #set_cep, #set_codigo_banco_debitado, #set_codigo_banco_retorno, #set_condicao_emissao, #set_conta_corrente, #set_controle_participante, #set_data_credito, #set_data_emissao_titulo, #set_data_limite_desconto, #set_data_ocorrencia, #set_data_titulo, #set_desconto_bonificacao, #set_desconto_concedido, #set_despesas, #set_digito_conferencia, #set_dv_agencia, #set_dv_conta_corrente, #set_enderecamento, #set_endereco, #set_especie_titulo, #set_especie_titulo_retorno, #set_id_boleto_debito, #set_id_empresa, #set_id_inscricao_sacado, #set_id_titulo, #set_id_titulo_2, #set_identificacao, #set_identificacao_empresa, #set_identificacao_titulo, #set_indicador_ocorrencia, #set_indicador_rateio, #set_indicador_rateio_retorno, #set_iof, #set_juros, #set_juros_mora, #set_motivo_ocorrencia, #set_motivo_rejeicoes, #set_nome_sacado, #set_nosso_numero, #set_numero_cartorio, #set_numero_documento, #set_numero_documento_retorno, #set_numero_inscricao, #set_numero_inscricao_sacado, #set_numero_protocolo, #set_ocorrencia_retorno, #set_origem_pagamento, #set_outras_despesas, #set_outros_creditos, #set_percentual_multa, #set_razao_conta_corrente, #set_reservado_1, #set_reservado_2, #set_sequencial, #set_sequencial_retorno, #set_tipo_inscricao, #set_valor_abatimento, #set_valor_desconto, #set_valor_iof, #set_valor_pago, #set_valor_por_atraso, #set_valor_titulo, #set_valor_titulo_retorno, #set_vencimento_titulo, #set_zeros_1, #set_zeros_2, #set_zeros_3, #set_zeros_4, #set_zeros_5

Methods included from ParserCodeMessage

#get_mensagem_ocorrencia, #get_motivo_ocorrencia, #parse_baixa_automatica, #parse_baixa_banco, #parse_baixa_rejeitada, #parse_dados_rejeitados, #parse_entrada_cofirmada, #parse_instrucao_rejeitada, #parse_liquidacao, #parse_liquidacao_baixa, #parse_liquidacao_cartorio

Constructor Details

#initializeDetalhe

Returns a new instance of Detalhe.



97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
# File 'lib/formatos/cnab400/arquivo/V08/detalhe.rb', line 97

def initialize
  @section = Section.new({
    0 => Position.new(1, 1, false, "1", true),                 # Código do Registro
    1 => Position.new(2, 2, true),                              # Tipo de inscrição da empresa (01:CPF, 02: CNPJ)
    2 => Position.new(3, 14, true),                             # Numero da inscricao da empresa
    3 => Position.new(4, 3, false),                             # Reservado - Zeros
    4 => Position.new(5, 17, false),                            # Identificação da empresa (zero, carteira, agencia e CC )
    5 => Position.new(6, 25, false),                            # Numero controle do participante
    6 => Position.new(7, 8, true),                              # Reservado - Zeros
    7 => Position.new(8, 12, false),                            # Identificação do titulo no banco
    8 => Position.new(9, 10, false),                            # Reservado - Zeros
    9 => Position.new(10, 12, false),                           # Reservado - Zeros
    10 => Position.new(11, 1, false),                           # Indicador Rateio
    11 => Position.new(12, 2, false),                           # Reservado - Zeros
    12 => Position.new(13, 1, true),                            # Carteira
    13 => Position.new(14, 2, true),                            # Id da Ocorrencia
    14 => Position.new(15, 6, false),                           # Data da Ocorrencia
    15 => Position.new(16, 10, false),                          # Numero Documento
    16 => Position.new(17, 20, false),                          # Id do titulo no banco
    17 => Position.new(18, 6, false),                           # Data vencimento do titulo (DDMMAA)
    18 => Position.new(19, 13, true),                           # Valor do titulo
    19 => Position.new(20, 3, false),                           # Banco cobrador
    20 => Position.new(21, 5, false),                           # Agencia Cobradora
    21 => Position.new(22, 2, false),                           # Especie de titulo - branco
    22 => Position.new(23, 13, false),                          # Valor despesa das ocorrencias
    23 => Position.new(24, 13, false),                          # Outras despesas
    24 => Position.new(25, 13, false),                          # Juros operação em atraso
    25 => Position.new(26, 13, false),                          # IOF devido
    26 => Position.new(27, 13, false),                          # Valor abatimento
    27 => Position.new(28, 13, false),                          # Valor desconto concedido
    28 => Position.new(29, 13, false),                          # Valor pago
    29 => Position.new(30, 13, false),                          # Juros de mora
    30 => Position.new(31, 13, false),                          # Outros creditos
    31 => Position.new(32, 2, false),                           # Reservado - branco
    32 => Position.new(33, 1, false),                           # Motivo do codigo de ocorrencia
    33 => Position.new(34, 6, false),                           # Data do credito
    34 => Position.new(35, 3, false),                           # Origem pagamento
    35 => Position.new(36, 10, false),                          # Reservado - brancos
    36 => Position.new(37, 4, false),                           # Codigo do banco - quando cheque
    37 => Position.new(38, 10, false),                          # Motivo das rejeicoes
    38 => Position.new(39, 40, false),                          # Reservado - brancos
    39 => Position.new(40, 2, false),                           # numero do cartorio
    40 => Position.new(41, 10, false),                          # numero do protocolo
    41 => Position.new(42, 14, false),                          # Reservado - brancos
    42 => Position.new(43, 6, true)                             # Numero sequencial
  })
end

Instance Method Details

#is_valid?Boolean

Returns:

  • (Boolean)


190
191
192
193
194
195
196
197
# File 'lib/formatos/cnab400/arquivo/V08/detalhe.rb', line 190

def is_valid?
  get_tipo_inscricao.length > 0                and
  get_numero_inscricao.length > 0              and
  # get_controle_participante.length > 0         and
  # get_numero_documento_retorno.length > 0      and
  get_ocorrencia.length > 0                    and
  get_sequencial_retorno.length > 0
end

#process_section(file) ⇒ Object



145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
# File 'lib/formatos/cnab400/arquivo/V08/detalhe.rb', line 145

def process_section file
  set_tipo_inscricao             file[1..2]
  set_numero_inscricao           file[3..16]
  set_zeros_1                    file[17..19]
  set_id_empresa                 file[20..36]
  set_controle_participante      file[37..61]
  set_zeros_2                    file[62..69]
  set_id_titulo                  file[70..81]
  set_zeros_3                    file[82..91]
  set_zeros_4                    file[93..103]
  set_indicador_rateio_retorno   file[104..104]
  set_zeros_5                    file[105..106]
  set_carteira                   file[107..107]
  set_ocorrencia_retorno         file[108..109]
  set_data_ocorrencia            file[110..115]
  set_numero_documento_retorno   file[116..125]
  set_id_titulo_2                file[126..145]
  set_data_titulo                file[146..151]
  set_valor_titulo_retorno       file[152..164]
  set_banco_cobrador_retorno     file[165..167]
  set_agencia_cobradora          file[168..172]
  set_especie_titulo_retorno     file[173..174]
  set_despesas                   file[175..187]
  set_outras_despesas            file[188..200]
  set_juros                      file[201..213]
  set_iof                        file[214..226]
  set_abatimento_concedido       file[227..239]
  set_desconto_concedido         file[240..252]
  set_valor_pago                 file[253..265]
  set_juros_mora                 file[266..278]
  set_outros_creditos            file[279..291]
  set_brancos_1                  file[292..293]
  set_motivo_ocorrencia          file[294..294]
  set_data_credito               file[295..300]
  set_origem_pagamento           file[301..303]
  set_brancos_2                  file[304..313]
  set_codigo_banco_retorno       file[314..317]
  set_motivo_rejeicoes           file[318..327]
  set_brancos_3                  file[328..367]
  set_numero_cartorio            file[368..369]
  set_numero_protocolo           file[370..379]
  set_brancos_4                  file[380..393]
  set_sequencial_retorno         file[394..399]
end