Class: V08::Remessa::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.



8
9
10
11
12
13
14
15
16
17
18
19
20
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
51
52
53
54
55
56
# File 'lib/formatos/cnab400/arquivo/V08/detalhe.rb', line 8

def initialize
  @section = Section.new({
    0 => Position.new(1, 1, false, "1", true),                  # Código do Registro
    1 => Position.new(2, 5, false),                             # Agencia de Débito (opcional)
    2 => Position.new(3, 1, false),                             # Digito Agencia (opcional)
    3 => Position.new(4, 5, false),                             # Razao da Conta Corrente (opcional)
    4 => Position.new(5, 7, false),                             # Conta Corrente (opcional)
    5 => Position.new(6, 1, false),                             # Digito da CC (opcional)
    6 => Position.new(7, 17, false),                            # Identificação da empresa (zero, carteira, agencia e CC )
    7 => Position.new(8, 25, false),                            # Numero controle do participante
    8 => Position.new(9, 3, false),                             # Numero do Banco ("237")
    9 => Position.new(10, 1, true),                             # Campo de multa (0: Sem Multa/ 2: Com multa)
    10 => Position.new(11, 4, true),                            # Percentual de multa
    11 => Position.new(12, 11, true),                           # Identificação do titulo no banco
    12 => Position.new(13, 1, true),                            # Digito de AutoConferencia
    13 => Position.new(14, 10, true),                           # Desconto Bonificacao por dia
    14 => Position.new(15, 1, false, "2"),                      # Condicao para emissao da cobranca
    15 => Position.new(16, 1, false),                           # Id se emite Boleto para Debito Automatico (Diferente de N registra e emite boleto)
    16 => Position.new(17, 10, false),                          # Reservado - Brancos
    17 => Position.new(18, 1, false),                           # Indicador Rateio (opcional)
    18 => Position.new(19, 1, false),                           # Enderecamento para aviso de Debito em Cc (opcional)
    19 => Position.new(20, 2, false),                           # Reservado - Brancos
    20 => Position.new(21, 2, false, "01"),                     # Identificacao de ocorrencias
    21 => Position.new(22, 10, false),                          # Numero do documento
    22 => Position.new(23, 6, false),                           # Data vencimento do titulo (DDMMAA)
    23 => Position.new(24, 13, true),                           # Valor do titulo
    24 => Position.new(25, 3, true, "0"),                       # Banco cobrador - Zeros
    25 => Position.new(26, 5, true, "0"),                       # Agencia depositaria - Zeros
    26 => Position.new(27, 2, false, "99"),                     # Tipo do titulo
    27 => Position.new(28, 1, false, "N"),                      # Identificação
    28 => Position.new(29, 6, false),                           # Data emissao do titulo (DDMMAA)
    29 => Position.new(30, 2, true),                            # 1º instrucao
    30 => Position.new(31, 2, true),                            # 2º instrucao
    31 => Position.new(32, 13, true, "0"),                      # Valor por dia de atraso
    32 => Position.new(33, 6, false),                           # Data Limite para Concessao Desconto (DDMMAA)
    33 => Position.new(34, 13, true, "0"),                      # Valor desconto
    34 => Position.new(35, 13, true, "0"),                      # Valor IOF
    35 => Position.new(36, 13, true, "0"),                      # Valor Abatimento
    36 => Position.new(37, 2, false),                           # Tipo de inscrição (1:CPF, 2: CNPJ)
    37 => Position.new(38, 14, true),                           # Numero da inscricao
    38 => Position.new(39, 40, false),                          # Nome do sacado
    39 => Position.new(40, 40, false),                          # End. do sacado
    40 => Position.new(41, 12, false),                          # 1º mensagem
    41 => Position.new(42, 8, false),                           # CEP do sacado
    42 => Position.new(43, 60, false),                          # Sacador/Avalista ou 2º mensagem
    43 => Position.new(44, 6, true)                             # Numero sequencial

  })
end

Instance Method Details

#is_valid?Boolean

Returns:

  • (Boolean)


83
84
85
86
87
88
# File 'lib/formatos/cnab400/arquivo/V08/detalhe.rb', line 83

def is_valid?
  get_identificacao_empresa.length > 0   and
  get_nosso_numero.length > 0            and
  get_numero_documento.length > 0        and
  get_sequencial.length > 0
end

#set_values(params) ⇒ Object



58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/formatos/cnab400/arquivo/V08/detalhe.rb', line 58

def set_values params
  set_identificacao_empresa   params[:identificacao_empresa]
  set_nosso_numero            params[:nosso_numero]
  set_codigo_banco_debitado   params[:codigo_banco_debitado]
  set_reservado_1
  set_indicador_rateio
  set_enderecamento
  set_reservado_2
  set_numero_documento       params[:numero_documento]
  set_vencimento_titulo      params[:vencimento]
  set_valor_titulo           params[:valor]
  set_data_emissao_titulo    Date.today
  set_1_instrucao
  set_2_instrucao
  set_valor_por_atraso
  set_id_inscricao_sacado     params[:tipo_inscricao]
  set_numero_inscricao_sacado params[:numero_inscricao]
  set_nome_sacado             params[:nome_sacado]
  set_endereco                params[:endereco]
  set_1_mensagem
  set_cep                     params[:cep]
  set_2_mensagem
  set_sequencial              params[:sequencial]
end