formatos-febraban 0.3.45 → 0.3.47
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/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
|
+
|