formatos-febraban 0.3.53 → 0.3.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/base/position.rb +2 -2
- data/lib/formatos/cnab400/cnab_400.rb +78 -24
- data/lib/formatos/cnab400/cnab_400_detalhe.rb +520 -137
- data/lib/formatos/cnab400/cnab_400_header.rb +135 -25
- data/lib/formatos/cnab400/cnab_400_trailler.rb +207 -33
- data/lib/formatos/febraban/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 26483895d20cb7b5698292c7864e599131ed6401
|
|
4
|
+
data.tar.gz: 190769f39ae1965365ab9b79f216306ae673f440
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ad6d8158996b37e5654d97159f8f1aa8c2fe3c05a4685018ffa0dc3cf110e2ad80885d928fb3d4ec3c05fe5f57c632cba914c3c8ab31e6810057addb54b45f81
|
|
7
|
+
data.tar.gz: 4b480f6dcc6d8e6da56d9bce68084d61a12949179a759401383cc7af51eea7841f0f8d11824b949005ccfe47863380be87817f18f1809d9ace6d4595ab776d3a
|
data/base/position.rb
CHANGED
|
@@ -8,7 +8,7 @@ class Position
|
|
|
8
8
|
@position = position
|
|
9
9
|
@length = length
|
|
10
10
|
@numbers_only = numbers_only
|
|
11
|
-
@content = content
|
|
11
|
+
@content = adjust_content(content)
|
|
12
12
|
@immutable = immutable
|
|
13
13
|
@obligatory = obligatory
|
|
14
14
|
end
|
|
@@ -52,7 +52,7 @@ class Position
|
|
|
52
52
|
def set_content(content)
|
|
53
53
|
if not @immutable
|
|
54
54
|
if self.is_numbers_only? and !self.is_number(content)
|
|
55
|
-
raise "
|
|
55
|
+
raise "#{@position} aceita apenas valores numéricos
|
|
56
56
|
Valor: #{content}"
|
|
57
57
|
end
|
|
58
58
|
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
class Cnab400
|
|
3
3
|
require 'date'
|
|
4
4
|
|
|
5
|
-
SECTION_TYPES = {header: '
|
|
5
|
+
SECTION_TYPES = {header: '0', client: "1", trailler: '9'}
|
|
6
6
|
|
|
7
|
-
VERSAO = "
|
|
7
|
+
VERSAO = {remessa: "remessa", retorno: "retorno"}
|
|
8
8
|
|
|
9
|
-
# Carrega todas as
|
|
9
|
+
# Carrega todas as dependências de Layout
|
|
10
10
|
Dir[File.join(File.dirname(__FILE__), '../..', 'base', '**/*.rb')].sort.each do |file|
|
|
11
11
|
require file
|
|
12
12
|
end
|
|
@@ -19,11 +19,12 @@ class Cnab400
|
|
|
19
19
|
#-------------------------------------------------------------------
|
|
20
20
|
#-------------------------------------------------------------------
|
|
21
21
|
# Construtor
|
|
22
|
-
def initialize
|
|
22
|
+
def initialize(params = {})
|
|
23
23
|
@sections = []
|
|
24
|
+
@versao = params[:versao].present? ? VERSAO.key(params[:versao]) : :retorno
|
|
24
25
|
|
|
25
|
-
if file.size > 0
|
|
26
|
-
self.process_file file
|
|
26
|
+
if params[:file] && params[:file].size > 0
|
|
27
|
+
self.process_file params[:file]
|
|
27
28
|
end
|
|
28
29
|
end
|
|
29
30
|
|
|
@@ -32,13 +33,16 @@ class Cnab400
|
|
|
32
33
|
# Geral
|
|
33
34
|
protected
|
|
34
35
|
def add_section section
|
|
36
|
+
|
|
35
37
|
if section.is_valid?
|
|
36
38
|
self.sections << section
|
|
37
39
|
else
|
|
40
|
+
|
|
38
41
|
raise "Seção #{section.get_id} está inválida:
|
|
39
42
|
#{section.errors.inspect}
|
|
40
43
|
#{section.to_s}"
|
|
41
44
|
end
|
|
45
|
+
|
|
42
46
|
end
|
|
43
47
|
|
|
44
48
|
def add_section_from_business section
|
|
@@ -48,7 +52,8 @@ class Cnab400
|
|
|
48
52
|
|
|
49
53
|
#-------------------------------------------------------------------
|
|
50
54
|
#-------------------------------------------------------------------
|
|
51
|
-
#
|
|
55
|
+
# Criacao das Partes
|
|
56
|
+
|
|
52
57
|
public
|
|
53
58
|
|
|
54
59
|
def create_header(params = {})
|
|
@@ -56,19 +61,14 @@ class Cnab400
|
|
|
56
61
|
if self.get_header.nil?
|
|
57
62
|
section = self.get_new_section(:header)
|
|
58
63
|
|
|
59
|
-
section.
|
|
60
|
-
section.
|
|
61
|
-
section.
|
|
62
|
-
section.
|
|
63
|
-
section.
|
|
64
|
-
section.set_nome_empresa params[:nome_empresa]
|
|
65
|
-
section.set_numero_banco params[:numero_banco]
|
|
66
|
-
section.set_nome_banco params[:nome_banco]
|
|
67
|
-
section.set_data_gravacao Date.today
|
|
64
|
+
section.set_codigo_empresa params[:codigo]
|
|
65
|
+
section.set_nome_empresa params[:nome_empresa]
|
|
66
|
+
section.set_numero_banco params[:numero_banco]
|
|
67
|
+
section.set_nome_banco params[:nome_banco]
|
|
68
|
+
section.set_data_gravacao Date.today
|
|
68
69
|
section.set_reservado_1
|
|
69
|
-
section.
|
|
70
|
+
section.set_sequencial_remessa params[:sequencial]
|
|
70
71
|
section.set_reservado_2
|
|
71
|
-
section.set_sequencial
|
|
72
72
|
|
|
73
73
|
self.add_section_from_business section
|
|
74
74
|
|
|
@@ -77,12 +77,66 @@ class Cnab400
|
|
|
77
77
|
end
|
|
78
78
|
end
|
|
79
79
|
|
|
80
|
+
# Seção Client
|
|
81
|
+
def add_clients(params = {})
|
|
82
|
+
|
|
83
|
+
self.valida_existe_header
|
|
84
|
+
|
|
85
|
+
section = self.get_new_section(:client)
|
|
86
|
+
|
|
87
|
+
section.set_identificacao_empresa params[:identificacao_empresa]
|
|
88
|
+
section.set_nosso_numero params[:nosso_numero]
|
|
89
|
+
section.set_codigo_banco_debitado params[:codigo_banco_debitado]
|
|
90
|
+
section.set_reservado_1
|
|
91
|
+
section.set_indicador_rateio
|
|
92
|
+
section.set_enderecamento
|
|
93
|
+
section.set_reservado_2
|
|
94
|
+
section.set_numero_documento params[:numero_documento]
|
|
95
|
+
section.set_vencimento_titulo params[:vencimento]
|
|
96
|
+
section.set_valor_titulo params[:valor]
|
|
97
|
+
section.set_data_emissao_titulo Date.today
|
|
98
|
+
section.set_1_instrucao
|
|
99
|
+
section.set_2_instrucao
|
|
100
|
+
section.set_valor_por_atraso
|
|
101
|
+
section.set_id_inscricao_sacado params[:tipo_inscricao]
|
|
102
|
+
section.set_numero_inscricao_sacado params[:numero_inscricao]
|
|
103
|
+
section.set_nome_sacado params[:nome_sacado]
|
|
104
|
+
section.set_endereco params[:endereco]
|
|
105
|
+
section.set_1_mensagem
|
|
106
|
+
section.set_cep params[:cep]
|
|
107
|
+
section.set_2_mensagem
|
|
108
|
+
section.set_sequencial params[:sequencial]
|
|
109
|
+
|
|
110
|
+
self.add_section_from_business section
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
# Seção Trailler
|
|
114
|
+
def create_trailler
|
|
115
|
+
|
|
116
|
+
self.valida_existe_header
|
|
117
|
+
|
|
118
|
+
if self.get_trailler.nil?
|
|
119
|
+
if self.get_section(SECTION_TYPES[:client]).length > 0
|
|
120
|
+
section = self.get_new_section(:trailler)
|
|
121
|
+
|
|
122
|
+
section.set_reservado
|
|
123
|
+
section.set_sequencial self.sections.length + 1
|
|
124
|
+
|
|
125
|
+
self.sections << section
|
|
126
|
+
else
|
|
127
|
+
raise "Nenhum valor declarado!"
|
|
128
|
+
end
|
|
129
|
+
else
|
|
130
|
+
raise "Trailler já declarado!"
|
|
131
|
+
end
|
|
132
|
+
end
|
|
133
|
+
|
|
80
134
|
#-------------------------------------------------------------------
|
|
81
135
|
#-------------------------------------------------------------------
|
|
82
136
|
# Validações
|
|
83
|
-
|
|
137
|
+
|
|
84
138
|
def valida_existe_header
|
|
85
|
-
raise "Header
|
|
139
|
+
raise "Header ainda não declarado" if self.get_header.nil?
|
|
86
140
|
end
|
|
87
141
|
|
|
88
142
|
public
|
|
@@ -121,7 +175,7 @@ class Cnab400
|
|
|
121
175
|
end
|
|
122
176
|
|
|
123
177
|
def to_s
|
|
124
|
-
self.sections.map{|a| a.to_s.
|
|
178
|
+
self.sections.map{|a| a.to_s}.join("\r\n")
|
|
125
179
|
end
|
|
126
180
|
|
|
127
181
|
def get_header
|
|
@@ -139,11 +193,11 @@ class Cnab400
|
|
|
139
193
|
def get_new_section section_type
|
|
140
194
|
case section_type
|
|
141
195
|
when :header
|
|
142
|
-
Cnab4000Header.new(self)
|
|
196
|
+
Cnab4000Header.new(self, @versao)
|
|
143
197
|
when :client
|
|
144
|
-
Cnab4000Detalhe.new(self)
|
|
198
|
+
Cnab4000Detalhe.new(self, @versao)
|
|
145
199
|
when :trailler
|
|
146
|
-
Cnab4000Trailler.new(self)
|
|
200
|
+
Cnab4000Trailler.new(self, @versao)
|
|
147
201
|
end
|
|
148
202
|
end
|
|
149
203
|
end
|
|
@@ -5,272 +5,655 @@
|
|
|
5
5
|
class Cnab4000Detalhe < FormatSection
|
|
6
6
|
require 'date'
|
|
7
7
|
|
|
8
|
-
def initialize
|
|
8
|
+
def initialize(master, tipo)
|
|
9
9
|
super(master, true, true, false)
|
|
10
10
|
|
|
11
|
+
|
|
12
|
+
@versao = tipo
|
|
13
|
+
|
|
14
|
+
case @versao
|
|
15
|
+
when :remessa
|
|
16
|
+
detalhe_remessa
|
|
17
|
+
when :retorno
|
|
18
|
+
detalhe_retorno
|
|
19
|
+
else
|
|
20
|
+
raise "Versão não suportada: #{tipo}"
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def detalhe_remessa
|
|
11
26
|
@section = Section.new({
|
|
12
27
|
0 => Position.new(1, 1, false, "1", true), # Código do Registro
|
|
13
|
-
1 => Position.new(2, 5,
|
|
14
|
-
2 => Position.new(3,
|
|
15
|
-
3 => Position.new(4,
|
|
16
|
-
4 => Position.new(5,
|
|
17
|
-
5 => Position.new(6,
|
|
18
|
-
6 => Position.new(7,
|
|
19
|
-
7 => Position.new(8,
|
|
20
|
-
8 => Position.new(9,
|
|
21
|
-
9 => Position.new(10,
|
|
22
|
-
10 => Position.new(11, 4,
|
|
23
|
-
11 => Position.new(12,
|
|
24
|
-
12 => Position.new(13,
|
|
25
|
-
13 => Position.new(14,
|
|
26
|
-
14 => Position.new(15,
|
|
27
|
-
15 => Position.new(16,
|
|
28
|
-
16 => Position.new(17, 10, false),
|
|
29
|
-
17 => Position.new(18,
|
|
30
|
-
18 => Position.new(19,
|
|
31
|
-
19 => Position.new(20,
|
|
32
|
-
20 => Position.new(21, 2, false),
|
|
33
|
-
21 => Position.new(22,
|
|
34
|
-
22 => Position.new(23,
|
|
35
|
-
23 => Position.new(24,
|
|
36
|
-
24 => Position.new(25,
|
|
37
|
-
25 => Position.new(26,
|
|
38
|
-
26 => Position.new(27,
|
|
39
|
-
27 => Position.new(
|
|
28
|
+
1 => Position.new(2, 5, false), # Agencia de Débito (opcional)
|
|
29
|
+
2 => Position.new(3, 1, false), # Digito Agencia (opcional)
|
|
30
|
+
3 => Position.new(4, 5, false), # Razao da Conta Corrente (opcional)
|
|
31
|
+
4 => Position.new(5, 7, false), # Conta Corrente (opcional)
|
|
32
|
+
5 => Position.new(6, 1, false), # Digito da CC (opcional)
|
|
33
|
+
6 => Position.new(7, 17, false), # Identificação da empresa (zero, carteira, agencia e CC )
|
|
34
|
+
7 => Position.new(8, 25, false), # Numero controle do participante
|
|
35
|
+
8 => Position.new(9, 3, false), # Numero do Banco ("237")
|
|
36
|
+
9 => Position.new(10, 1, true), # Campo de multa (0: Sem Multa/ 2: Com multa)
|
|
37
|
+
10 => Position.new(11, 4, true), # Percentual de multa
|
|
38
|
+
11 => Position.new(12, 11, true), # Identificação do titulo no banco
|
|
39
|
+
12 => Position.new(13, 1, true), # Digito de AutoConferencia
|
|
40
|
+
13 => Position.new(14, 10, true), # Desconto Bonificacao por dia
|
|
41
|
+
14 => Position.new(15, 1, false, "2"), # Condicao para emissao da cobranca
|
|
42
|
+
15 => Position.new(16, 1, false), # Id se emite Boleto para Debito Automatico (Diferente de N registra e emite boleto)
|
|
43
|
+
16 => Position.new(17, 10, false), # Reservado - Brancos
|
|
44
|
+
17 => Position.new(18, 1, false), # Indicador Rateio (opcional)
|
|
45
|
+
18 => Position.new(19, 1, false), # Enderecamento para aviso de Debito em Cc (opcional)
|
|
46
|
+
19 => Position.new(20, 2, false), # Reservado - Brancos
|
|
47
|
+
20 => Position.new(21, 2, false, "01"), # Identificacao de ocorrencias
|
|
48
|
+
21 => Position.new(22, 10, false), # Numero do documento
|
|
49
|
+
22 => Position.new(23, 6, false), # Data vencimento do titulo (DDMMAA)
|
|
50
|
+
23 => Position.new(24, 13, true), # Valor do titulo
|
|
51
|
+
24 => Position.new(25, 3, true, "0"), # Banco cobrador - Zeros
|
|
52
|
+
25 => Position.new(26, 5, true, "0"), # Agencia depositaria - Zeros
|
|
53
|
+
26 => Position.new(27, 2, false, "99"), # Tipo do titulo
|
|
54
|
+
27 => Position.new(28, 1, false, "N"), # Identificação
|
|
55
|
+
28 => Position.new(29, 6, false), # Data emissao do titulo (DDMMAA)
|
|
56
|
+
29 => Position.new(30, 2, true), # 1º instrucao
|
|
57
|
+
30 => Position.new(31, 2, true), # 2º instrucao
|
|
58
|
+
31 => Position.new(32, 13, true, "0"), # Valor por dia de atraso
|
|
59
|
+
32 => Position.new(33, 6, false), # Data Limite para Concessao Desconto (DDMMAA)
|
|
60
|
+
33 => Position.new(34, 13, true, "0"), # Valor desconto
|
|
61
|
+
34 => Position.new(35, 13, true, "0"), # Valor IOF
|
|
62
|
+
35 => Position.new(36, 13, true, "0"), # Valor Abatimento
|
|
63
|
+
36 => Position.new(37, 2, false), # Tipo de inscrição (1:CPF, 2: CNPJ)
|
|
64
|
+
37 => Position.new(38, 14, true), # Numero da inscricao
|
|
65
|
+
38 => Position.new(39, 40, false), # Nome do sacado
|
|
66
|
+
39 => Position.new(40, 40, false), # End. do sacado
|
|
67
|
+
40 => Position.new(41, 12, false), # 1º mensagem
|
|
68
|
+
41 => Position.new(42, 8, false), # CEP do sacado
|
|
69
|
+
42 => Position.new(43, 60, false), # Sacador/Avalista ou 2º mensagem
|
|
70
|
+
43 => Position.new(44, 6, true) # Numero sequencial
|
|
71
|
+
|
|
40
72
|
})
|
|
41
73
|
end
|
|
42
74
|
|
|
75
|
+
def detalhe_retorno
|
|
76
|
+
@section = Section.new({
|
|
77
|
+
0 => Position.new(1, 1, false, "1", true), # Código do Registro
|
|
78
|
+
1 => Position.new(2, 2, true), # Tipo de inscrição da empresa (01:CPF, 02: CNPJ)
|
|
79
|
+
2 => Position.new(3, 14, false), # Numero da inscricao da empresa
|
|
80
|
+
3 => Position.new(4, 3, false), # Reservado - Zeros
|
|
81
|
+
4 => Position.new(5, 17, true), # Identificação da empresa (zero, carteira, agencia e CC )
|
|
82
|
+
5 => Position.new(6, 25, false), # Numero controle do participante
|
|
83
|
+
6 => Position.new(7, 8, false), # Reservado - Zeros
|
|
84
|
+
7 => Position.new(8, 12, true), # Identificação do titulo no banco
|
|
85
|
+
8 => Position.new(9, 10, false), # Reservado - Zeros
|
|
86
|
+
9 => Position.new(10, 12, false), # Reservado - Zeros
|
|
87
|
+
10 => Position.new(11, 1, false), # Indicador Rateio
|
|
88
|
+
11 => Position.new(12, 2, false), # Reservado - Zeros
|
|
89
|
+
12 => Position.new(13, 1, false), # Carteira
|
|
90
|
+
13 => Position.new(14, 2, false), # Id da Ocorrencia
|
|
91
|
+
14 => Position.new(15, 6, false), # Data da Ocorrencia
|
|
92
|
+
15 => Position.new(16, 10, false), # Numero Documento
|
|
93
|
+
16 => Position.new(17, 20, false), # Id do titulo no banco
|
|
94
|
+
17 => Position.new(18, 6, false), # Data vencimento do titulo (DDMMAA)
|
|
95
|
+
18 => Position.new(19, 13, false), # Valor do titulo
|
|
96
|
+
19 => Position.new(20, 3, false), # Banco cobrador
|
|
97
|
+
20 => Position.new(21, 5, false), # Agencia Cobradora
|
|
98
|
+
21 => Position.new(22, 2, false), # Especie de titulo - branco
|
|
99
|
+
22 => Position.new(23, 13, false), # Valor despesa das ocorrencias
|
|
100
|
+
23 => Position.new(24, 13, false), # Outras despesas
|
|
101
|
+
24 => Position.new(25, 13, false), # Juros operação em atraso
|
|
102
|
+
25 => Position.new(26, 13, false), # IOF devido
|
|
103
|
+
26 => Position.new(27, 13, false), # Valor abatimento
|
|
104
|
+
27 => Position.new(28, 13, false), # Valor desconto concedido
|
|
105
|
+
28 => Position.new(29, 13, false), # Valor pago
|
|
106
|
+
29 => Position.new(30, 13, false), # Juros de mora
|
|
107
|
+
30 => Position.new(31, 13, false), # Outros creditos
|
|
108
|
+
31 => Position.new(32, 2, false), # Reservado - branco
|
|
109
|
+
32 => Position.new(33, 1, false), # Motivo do codigo de ocorrencia
|
|
110
|
+
33 => Position.new(34, 6, false), # Data do credito
|
|
111
|
+
34 => Position.new(35, 3, false), # Origem pagamento
|
|
112
|
+
35 => Position.new(36, 10, false), # Reservado - brancos
|
|
113
|
+
36 => Position.new(37, 4, false), # Codigo do banco - quando cheque
|
|
114
|
+
37 => Position.new(38, 10, false), # Motivo das rejeicoes
|
|
115
|
+
38 => Position.new(39, 40, false), # Reservado - brancos
|
|
116
|
+
39 => Position.new(40, 2, false), # numero do cartorio
|
|
117
|
+
40 => Position.new(41, 10, false), # numero do protocolo
|
|
118
|
+
41 => Position.new(42, 14, false), # Reservado - brancos
|
|
119
|
+
42 => Position.new(43, 6, false) # Numero sequencial
|
|
120
|
+
})
|
|
121
|
+
|
|
122
|
+
end
|
|
123
|
+
|
|
43
124
|
#-------------------------------------------------------------------
|
|
44
125
|
#-------------------------------------------------------------------
|
|
45
126
|
# Gerais
|
|
46
|
-
def process_section
|
|
127
|
+
def process_section(file)
|
|
128
|
+
case @versao
|
|
129
|
+
when :remessa
|
|
130
|
+
processa_remessa file
|
|
131
|
+
when :retorno
|
|
132
|
+
processa_retorno file
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
def processa_remessa file
|
|
47
137
|
self.set_agencia file[1..5]
|
|
48
|
-
self.
|
|
49
|
-
self.
|
|
50
|
-
self.
|
|
51
|
-
self.
|
|
52
|
-
self.
|
|
53
|
-
self.set_nosso_numero file[
|
|
54
|
-
self.
|
|
55
|
-
self.
|
|
56
|
-
self.
|
|
57
|
-
self.
|
|
58
|
-
self.
|
|
59
|
-
self.
|
|
60
|
-
self.
|
|
61
|
-
self.
|
|
62
|
-
self.
|
|
63
|
-
self.
|
|
64
|
-
self.
|
|
65
|
-
self.
|
|
66
|
-
self.
|
|
67
|
-
self.
|
|
68
|
-
self.
|
|
69
|
-
self.
|
|
70
|
-
self.
|
|
71
|
-
self.
|
|
72
|
-
self.
|
|
73
|
-
self.
|
|
138
|
+
self.set_dv_agencia file[6..6]
|
|
139
|
+
self.set_razao_conta_corrente file[7..11]
|
|
140
|
+
self.set_conta_corrente file[13..18]
|
|
141
|
+
self.set_dv_conta_corrente file[19..19]
|
|
142
|
+
self.set_identificacao_empresa file[20..36]
|
|
143
|
+
self.set_nosso_numero file[37..61]
|
|
144
|
+
self.set_codigo_banco_debitado file[62..64]
|
|
145
|
+
self.set_campo_multa file[65..65]
|
|
146
|
+
self.set_percentual_multa file[66..69]
|
|
147
|
+
self.set_identificacao_titulo file[70..80]
|
|
148
|
+
self.set_digito_conferencia file[81..81]
|
|
149
|
+
self.set_desconto_bonificacao file[82..91]
|
|
150
|
+
self.set_condicao_emissao file[92..92]
|
|
151
|
+
self.set_id_boleto_debito file[93..93]
|
|
152
|
+
self.set_reservado_1 file[94..103]
|
|
153
|
+
self.set_indicador_rateio file[104..104]
|
|
154
|
+
self.set_enderecamento file[105..105]
|
|
155
|
+
self.set_reservado_2 file[106..107]
|
|
156
|
+
self.set_indicador_ocorrencia file[108..109]
|
|
157
|
+
self.set_numero_documento file[110..119]
|
|
158
|
+
self.set_vencimento_titulo file[120..125]
|
|
159
|
+
self.set_valor_titulo file[126..138]
|
|
160
|
+
self.set_banco_cobrador file[139..141]
|
|
161
|
+
self.set_agencia_depositaria file[142..146]
|
|
162
|
+
self.set_especie_titulo file[147..148]
|
|
163
|
+
self.set_identificacao file[149..149]
|
|
164
|
+
self.set_data_emissao_titulo file[150..155]
|
|
165
|
+
self.set_1_instrucao file[156..157]
|
|
166
|
+
self.set_2_instrucao file[158..159]
|
|
167
|
+
self.set_valor_por_atraso file[160..172]
|
|
168
|
+
self.set_data_limite_desconto file[173..178]
|
|
169
|
+
self.set_valor_desconto file[179..191]
|
|
170
|
+
self.set_valor_iof file[192..204]
|
|
171
|
+
self.set_valor_abatimento file[205..217]
|
|
172
|
+
self.set_id_inscricao_sacado file[218..219]
|
|
173
|
+
self.set_numero_inscricao_sacado file[220..233]
|
|
174
|
+
self.set_nome_sacado file[234..273]
|
|
175
|
+
self.set_endereco file[274..313]
|
|
176
|
+
self.set_1_mensagem file[314..325]
|
|
177
|
+
self.set_cep file[326..333]
|
|
178
|
+
self.set_2_mensagem file[334..393]
|
|
179
|
+
self.set_sequencial file[394..399]
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
def processa_retorno file
|
|
183
|
+
self.set_tipo_inscricao file[1..2]
|
|
184
|
+
self.set_numero_inscricao file[3..16]
|
|
185
|
+
self.set_zeros_1 file[17..19]
|
|
186
|
+
self.set_id_empresa file[20..36]
|
|
187
|
+
self.set_controle_participante file[37..61]
|
|
188
|
+
self.set_zeros_2 file[62..69]
|
|
189
|
+
self.set_id_titulo file[70..81]
|
|
190
|
+
self.set_zeros_3 file[82..91]
|
|
191
|
+
self.set_zeros_4 file[93..103]
|
|
192
|
+
self.set_indicador_rateio_retorno file[104..104]
|
|
193
|
+
self.set_zeros_5 file[105..106]
|
|
194
|
+
self.set_carteira_retorno file[107..107]
|
|
195
|
+
self.set_ocorrencia_retorno file[108..109]
|
|
196
|
+
self.set_data_ocorrencia file[110..115]
|
|
197
|
+
self.set_numero_documento_retorno file[116..125]
|
|
198
|
+
self.set_id_titulo file[126..145]
|
|
199
|
+
self.set_data_titulo file[146..151]
|
|
200
|
+
self.set_valor_titulo_retorno file[152..164]
|
|
201
|
+
self.set_banco_cobrador_retorno file[165..167]
|
|
202
|
+
self.set_agencia_cobradora file[168..172]
|
|
203
|
+
self.set_especie_titulo_retorno file[173..174]
|
|
204
|
+
self.set_despesas file[175..187]
|
|
205
|
+
self.set_outras_despesas file[188..200]
|
|
206
|
+
self.set_juros file[201..213]
|
|
207
|
+
self.set_iof file[214..226]
|
|
208
|
+
self.set_abatimento_concedido file[227..239]
|
|
209
|
+
self.set_desconto_concedido file[240..252]
|
|
210
|
+
self.set_valor_pago file[253..265]
|
|
211
|
+
self.set_juros_mora file[266..278]
|
|
212
|
+
self.set_outros_creditos file[279..291]
|
|
213
|
+
self.set_brancos_1 file[292..293]
|
|
214
|
+
self.set_motivo_ocorrencia file[294..294]
|
|
215
|
+
self.set_data_credito file[295..300]
|
|
216
|
+
self.set_origem_pagamento file[301..303]
|
|
217
|
+
self.set_brancos_2 file[304..313]
|
|
218
|
+
self.set_codigo_banco_retorno file[314..317]
|
|
219
|
+
self.set_motivo_rejeicoes file[318..327]
|
|
220
|
+
self.set_brancos_3 file[328..367]
|
|
221
|
+
self.set_numero_cartorio file[368..369]
|
|
222
|
+
self.set_numero_protocolo file[370..379]
|
|
223
|
+
self.set_brancos_4 file[380..393]
|
|
224
|
+
self.set_sequencial_retorno file[394..399]
|
|
74
225
|
end
|
|
75
226
|
|
|
76
227
|
#-------------------------------------------------------------------
|
|
77
228
|
#-------------------------------------------------------------------
|
|
78
229
|
# Validações
|
|
79
230
|
def is_valid?
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
self.get_nome_banco.length > 0 and
|
|
85
|
-
!self.get_data_geracao.nil? and
|
|
86
|
-
self.get_numero_sequencial > 0 and
|
|
87
|
-
self.get_versao_layout > 0 and
|
|
88
|
-
self.get_identificacao_servico.length > 0)
|
|
231
|
+
self.get_identificacao_empresa.length > 0 and
|
|
232
|
+
self.get_nosso_numero.length > 0 and
|
|
233
|
+
self.get_numero_documento.length > 0 and
|
|
234
|
+
self.get_sequencial.length > 0
|
|
89
235
|
end
|
|
90
236
|
|
|
91
237
|
#-------------------------------------------------------------------
|
|
92
238
|
#-------------------------------------------------------------------
|
|
93
239
|
# Getters
|
|
94
|
-
def
|
|
95
|
-
self.get_section_value(1)
|
|
96
|
-
end
|
|
97
|
-
|
|
98
|
-
def get_identificacao_arquivo
|
|
99
|
-
self.get_section_value(2)
|
|
100
|
-
end
|
|
101
|
-
|
|
102
|
-
def get_codigo_servico
|
|
103
|
-
self.get_section_value(3)
|
|
240
|
+
def get_agencia
|
|
241
|
+
self.get_section_value(1)
|
|
104
242
|
end
|
|
105
243
|
|
|
106
|
-
def
|
|
107
|
-
self.get_section_value(4)
|
|
108
|
-
end
|
|
109
|
-
|
|
110
|
-
def get_codigo_empresa
|
|
111
|
-
self.get_section_value(5)
|
|
112
|
-
end
|
|
113
|
-
|
|
114
|
-
def get_nome_empresa
|
|
244
|
+
def get_identificacao_empresa
|
|
115
245
|
self.get_section_value(6)
|
|
116
246
|
end
|
|
117
247
|
|
|
118
|
-
def
|
|
248
|
+
def get_nosso_numero
|
|
119
249
|
self.get_section_value(7)
|
|
120
250
|
end
|
|
121
251
|
|
|
122
|
-
def
|
|
123
|
-
self.get_section_value(
|
|
252
|
+
def get_numero_documento
|
|
253
|
+
self.get_section_value(21)
|
|
254
|
+
end
|
|
255
|
+
|
|
256
|
+
def get_vencimento_titulo
|
|
257
|
+
self.get_section_value(22)
|
|
124
258
|
end
|
|
125
259
|
|
|
126
|
-
def
|
|
127
|
-
self.get_section_value(
|
|
260
|
+
def get_nome_sacado
|
|
261
|
+
self.get_section_value(38)
|
|
128
262
|
end
|
|
129
263
|
|
|
130
|
-
def
|
|
131
|
-
self.get_section_value(
|
|
264
|
+
def get_endereco
|
|
265
|
+
self.get_section_value(39)
|
|
132
266
|
end
|
|
133
267
|
|
|
134
268
|
def get_sequencial
|
|
135
|
-
self.get_section_value(
|
|
269
|
+
self.get_section_value(43)
|
|
136
270
|
end
|
|
137
271
|
|
|
138
272
|
|
|
139
273
|
#-------------------------------------------------------------------
|
|
140
274
|
#-------------------------------------------------------------------
|
|
141
275
|
# Setters
|
|
142
|
-
def set_agencia valor
|
|
276
|
+
def set_agencia valor = ""
|
|
143
277
|
self.set_section_value(1, valor)
|
|
144
278
|
end
|
|
145
279
|
|
|
146
|
-
def
|
|
280
|
+
def set_tipo_inscricao valor = ""
|
|
281
|
+
self.set_section_value(1, valor)
|
|
282
|
+
end
|
|
283
|
+
|
|
284
|
+
def set_dv_agencia valor = ""
|
|
147
285
|
self.set_section_value(2, valor)
|
|
148
286
|
end
|
|
149
287
|
|
|
150
|
-
def
|
|
288
|
+
def set_numero_inscricao valor = ""
|
|
289
|
+
self.set_section_value(2, valor)
|
|
290
|
+
end
|
|
291
|
+
|
|
292
|
+
def set_razao_conta_corrente valor = ""
|
|
151
293
|
self.set_section_value(3, valor)
|
|
152
294
|
end
|
|
153
295
|
|
|
154
|
-
def
|
|
296
|
+
def set_zeros_1 valor = ""
|
|
297
|
+
self.set_section_value(3, valor)
|
|
298
|
+
end
|
|
299
|
+
|
|
300
|
+
def set_conta_corrente valor = ""
|
|
301
|
+
self.set_section_value(4, valor)
|
|
302
|
+
end
|
|
303
|
+
|
|
304
|
+
def set_id_empresa valor
|
|
155
305
|
self.set_section_value(4, valor)
|
|
156
306
|
end
|
|
157
307
|
|
|
158
|
-
def
|
|
308
|
+
def set_dv_conta_corrente valor = ""
|
|
309
|
+
self.set_section_value(5, valor)
|
|
310
|
+
end
|
|
311
|
+
|
|
312
|
+
def set_controle_participante valor
|
|
159
313
|
self.set_section_value(5, valor)
|
|
160
314
|
end
|
|
161
315
|
|
|
162
|
-
def
|
|
316
|
+
def set_identificacao_empresa valor = ""
|
|
163
317
|
self.set_section_value(6, valor)
|
|
164
318
|
end
|
|
165
319
|
|
|
166
|
-
def
|
|
320
|
+
def set_zeros_2 valor
|
|
321
|
+
self.set_section_value(6, valor)
|
|
322
|
+
end
|
|
323
|
+
|
|
324
|
+
def set_nosso_numero valor = ""
|
|
167
325
|
self.set_section_value(7, valor)
|
|
168
326
|
end
|
|
169
327
|
|
|
170
|
-
def
|
|
328
|
+
def set_id_titulo valor
|
|
329
|
+
self.set_section_value(7, valor)
|
|
330
|
+
end
|
|
331
|
+
|
|
332
|
+
def set_codigo_banco_debitado valor = ""
|
|
333
|
+
self.set_section_value(8, valor)
|
|
334
|
+
end
|
|
335
|
+
|
|
336
|
+
def set_zeros_3 valor
|
|
171
337
|
self.set_section_value(8, valor)
|
|
172
338
|
end
|
|
173
339
|
|
|
174
|
-
def
|
|
340
|
+
def set_campo_multa valor = "0"
|
|
341
|
+
self.set_section_value(9, valor)
|
|
342
|
+
end
|
|
343
|
+
|
|
344
|
+
def set_zeros_4 valor
|
|
175
345
|
self.set_section_value(9, valor)
|
|
176
346
|
end
|
|
177
347
|
|
|
178
|
-
def
|
|
348
|
+
def set_percentual_multa valor = "0"
|
|
349
|
+
self.set_section_value(10, valor)
|
|
350
|
+
end
|
|
351
|
+
|
|
352
|
+
def set_percentual_multa valor = "0"
|
|
353
|
+
self.set_section_value(10, valor)
|
|
354
|
+
end
|
|
355
|
+
|
|
356
|
+
def set_indicador_rateio_retorno valor
|
|
179
357
|
self.set_section_value(10, valor)
|
|
180
358
|
end
|
|
181
359
|
|
|
182
|
-
def
|
|
360
|
+
def set_identificacao_titulo valor = "0"
|
|
361
|
+
self.set_section_value(11, valor)
|
|
362
|
+
end
|
|
363
|
+
|
|
364
|
+
def set_zeros_5 valor
|
|
365
|
+
self.set_section_value(11, valor)
|
|
366
|
+
end
|
|
367
|
+
|
|
368
|
+
def set_digito_conferencia valor = "0"
|
|
369
|
+
self.set_section_value(12, valor)
|
|
370
|
+
end
|
|
371
|
+
|
|
372
|
+
def set_carteira_retorno valor
|
|
373
|
+
self.set_section_value(12, valor)
|
|
374
|
+
end
|
|
375
|
+
|
|
376
|
+
def set_desconto_bonificacao valor = "0"
|
|
377
|
+
self.set_section_value(13, valor)
|
|
378
|
+
end
|
|
379
|
+
|
|
380
|
+
def set_ocorrencia_retorno valor
|
|
381
|
+
self.set_section_value(13, valor)
|
|
382
|
+
end
|
|
383
|
+
|
|
384
|
+
def set_condicao_emissao valor
|
|
385
|
+
self.set_section_value(14, valor)
|
|
386
|
+
end
|
|
387
|
+
|
|
388
|
+
def set_data_ocorrencia valor
|
|
389
|
+
self.set_section_value(14, valor)
|
|
390
|
+
end
|
|
391
|
+
|
|
392
|
+
def set_id_boleto_debito valor = " "
|
|
393
|
+
self.set_section_value(15, valor)
|
|
394
|
+
end
|
|
395
|
+
|
|
396
|
+
def set_numero_documento_retorno valor
|
|
397
|
+
self.set_section_value(15, valor)
|
|
398
|
+
end
|
|
399
|
+
|
|
400
|
+
def set_reservado_1 valor = " "
|
|
401
|
+
self.set_section_value(16, valor)
|
|
402
|
+
end
|
|
403
|
+
|
|
404
|
+
def set_id_titulo valor
|
|
405
|
+
self.set_section_value(16, valor)
|
|
406
|
+
end
|
|
407
|
+
|
|
408
|
+
def set_indicador_rateio valor = ""
|
|
409
|
+
self.set_section_value(17, valor)
|
|
410
|
+
end
|
|
411
|
+
|
|
412
|
+
def set_data_titulo valor = ""
|
|
413
|
+
self.set_section_value(17, valor)
|
|
414
|
+
end
|
|
415
|
+
|
|
416
|
+
def set_enderecamento valor = ""
|
|
417
|
+
self.set_section_value(18, valor)
|
|
418
|
+
end
|
|
419
|
+
|
|
420
|
+
def set_valor_titulo_retorno valor
|
|
421
|
+
self.set_section_value(18, valor)
|
|
422
|
+
end
|
|
423
|
+
|
|
424
|
+
def set_reservado_2 valor = " "
|
|
425
|
+
self.set_section_value(19, valor)
|
|
426
|
+
end
|
|
427
|
+
|
|
428
|
+
def set_banco_cobrador_retorno valor
|
|
429
|
+
self.set_section_value(19, valor)
|
|
430
|
+
end
|
|
431
|
+
|
|
432
|
+
def set_indicador_ocorrencia valor
|
|
433
|
+
self.set_section_value(20, valor)
|
|
434
|
+
end
|
|
435
|
+
|
|
436
|
+
def set_agencia_cobradora valor
|
|
437
|
+
self.set_section_value(20, valor)
|
|
438
|
+
end
|
|
439
|
+
|
|
440
|
+
def set_numero_documento valor = ""
|
|
441
|
+
self.set_section_value(21, valor)
|
|
442
|
+
end
|
|
443
|
+
|
|
444
|
+
def set_especie_titulo_retorno valor
|
|
445
|
+
self.set_section_value(21, valor)
|
|
446
|
+
end
|
|
447
|
+
|
|
448
|
+
def set_vencimento_titulo valor
|
|
183
449
|
begin
|
|
184
450
|
valor = Date.strptime(valor, "%d%m%Y") if valor.is_a?(String)
|
|
185
451
|
real_data = valor.strftime("%d%m%y")
|
|
186
452
|
|
|
187
453
|
if real_data.length == 6
|
|
188
|
-
self.set_section_value(
|
|
454
|
+
self.set_section_value(22, real_data)
|
|
189
455
|
else
|
|
190
456
|
raise "tamanho de data incorreto"
|
|
191
457
|
end
|
|
192
458
|
|
|
193
459
|
rescue
|
|
194
|
-
raise "#{get_id}: Data
|
|
460
|
+
raise "#{get_id}: Data de Geração Inválida
|
|
195
461
|
Valor: #{valor}"
|
|
196
462
|
end
|
|
197
463
|
end
|
|
198
464
|
|
|
199
|
-
def
|
|
200
|
-
self.set_section_value(
|
|
465
|
+
def set_despesas valor
|
|
466
|
+
self.set_section_value(22, valor)
|
|
467
|
+
end
|
|
468
|
+
|
|
469
|
+
def set_valor_titulo valor
|
|
470
|
+
self.set_section_value(23, valor)
|
|
471
|
+
end
|
|
472
|
+
|
|
473
|
+
def set_outras_despesas valor
|
|
474
|
+
self.set_section_value(23, valor)
|
|
475
|
+
end
|
|
476
|
+
|
|
477
|
+
def set_banco_cobrador valor = "0"
|
|
478
|
+
self.set_section_value(24, valor)
|
|
201
479
|
end
|
|
202
480
|
|
|
203
|
-
def
|
|
481
|
+
def set_juros valor
|
|
482
|
+
self.set_section_value(24, valor)
|
|
483
|
+
end
|
|
484
|
+
|
|
485
|
+
def set_agencia_depositaria valor = "0"
|
|
486
|
+
self.set_section_value(25, valor)
|
|
487
|
+
end
|
|
488
|
+
|
|
489
|
+
def set_iof valor
|
|
490
|
+
self.set_section_value(25, valor)
|
|
491
|
+
end
|
|
492
|
+
|
|
493
|
+
def set_especie_titulo valor = ""
|
|
494
|
+
self.set_section_value(26, valor)
|
|
495
|
+
end
|
|
496
|
+
|
|
497
|
+
def set_abatimento_concedido valor = ""
|
|
498
|
+
self.set_section_value(26, valor)
|
|
499
|
+
end
|
|
500
|
+
|
|
501
|
+
def set_identificacao valor = ""
|
|
502
|
+
self.set_section_value(27, valor)
|
|
503
|
+
end
|
|
504
|
+
|
|
505
|
+
def set_desconto_concedido valor = ""
|
|
506
|
+
self.set_section_value(27, valor)
|
|
507
|
+
end
|
|
508
|
+
|
|
509
|
+
def set_data_emissao_titulo valor
|
|
204
510
|
begin
|
|
205
511
|
valor = Date.strptime(valor, "%d%m%Y") if valor.is_a?(String)
|
|
206
512
|
real_data = valor.strftime("%d%m%y")
|
|
207
513
|
|
|
208
514
|
if real_data.length == 6
|
|
209
|
-
self.set_section_value(
|
|
515
|
+
self.set_section_value(28, real_data)
|
|
210
516
|
else
|
|
211
517
|
raise "tamanho de data incorreto"
|
|
212
518
|
end
|
|
213
519
|
|
|
214
520
|
rescue
|
|
215
|
-
raise "#{get_id}: Data de
|
|
521
|
+
raise "#{get_id}: Data de Geração Inválida
|
|
216
522
|
Valor: #{valor}"
|
|
217
523
|
end
|
|
218
524
|
end
|
|
219
525
|
|
|
220
|
-
def
|
|
221
|
-
self.set_section_value(
|
|
526
|
+
def set_valor_pago valor = ""
|
|
527
|
+
self.set_section_value(28, valor)
|
|
222
528
|
end
|
|
223
529
|
|
|
224
|
-
def
|
|
225
|
-
self.set_section_value(
|
|
530
|
+
def set_1_instrucao valor = "0"
|
|
531
|
+
self.set_section_value(29, valor)
|
|
226
532
|
end
|
|
227
533
|
|
|
228
|
-
def
|
|
229
|
-
self.set_section_value(
|
|
534
|
+
def set_juros_mora valor
|
|
535
|
+
self.set_section_value(29, valor)
|
|
230
536
|
end
|
|
231
537
|
|
|
232
|
-
def
|
|
233
|
-
self.set_section_value(
|
|
538
|
+
def set_2_instrucao valor = "0"
|
|
539
|
+
self.set_section_value(30, valor)
|
|
540
|
+
end
|
|
541
|
+
|
|
542
|
+
def set_outros_creditos valor
|
|
543
|
+
self.set_section_value(30, valor)
|
|
234
544
|
end
|
|
235
545
|
|
|
546
|
+
def set_valor_por_atraso valor = "0"
|
|
547
|
+
self.set_section_value(31, valor)
|
|
548
|
+
end
|
|
236
549
|
|
|
237
|
-
def
|
|
238
|
-
self.set_section_value(
|
|
550
|
+
def set_brancos_1 valor
|
|
551
|
+
self.set_section_value(31, valor)
|
|
239
552
|
end
|
|
240
553
|
|
|
241
|
-
def
|
|
242
|
-
|
|
554
|
+
def set_data_limite_desconto valor = ""
|
|
555
|
+
begin
|
|
556
|
+
valor = Date.strptime(valor, "%d%m%Y") if valor.is_a?(String)
|
|
557
|
+
real_data = valor.strftime("%d%m%y")
|
|
558
|
+
|
|
559
|
+
if real_data.length == 6
|
|
560
|
+
self.set_section_value(32, real_data)
|
|
561
|
+
else
|
|
562
|
+
raise "tamanho de data incorreto"
|
|
563
|
+
end
|
|
564
|
+
|
|
565
|
+
rescue
|
|
566
|
+
raise "#{get_id}: Data de Geração Inválida
|
|
567
|
+
Valor: #{valor}"
|
|
568
|
+
end
|
|
243
569
|
end
|
|
244
570
|
|
|
245
|
-
def
|
|
246
|
-
self.set_section_value(
|
|
571
|
+
def set_motivo_ocorrencia valor
|
|
572
|
+
self.set_section_value(32, valor)
|
|
247
573
|
end
|
|
248
574
|
|
|
249
|
-
def
|
|
250
|
-
self.set_section_value(
|
|
575
|
+
def set_valor_desconto valor = "0"
|
|
576
|
+
self.set_section_value(33, valor)
|
|
251
577
|
end
|
|
252
578
|
|
|
253
|
-
def
|
|
254
|
-
self.set_section_value(
|
|
579
|
+
def set_data_credito valor = ""
|
|
580
|
+
self.set_section_value(33, valor)
|
|
255
581
|
end
|
|
256
582
|
|
|
257
|
-
def
|
|
258
|
-
self.set_section_value(
|
|
583
|
+
def set_valor_iof valor = "0"
|
|
584
|
+
self.set_section_value(34, valor)
|
|
259
585
|
end
|
|
260
586
|
|
|
261
|
-
def
|
|
262
|
-
self.set_section_value(
|
|
587
|
+
def set_origem_pagamento valor = ""
|
|
588
|
+
self.set_section_value(34, valor)
|
|
263
589
|
end
|
|
264
590
|
|
|
265
|
-
def
|
|
266
|
-
self.set_section_value(
|
|
591
|
+
def set_valor_abatimento valor
|
|
592
|
+
self.set_section_value(35, valor)
|
|
267
593
|
end
|
|
268
594
|
|
|
269
|
-
def
|
|
270
|
-
self.set_section_value(
|
|
595
|
+
def set_brancos_2 valor
|
|
596
|
+
self.set_section_value(35, valor)
|
|
271
597
|
end
|
|
272
598
|
|
|
273
|
-
def
|
|
274
|
-
self.set_section_value(
|
|
599
|
+
def set_id_inscricao_sacado valor = ""
|
|
600
|
+
self.set_section_value(36, valor)
|
|
275
601
|
end
|
|
602
|
+
|
|
603
|
+
def set_codigo_banco_retorno valor = ""
|
|
604
|
+
self.set_section_value(36, valor)
|
|
605
|
+
end
|
|
606
|
+
|
|
607
|
+
def set_numero_inscricao_sacado valor = ""
|
|
608
|
+
self.set_section_value(37, valor)
|
|
609
|
+
end
|
|
610
|
+
|
|
611
|
+
def set_motivo_rejeicoes valor = ""
|
|
612
|
+
self.set_section_value(37, valor)
|
|
613
|
+
end
|
|
614
|
+
|
|
615
|
+
def set_nome_sacado valor = ""
|
|
616
|
+
self.set_section_value(38, valor)
|
|
617
|
+
end
|
|
618
|
+
|
|
619
|
+
def set_brancos_3 valor = ""
|
|
620
|
+
self.set_section_value(38, valor)
|
|
621
|
+
end
|
|
622
|
+
|
|
623
|
+
def set_endereco valor = ""
|
|
624
|
+
self.set_section_value(39, valor)
|
|
625
|
+
end
|
|
626
|
+
|
|
627
|
+
def set_numero_cartorio valor = ""
|
|
628
|
+
self.set_section_value(39, valor)
|
|
629
|
+
end
|
|
630
|
+
|
|
631
|
+
def set_1_mensagem valor = ""
|
|
632
|
+
self.set_section_value(40, valor)
|
|
633
|
+
end
|
|
634
|
+
|
|
635
|
+
def set_numero_protocolo valor = ""
|
|
636
|
+
self.set_section_value(40, valor)
|
|
637
|
+
end
|
|
638
|
+
|
|
639
|
+
def set_cep valor = ""
|
|
640
|
+
self.set_section_value(41, valor)
|
|
641
|
+
end
|
|
642
|
+
|
|
643
|
+
def set_brancos_4 valor = ""
|
|
644
|
+
self.set_section_value(41, valor)
|
|
645
|
+
end
|
|
646
|
+
|
|
647
|
+
def set_2_mensagem valor = ""
|
|
648
|
+
self.set_section_value(42, valor)
|
|
649
|
+
end
|
|
650
|
+
|
|
651
|
+
def set_sequencial_retorno valor = ""
|
|
652
|
+
self.set_section_value(42, valor)
|
|
653
|
+
end
|
|
654
|
+
|
|
655
|
+
def set_sequencial valor = ""
|
|
656
|
+
self.set_section_value(43, valor)
|
|
657
|
+
end
|
|
658
|
+
|
|
276
659
|
end
|