formatos-febraban 0.3.45 → 0.3.47
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/formatos/cielo/cielo.rb +1 -1
- data/lib/formatos/cielo/cielo_detalhe.rb +4 -0
- data/lib/formatos/cnab400/cnab_400.rb +150 -40
- data/lib/formatos/cnab400/cnab_400_0.rb +108 -127
- data/lib/formatos/cnab400/cnab_400_1.rb +443 -0
- data/lib/formatos/cnab400/cnab_400_2.rb +188 -0
- data/lib/formatos/cnab400/cnab_400_3.rb +194 -0
- data/lib/formatos/cnab400/cnab_400_7.rb +194 -0
- data/lib/formatos/cnab400/cnab_400_9.rb +55 -0
- data/lib/formatos/febraban/version.rb +1 -1
- data/lib/formatos/febraban150/febraban_150.rb +9 -5
- 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: e5e1d25d5e13fa8592863452305082b1400c29be
|
4
|
+
data.tar.gz: ab52a53391c7d3191c6ca0fbd1938e8acbcae411
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: accbc1fa02460e1f28dda23487526324bf63238794fdd9895f566016b89c09f4d2a5ae18592ad5909bc58caac57c31684a6713f38b1998abf26c684b4f1cab33
|
7
|
+
data.tar.gz: 6de5dbf219fd232793654823d454d910fbfaf59cb327968d0bc98d4dae92a6e1bfc528683e4b068020706307cd320cdd19815d0118afcc0ab7ac7051c552a20b
|
data/lib/formatos/cielo/cielo.rb
CHANGED
@@ -98,7 +98,7 @@ class Cielo
|
|
98
98
|
section.set_reservado_3
|
99
99
|
section.set_valor_parcela
|
100
100
|
section.set_reservado_4
|
101
|
-
section.set_reservado_5
|
101
|
+
section.set_reservado_5 params[:reservado]
|
102
102
|
section.set_status_venda
|
103
103
|
section.set_data_liquidacao
|
104
104
|
section.set_reservado_6
|
@@ -2,25 +2,23 @@
|
|
2
2
|
class Cnab400
|
3
3
|
require 'date'
|
4
4
|
|
5
|
-
VERSAO = "05"
|
6
|
-
|
7
5
|
# Carrega todas as dependências de Layout
|
8
6
|
Dir[File.join(File.dirname(__FILE__), '../..', 'base', '**/*.rb')].sort.each do |file|
|
9
7
|
require file
|
10
8
|
end
|
11
9
|
|
12
10
|
# Partes do Layout
|
13
|
-
require_relative 'cnab_400_0'
|
14
|
-
require_relative 'cnab_400_1'
|
15
|
-
require_relative 'cnab_400_2'
|
16
|
-
require_relative 'cnab_400_3'
|
17
|
-
require_relative 'cnab_400_7'
|
18
|
-
require_relative 'cnab_400_9'
|
11
|
+
require_relative 'cnab_400_0' # Header
|
12
|
+
require_relative 'cnab_400_1' # Transação
|
13
|
+
require_relative 'cnab_400_2' # Mensagem (Opcional)
|
14
|
+
require_relative 'cnab_400_3' # Rateio de Crétido (Opcional)
|
15
|
+
require_relative 'cnab_400_7' # Dados do Sacador Avalista (Opcional)
|
16
|
+
require_relative 'cnab_400_9' # Trailler
|
19
17
|
|
20
18
|
#-------------------------------------------------------------------
|
21
19
|
#-------------------------------------------------------------------
|
22
20
|
# Construtor
|
23
|
-
def initialize file =
|
21
|
+
def initialize file = ''
|
24
22
|
@sections = []
|
25
23
|
|
26
24
|
if file.length > 0
|
@@ -57,51 +55,144 @@ class Cnab400
|
|
57
55
|
public
|
58
56
|
|
59
57
|
# Seção 0
|
60
|
-
def create_header(
|
61
|
-
|
58
|
+
def create_header(codigo_empresa, nome_empresa, codigo_banco,
|
59
|
+
nome_banco, data_geracao, numero_sequencial)
|
62
60
|
|
63
61
|
if self.get_header.nil?
|
64
|
-
section = self.get_new_section(
|
62
|
+
section = self.get_new_section('0')
|
63
|
+
|
64
|
+
section.set_id_registro ('0')
|
65
|
+
section.set_codigo_remessa ('1')
|
66
|
+
section.set_literal ('REMESSA')
|
67
|
+
section.set_codigo_servico ('01')
|
68
|
+
section.set_servico ('COBRANCA')
|
69
|
+
section.set_codigo_empresa (codigo_empresa)
|
70
|
+
section.set_nome_empresa (nome_empresa)
|
71
|
+
section.set_codigo_banco (codigo_banco)
|
72
|
+
section.set_nome_banco (nome_banco)
|
73
|
+
section.set_data_geracao (data_geracao)
|
74
|
+
section.set_branco_1 ('')
|
75
|
+
section.set_id_sistema ('MX')
|
76
|
+
section.set_seq_arquivo (numero_sequencial)
|
77
|
+
section.set_branco_2 ('')
|
78
|
+
section.set_seq_registro ('1')
|
79
|
+
|
80
|
+
self.add_section_from_business(section)
|
65
81
|
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
section.set_nome_banco nome_banco
|
71
|
-
section.set_data_geracao Time.new
|
72
|
-
section.set_numero_sequencial numero_sequencial
|
73
|
-
section.set_versao_layout Febraban150::VERSAO
|
74
|
-
section.set_identificacao_servico Febraban150A::ID_SERVICO
|
75
|
-
section.set_reservado ""
|
82
|
+
else
|
83
|
+
raise 'Header já declarado!'
|
84
|
+
end
|
85
|
+
end
|
76
86
|
|
77
|
-
|
87
|
+
# Seção 1
|
88
|
+
def create_transacao(agencia_debito, razao_conta, conta_corrente,
|
89
|
+
codigo_empresa, id_cliente_empresa, codigo_banco,
|
90
|
+
existe_multa, percent_multa, codigo_barras,
|
91
|
+
digito_conferencia, desconto_dia, condicao_emissao)
|
92
|
+
|
93
|
+
if self.get_header
|
94
|
+
section = self.get_new_section('1')
|
95
|
+
|
96
|
+
section.set_agencia_debito (agencia_debito)
|
97
|
+
section.set_razao_conta (razao_conta)
|
98
|
+
section.set_conta_corrente (conta_corrente)
|
99
|
+
section.set_codigo_empresa (codigo_empresa)
|
100
|
+
section.set_numero_controle (id_cliente_empresa)
|
101
|
+
section.set_codigo_banco (codigo_banco)
|
102
|
+
section.set_multa (existe_multa)
|
103
|
+
section.set_percent_multa (percent_multa)
|
104
|
+
section.set_id_titulo (codigo_barras)
|
105
|
+
section.set_digito_conferencia (digito_conferencia)
|
106
|
+
section.set_desconto_dia (desconto_dia)
|
107
|
+
section.set_condicao_emissao (condicao_emissao)
|
108
|
+
section.set_emite_boleto (file[94, 94])
|
109
|
+
section.set_id_operacao (file[95, 104])
|
110
|
+
section.set_indicador_rateio (file[105, 105])
|
111
|
+
section.set_enderecamento (file[106, 106])
|
112
|
+
section.set_branco (file[107, 108])
|
113
|
+
section.set_id_ocorrencia (file[109, 110])
|
114
|
+
section.set_numero_documento (file[111, 120])
|
115
|
+
section.set_data_vencimento (file[121, 126])
|
116
|
+
section.set_valor (file[127, 139])
|
117
|
+
section.set_banco_cobranca (file[140, 152])
|
118
|
+
section.set_agencia_depositaria (file[143, 147])
|
119
|
+
section.set_especie_titulo (file[148, 149])
|
120
|
+
section.set_data_emissao (file[151, 156])
|
121
|
+
section.set_primeira_instrucao (file[157, 158])
|
122
|
+
section.set_segunda_instrucao (file[159, 160])
|
123
|
+
section.set_valor_dia_atraso (file[161, 173])
|
124
|
+
section.set_data_limite_concessao (file[174, 179])
|
125
|
+
section.set_valor_desconto (file[180, 192])
|
126
|
+
section.set_valor_iof (file[193, 205])
|
127
|
+
section.set_valor_abatimento (file[206, 218])
|
128
|
+
section.set_tipo_inscricao (file[219, 220])
|
129
|
+
section.set_numero_inscricao (file[221, 234])
|
130
|
+
section.set_nome_sacado (file[235, 274])
|
131
|
+
section.set_endereco_sacado (file[235, 314])
|
132
|
+
section.set_primeira_mensagem (file[315, 326])
|
133
|
+
section.set_cep (file[317, 334])
|
134
|
+
section.set_sacador_avalista (file[335, 394])
|
135
|
+
section.set_seq_registro (file[395, 400])
|
136
|
+
|
137
|
+
self.add_section_from_business(section)
|
78
138
|
|
79
139
|
else
|
80
|
-
raise
|
140
|
+
raise 'Header não declarado!'
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|
144
|
+
# Seção 9
|
145
|
+
def create_trailler(numero_sequencial)
|
146
|
+
|
147
|
+
if self.get_header
|
148
|
+
if self.get_trailler.nil?
|
149
|
+
section = self.get_new_section('9')
|
150
|
+
|
151
|
+
section.set_id_registro ('9')
|
152
|
+
section.set_branco ('')
|
153
|
+
section.set_seq_registro (numero_sequencial)
|
154
|
+
|
155
|
+
self.add_section_from_business(section)
|
156
|
+
|
157
|
+
else
|
158
|
+
raise 'Trailler já declarado!'
|
159
|
+
end
|
160
|
+
|
161
|
+
else
|
162
|
+
raise 'Header não declarado!'
|
81
163
|
end
|
82
164
|
end
|
83
165
|
|
84
166
|
#-------------------------------------------------------------------
|
85
167
|
#-------------------------------------------------------------------
|
86
|
-
#
|
87
|
-
|
88
|
-
def
|
89
|
-
|
168
|
+
# Getters
|
169
|
+
public
|
170
|
+
def sections
|
171
|
+
@sections.to_a
|
90
172
|
end
|
91
173
|
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
raise "Layout de Empresa inválido!" unless self.is_empresa_valid?
|
174
|
+
def has_section section
|
175
|
+
self.get_section(section).length > 0
|
176
|
+
end
|
96
177
|
|
97
|
-
|
98
|
-
|
178
|
+
def get_section section
|
179
|
+
self.sections.select {|c| c.is_section?(section) == true }
|
180
|
+
end
|
99
181
|
|
100
|
-
|
101
|
-
|
102
|
-
|
182
|
+
def is_sections_valid?
|
183
|
+
self.sections.select {|b| b.is_valid? == false }.length == 0
|
184
|
+
end
|
185
|
+
|
186
|
+
def to_s
|
187
|
+
self.sections.map {|a| a.to_s}.join("\r\n")
|
188
|
+
end
|
103
189
|
|
104
|
-
|
190
|
+
def get_header
|
191
|
+
self.get_section('0').first()
|
192
|
+
end
|
193
|
+
|
194
|
+
def get_trailler
|
195
|
+
self.get_section('9').first()
|
105
196
|
end
|
106
197
|
|
107
198
|
#-------------------------------------------------------------------
|
@@ -113,8 +204,8 @@ class Cnab400
|
|
113
204
|
"CD#{data_geracao.day}#{data_geracao.month}00.REM"
|
114
205
|
end
|
115
206
|
|
116
|
-
|
117
|
-
|
207
|
+
#-------------------------------------------------------------------
|
208
|
+
#-------------------------------------------------------------------
|
118
209
|
# Carregamento de Arquivo
|
119
210
|
protected
|
120
211
|
def get_new_section section_type
|
@@ -133,4 +224,23 @@ class Cnab400
|
|
133
224
|
Cnab4009.new(self)
|
134
225
|
end
|
135
226
|
end
|
227
|
+
|
228
|
+
def process_file location
|
229
|
+
file = File.new(location, 'r')
|
230
|
+
|
231
|
+
while (line = file.gets)
|
232
|
+
process_string line
|
233
|
+
end
|
234
|
+
|
235
|
+
file.close
|
236
|
+
end
|
237
|
+
|
238
|
+
def process_string file
|
239
|
+
section_type = file[0,1]
|
240
|
+
|
241
|
+
section = get_new_section(section_type)
|
242
|
+
section.process_section(file)
|
243
|
+
|
244
|
+
self.add_section section
|
245
|
+
end
|
136
246
|
end
|
@@ -5,134 +5,122 @@
|
|
5
5
|
class Cnab4000 < FormatSection
|
6
6
|
require 'date'
|
7
7
|
|
8
|
-
ID_SERVICO = "DÉBITO AUTOMÁTICO"
|
9
|
-
|
10
8
|
def initialize master
|
11
9
|
super(master, true, true, false)
|
12
10
|
|
13
11
|
@section = Section.new({
|
14
|
-
0 => Position.new(1, 1,
|
15
|
-
1 => Position.new(2, 1, true),
|
16
|
-
2 => Position.new(3,
|
17
|
-
3 => Position.new(4,
|
18
|
-
4 => Position.new(5,
|
19
|
-
5 => Position.new(6, 20,
|
20
|
-
6 => Position.new(7,
|
21
|
-
7 => Position.new(8,
|
22
|
-
8 => Position.new(9,
|
23
|
-
9 => Position.new(10,
|
24
|
-
10 => Position.new(11,
|
12
|
+
0 => Position.new(1, 1, true, '0', true), # Identificação do Registro
|
13
|
+
1 => Position.new(2, 1, true, '1'), # Código Remessa (1-Remessa, 2-Retorno)
|
14
|
+
2 => Position.new(3, 7, false,'REMESSA'), # Literal Remessa
|
15
|
+
3 => Position.new(4, 2, true, '01'), # Código do Serviço
|
16
|
+
4 => Position.new(5, 15, false,'COBRANCA'), # Literal Serviço
|
17
|
+
5 => Position.new(6, 20, true), # Código da Empresa
|
18
|
+
6 => Position.new(7, 30, false), # Nome da Empresa
|
19
|
+
7 => Position.new(8, 3, true), # Código do Banco
|
20
|
+
8 => Position.new(9, 15, false, 'BRADESCO'), # Nome do Banco
|
21
|
+
9 => Position.new(10, 6, true), # Data de Geração de Arquivo
|
22
|
+
10 => Position.new(11, 8, false), # Brancos
|
23
|
+
11 => Position.new(12, 2, false), # Identificação do Sistema
|
24
|
+
12 => Position.new(13, 7, true), # Número Sequencial do Arquivo
|
25
|
+
13 => Position.new(14, 277, false), # Brancos
|
26
|
+
14 => Position.new(15, 6, true, '1'), # Sequencial de Regsitro
|
25
27
|
})
|
26
28
|
end
|
27
29
|
|
28
30
|
#-------------------------------------------------------------------
|
29
31
|
#-------------------------------------------------------------------
|
30
32
|
# Gerais
|
31
|
-
def process_section
|
32
|
-
self.
|
33
|
-
self.
|
34
|
-
self.
|
35
|
-
self.
|
36
|
-
self.
|
37
|
-
self.
|
38
|
-
self.
|
39
|
-
self.
|
40
|
-
self.
|
41
|
-
self.
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
def is_valid?
|
48
|
-
result = (self.get_codigo_remessa > 0 and
|
49
|
-
self.get_codigo_convenio.length > 0 and
|
50
|
-
self.get_nome_empresa.length > 0 and
|
51
|
-
self.get_codigo_banco > 0 and
|
52
|
-
self.get_nome_banco.length > 0 and
|
53
|
-
!self.get_data_geracao.nil? and
|
54
|
-
self.get_numero_sequencial > 0 and
|
55
|
-
self.get_versao_layout > 0 and
|
56
|
-
self.get_identificacao_servico.length > 0)
|
33
|
+
def process_section(file)
|
34
|
+
self.set_id_registro (file[1..1])
|
35
|
+
self.set_codigo_remessa (file[2..2])
|
36
|
+
self.set_literal (file[3..9])
|
37
|
+
self.set_codigo_servico (file[10..11])
|
38
|
+
self.set_servico (file[12..26])
|
39
|
+
self.set_codigo_empresa (file[27..46])
|
40
|
+
self.set_nome_empresa (file[47..76])
|
41
|
+
self.set_codigo_banco (file[77..79])
|
42
|
+
self.set_nome_banco (file[80..94])
|
43
|
+
self.set_data_geracao (file[95..100])
|
44
|
+
self.set_branco_1 (file[101..108])
|
45
|
+
self.set_id_sistema (file[109..110])
|
46
|
+
self.set_seq_arquivo (file[111..117])
|
47
|
+
self.set_branco_2 (file[118..394])
|
48
|
+
self.set_seq_registro (file[395..400])
|
57
49
|
end
|
58
50
|
|
59
51
|
#-------------------------------------------------------------------
|
60
52
|
#-------------------------------------------------------------------
|
61
|
-
#
|
62
|
-
def
|
63
|
-
|
64
|
-
end
|
65
|
-
|
66
|
-
def get_codigo_convenio
|
67
|
-
self.get_section_value(2)
|
68
|
-
end
|
53
|
+
# Setters
|
54
|
+
def set_id_registro code
|
55
|
+
code = code.to_i
|
69
56
|
|
70
|
-
|
71
|
-
|
57
|
+
unless code
|
58
|
+
self.set_section_value(0, code)
|
59
|
+
else
|
60
|
+
raise
|
61
|
+
end
|
72
62
|
end
|
73
63
|
|
74
|
-
def
|
75
|
-
|
76
|
-
end
|
64
|
+
def set_codigo_remessa code
|
65
|
+
code = code.to_s
|
77
66
|
|
78
|
-
|
79
|
-
|
67
|
+
if code.length >= 1
|
68
|
+
self.set_section_value(1, code)
|
69
|
+
else
|
70
|
+
raise
|
71
|
+
end
|
80
72
|
end
|
81
73
|
|
82
|
-
def
|
83
|
-
|
84
|
-
Date.new(data[0..3].to_i, data[4..5].to_i, data[6..7].to_i)
|
85
|
-
end
|
74
|
+
def set_literal literal
|
75
|
+
nome = literal.to_s
|
86
76
|
|
87
|
-
|
88
|
-
|
77
|
+
if nome.to_s.length > 0
|
78
|
+
self.set_section_value(2, nome)
|
79
|
+
else
|
80
|
+
raise
|
81
|
+
end
|
89
82
|
end
|
90
83
|
|
91
|
-
def
|
92
|
-
|
93
|
-
end
|
84
|
+
def set_codigo_servico codigo
|
85
|
+
codigo = codigo.to_i
|
94
86
|
|
95
|
-
|
96
|
-
|
87
|
+
if codigo > 0
|
88
|
+
self.set_section_value(3, codigo)
|
89
|
+
else
|
90
|
+
raise
|
91
|
+
end
|
97
92
|
end
|
98
93
|
|
99
|
-
|
100
|
-
|
101
|
-
# Setters
|
102
|
-
def set_codigo_remessa code
|
103
|
-
code = code.to_i
|
94
|
+
def set_servico nome
|
95
|
+
nome = nome.to_s
|
104
96
|
|
105
|
-
if
|
106
|
-
self.set_section_value(
|
97
|
+
if nome.to_s.length > 0
|
98
|
+
self.set_section_value(4, nome)
|
107
99
|
else
|
108
|
-
raise
|
109
|
-
2 = Retorno - Enviado pelo Banco para a Empresa
|
110
|
-
Valor: #{code}"
|
100
|
+
raise
|
111
101
|
end
|
112
102
|
end
|
113
103
|
|
114
|
-
def
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
104
|
+
def set_codigo_empresa codigo
|
105
|
+
begin
|
106
|
+
if codigo.length == 20
|
107
|
+
self.set_section_value(5, codigo)
|
108
|
+
else
|
109
|
+
raise
|
110
|
+
end
|
119
111
|
|
120
|
-
|
121
|
-
|
122
|
-
raise "#{get_id}: Código atribuído pelo Banco, para seu controle interno.
|
123
|
-
Este código será informado à Empresa, pelo Banco, antes
|
124
|
-
da implantação do serviço de débito automático.
|
125
|
-
Valor: #{code}"
|
112
|
+
rescue
|
113
|
+
raise
|
126
114
|
end
|
127
115
|
end
|
128
116
|
|
129
117
|
def set_nome_empresa nome
|
130
118
|
nome = nome.to_s
|
131
119
|
|
132
|
-
if nome
|
133
|
-
self.set_section_value(
|
120
|
+
if nome
|
121
|
+
self.set_section_value(6, nome)
|
134
122
|
else
|
135
|
-
raise
|
123
|
+
raise
|
136
124
|
end
|
137
125
|
end
|
138
126
|
|
@@ -140,29 +128,29 @@ class Cnab4000 < FormatSection
|
|
140
128
|
codigo = codigo.to_i
|
141
129
|
|
142
130
|
if codigo > 0
|
143
|
-
self.set_section_value(
|
131
|
+
self.set_section_value(7, codigo)
|
144
132
|
else
|
145
|
-
raise
|
133
|
+
raise
|
146
134
|
end
|
147
135
|
end
|
148
136
|
|
149
137
|
def set_nome_banco nome
|
150
138
|
nome = nome.to_s
|
151
139
|
|
152
|
-
if nome.
|
153
|
-
self.set_section_value(
|
140
|
+
if nome.length > 0
|
141
|
+
self.set_section_value(8, nome)
|
154
142
|
else
|
155
|
-
raise
|
143
|
+
raise
|
156
144
|
end
|
157
145
|
end
|
158
146
|
|
159
147
|
def set_data_geracao data
|
160
148
|
begin
|
161
|
-
data = Date.strptime(data, "%
|
162
|
-
real_data = data.strftime(
|
149
|
+
data = Date.strptime(data, "%d%m%y") if data.is_a?(String)
|
150
|
+
real_data = data.strftime('%d%m%y')
|
163
151
|
|
164
|
-
if real_data.length ==
|
165
|
-
self.set_section_value(
|
152
|
+
if real_data.length == 6
|
153
|
+
self.set_section_value(9, real_data)
|
166
154
|
else
|
167
155
|
raise
|
168
156
|
end
|
@@ -173,41 +161,34 @@ class Cnab4000 < FormatSection
|
|
173
161
|
end
|
174
162
|
end
|
175
163
|
|
176
|
-
def
|
177
|
-
|
178
|
-
|
179
|
-
if numero > 0
|
180
|
-
self.set_section_value(7, numero)
|
181
|
-
else
|
182
|
-
raise "#{get_id}: Número Sequencial deve ser positivo e maior que 0
|
183
|
-
Valor: #{numero}"
|
184
|
-
end
|
164
|
+
def set_branco_1 branco
|
165
|
+
branco = branco.to_s
|
166
|
+
self.set_section_value(10, branco)
|
185
167
|
end
|
186
168
|
|
187
|
-
def
|
188
|
-
|
189
|
-
|
190
|
-
if versao > 0
|
191
|
-
self.set_section_value(8, versao)
|
192
|
-
else
|
193
|
-
raise "#{get_id}: Versão deve ser 05 (a partir de 05.05.2008)
|
194
|
-
Valor: #{versao}"
|
195
|
-
end
|
169
|
+
def set_id_sistema id
|
170
|
+
id = id.to_s
|
171
|
+
self.set_section_value(11, id)
|
196
172
|
end
|
197
173
|
|
198
|
-
def
|
199
|
-
|
174
|
+
def set_seq_arquivo sequencial
|
175
|
+
sequencial = sequencial.to_i
|
176
|
+
self.set_section_value(12, sequencial)
|
177
|
+
end
|
200
178
|
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
raise "#{get_id}: Deve ser Débito Automático
|
205
|
-
Valor: #{identificacao}"
|
206
|
-
end
|
179
|
+
def set_branco_2 branco
|
180
|
+
branco = branco.to_s
|
181
|
+
self.set_section_value(13, branco)
|
207
182
|
end
|
208
183
|
|
209
|
-
def
|
210
|
-
|
211
|
-
self.set_section_value(
|
184
|
+
def set_seq_registro sequencial
|
185
|
+
sequencial = sequencial.to_i
|
186
|
+
self.set_section_value(14, sequencial)
|
212
187
|
end
|
213
188
|
end
|
189
|
+
|
190
|
+
|
191
|
+
|
192
|
+
|
193
|
+
|
194
|
+
|