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
@@ -0,0 +1,443 @@
|
|
1
|
+
|
2
|
+
#-------------------------------------------------------------------
|
3
|
+
#-------------------------------------------------------------------
|
4
|
+
# Header - Empresa e Banco
|
5
|
+
class Cnab4001 < FormatSection
|
6
|
+
require 'date'
|
7
|
+
|
8
|
+
def initialize master
|
9
|
+
super(master, true, true, false)
|
10
|
+
|
11
|
+
@section = Section.new({
|
12
|
+
0 => Position.new(1, 1, true, '1', true), # Identificação do Registro
|
13
|
+
1 => Position.new(2, 7, true), # Agência de Débito (opcional)
|
14
|
+
2 => Position.new(8, 12, true), # Razão da Conta Corrente (opcional)
|
15
|
+
3 => Position.new(13, 20, true), # Conta Corrente (opcional)
|
16
|
+
4 => Position.new(21, 37, false), # Identificação da Empresa Cedente no Banco
|
17
|
+
5 => Position.new(38, 62, false), # No Controle do Participante (Empresa)
|
18
|
+
6 => Position.new(63, 65, true), # Código do Banco a ser debitado na Câmara de Compensação
|
19
|
+
7 => Position.new(66, 66, true, '0'), # Campo de Multa (2 = Com multa, 0 = Sem multa)
|
20
|
+
8 => Position.new(67, 70, true), # Percentual de multa
|
21
|
+
9 => Position.new(71, 81, true, '0'), # Identificação do Título no Banco
|
22
|
+
10 => Position.new(82, 82, false, '0'), # Digito de Auto Conferencia do Número Bancário.
|
23
|
+
11 => Position.new(83, 92, true), # Desconto Bonificação por dia
|
24
|
+
12 => Position.new(93, 93, true, '1'), # Condição para Emissão da papeleta de Cobrança 1 = Banco emite e Processa o registro, 2 = Cliente emite e o Banco somente processa o registro
|
25
|
+
13 => Position.new(94, 94, false), # Ident. se emite Boleto Automático
|
26
|
+
14 => Position.new(95, 104, false), # Identificação da Operação do Banco
|
27
|
+
15 => Position.new(105, 105, false), # Indicador Rateio Crédito (Opcional)
|
28
|
+
16 => Position.new(106, 106, true), # Endereçamento para Aviso do Débito Automático em Conta Corrente (Opcional)
|
29
|
+
17 => Position.new(107, 108, false), # Branco
|
30
|
+
18 => Position.new(109, 110, true), # Identificação da Ocorrência
|
31
|
+
19 => Position.new(111, 120, false), # No do Documento
|
32
|
+
20 => Position.new(121, 126, true), # Data do Vencimento do Título
|
33
|
+
21 => Position.new(127, 139, true), # Valor do Título
|
34
|
+
22 => Position.new(140, 152, true, '0'), # Banco Encarregado da Cobrança (Preencher com zeros)
|
35
|
+
23 => Position.new(143, 147, true, '0'), # Agência Depositária (Preencher com zeros)
|
36
|
+
24 => Position.new(148, 149, true), # Espécie de Título: 01-Duplicata, 03-Nota de Seguro, 04-Cobrança Seriada, 05-Recibo, 10-Letras de Câmbio, 11-Nota de Débito, 12-Duplicata de Serv., 99-Outros
|
37
|
+
25 => Position.new(150, 150, false, 'N', true), # Identificação ( Fixo)
|
38
|
+
26 => Position.new(151, 156, true), # Data da emissão do Título
|
39
|
+
27 => Position.new(157, 158, true), # 1a instrução
|
40
|
+
28 => Position.new(159, 160, true), # 2a instrução
|
41
|
+
29 => Position.new(161, 173, true), # Valor a ser cobrado por Dia de Atraso
|
42
|
+
30 => Position.new(174, 179, true), # Data Limite P/Concessão de Desconto
|
43
|
+
31 => Position.new(180, 192, true), # Valor do Desconto
|
44
|
+
32 => Position.new(193, 205, true), # Valor do IOF
|
45
|
+
33 => Position.new(206, 218, true), # Valor Abatimento
|
46
|
+
34 => Position.new(219, 220, true), # 01-CPF, 02-CNPJ, 03-PIS/PASEP, 98-Não tem, 99-Outros,
|
47
|
+
35 => Position.new(221, 234, true), # CNPJ/ CPF
|
48
|
+
36 => Position.new(235, 274, false), # Nome do Sacado
|
49
|
+
37 => Position.new(235, 314, false), # Endereço do Sacado
|
50
|
+
38 => Position.new(315, 326, false), # 1a Mensagem
|
51
|
+
39 => Position.new(317, 334, true), # CEP
|
52
|
+
40 => Position.new(335, 394, false), # Sacador/Avalista ou 2a Mensagem
|
53
|
+
41 => Position.new(395, 400, true), # No Seqüencial do Registro
|
54
|
+
})
|
55
|
+
end
|
56
|
+
|
57
|
+
#-------------------------------------------------------------------
|
58
|
+
#-------------------------------------------------------------------
|
59
|
+
# Gerais
|
60
|
+
def process_section file
|
61
|
+
self.set_id_registro file[1, 1]
|
62
|
+
self.set_agencia_debito file[2, 7]
|
63
|
+
self.set_razao_conta file[8, 12]
|
64
|
+
self.set_conta_corrente file[13, 20]
|
65
|
+
self.set_codigo_empresa file[21, 37]
|
66
|
+
self.set_numero_controle file[38, 62]
|
67
|
+
self.set_codigo_banco file[63, 65]
|
68
|
+
self.set_multa file[66, 66]
|
69
|
+
self.set_percent_multa file[67, 70]
|
70
|
+
self.set_id_titulo file[71, 81]
|
71
|
+
self.set_digito_conferencia file[82, 82]
|
72
|
+
self.set_desconto_dia file[83, 92]
|
73
|
+
self.set_condicao_emissao file[93, 93]
|
74
|
+
self.set_emite_boleto file[94, 94]
|
75
|
+
self.set_id_operacao file[95, 104]
|
76
|
+
self.set_indicador_rateio file[105, 105]
|
77
|
+
self.set_enderecamento file[106, 106]
|
78
|
+
self.set_branco file[107, 108]
|
79
|
+
self.set_id_ocorrencia file[109, 110]
|
80
|
+
self.set_numero_documento file[111, 120]
|
81
|
+
self.set_data_vencimento file[121, 126]
|
82
|
+
self.set_valor file[127, 139]
|
83
|
+
self.set_banco_cobranca file[140, 152]
|
84
|
+
self.set_agencia_depositaria file[143, 147]
|
85
|
+
self.set_especie_titulo file[148, 149]
|
86
|
+
self.set_identificacao file[150, 150]
|
87
|
+
self.set_data_emissao file[151, 156]
|
88
|
+
self.set_primeira_instrucao file[157, 158]
|
89
|
+
self.set_segunda_instrucao file[159, 160]
|
90
|
+
self.set_valor_dia_atraso file[161, 173]
|
91
|
+
self.set_data_limite_concessao file[174, 179]
|
92
|
+
self.set_valor_desconto file[180, 192]
|
93
|
+
self.set_valor_iof file[193, 205]
|
94
|
+
self.set_valor_abatimento file[206, 218]
|
95
|
+
self.set_tipo_inscricao file[219, 220]
|
96
|
+
self.set_numero_inscricao file[221, 234]
|
97
|
+
self.set_nome_sacado file[235, 274]
|
98
|
+
self.set_endereco_sacado file[235, 314]
|
99
|
+
self.set_primeira_mensagem file[315, 326]
|
100
|
+
self.set_cep file[317, 334]
|
101
|
+
self.set_sacador_avalista file[335, 394]
|
102
|
+
self.set_seq_registro file[395, 400]
|
103
|
+
end
|
104
|
+
|
105
|
+
#-------------------------------------------------------------------
|
106
|
+
#-------------------------------------------------------------------
|
107
|
+
# Setters
|
108
|
+
def set_id_registro(valor)
|
109
|
+
unless valor
|
110
|
+
self.set_section_value(0, valor)
|
111
|
+
else
|
112
|
+
raise
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
def set_agencia_debito(valor)
|
117
|
+
unless valor
|
118
|
+
self.set_section_value(1, valor)
|
119
|
+
else
|
120
|
+
raise
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
124
|
+
def set_razao_conta(valor)
|
125
|
+
unless valor
|
126
|
+
self.set_section_value(2, valor)
|
127
|
+
else
|
128
|
+
raise
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
132
|
+
def set_conta_corrente(valor)
|
133
|
+
unless valor
|
134
|
+
self.set_section_value(3, valor)
|
135
|
+
else
|
136
|
+
raise
|
137
|
+
end
|
138
|
+
end
|
139
|
+
|
140
|
+
def set_codigo_empresa(valor)
|
141
|
+
unless valor
|
142
|
+
self.set_section_value(4, valor)
|
143
|
+
else
|
144
|
+
raise
|
145
|
+
end
|
146
|
+
end
|
147
|
+
|
148
|
+
def set_numero_controle(valor)
|
149
|
+
unless valor
|
150
|
+
self.set_section_value(5, valor)
|
151
|
+
else
|
152
|
+
raise
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
def set_codigo_banco(valor)
|
157
|
+
unless valor
|
158
|
+
self.set_section_value(6, valor)
|
159
|
+
else
|
160
|
+
raise
|
161
|
+
end
|
162
|
+
end
|
163
|
+
|
164
|
+
def set_multa(valor)
|
165
|
+
unless valor
|
166
|
+
self.set_section_value(7, valor)
|
167
|
+
else
|
168
|
+
raise
|
169
|
+
end
|
170
|
+
end
|
171
|
+
|
172
|
+
def set_percent_multa(valor)
|
173
|
+
unless valor
|
174
|
+
self.set_section_value(8, valor)
|
175
|
+
else
|
176
|
+
raise
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
180
|
+
def set_id_titulo(valor)
|
181
|
+
unless valor
|
182
|
+
self.set_section_value(9, valor)
|
183
|
+
else
|
184
|
+
raise
|
185
|
+
end
|
186
|
+
end
|
187
|
+
|
188
|
+
def set_digito_conferencia(valor)
|
189
|
+
unless valor
|
190
|
+
self.set_section_value(10, valor)
|
191
|
+
else
|
192
|
+
raise
|
193
|
+
end
|
194
|
+
end
|
195
|
+
|
196
|
+
def set_desconto_dia(valor)
|
197
|
+
unless valor
|
198
|
+
self.set_section_value(11, valor)
|
199
|
+
else
|
200
|
+
raise
|
201
|
+
end
|
202
|
+
end
|
203
|
+
|
204
|
+
def set_condicao_emissao(valor)
|
205
|
+
unless valor
|
206
|
+
self.set_section_value(12, valor)
|
207
|
+
else
|
208
|
+
raise
|
209
|
+
end
|
210
|
+
end
|
211
|
+
|
212
|
+
def set_emite_boleto(valor)
|
213
|
+
unless valor
|
214
|
+
self.set_section_value(13, valor)
|
215
|
+
else
|
216
|
+
raise
|
217
|
+
end
|
218
|
+
end
|
219
|
+
|
220
|
+
def set_id_operacao(valor)
|
221
|
+
unless valor
|
222
|
+
self.set_section_value(14, valor)
|
223
|
+
else
|
224
|
+
raise
|
225
|
+
end
|
226
|
+
end
|
227
|
+
|
228
|
+
def set_indicador_rateio(valor)
|
229
|
+
unless valor
|
230
|
+
self.set_section_value(15, valor)
|
231
|
+
else
|
232
|
+
raise
|
233
|
+
end
|
234
|
+
end
|
235
|
+
|
236
|
+
def set_enderecamento(valor)
|
237
|
+
unless valor
|
238
|
+
self.set_section_value(16, valor)
|
239
|
+
else
|
240
|
+
raise
|
241
|
+
end
|
242
|
+
end
|
243
|
+
|
244
|
+
def set_branco(valor)
|
245
|
+
unless valor
|
246
|
+
self.set_section_value(17, valor)
|
247
|
+
else
|
248
|
+
raise
|
249
|
+
end
|
250
|
+
end
|
251
|
+
|
252
|
+
def set_id_ocorrencia(valor)
|
253
|
+
unless valor
|
254
|
+
self.set_section_value(18, valor)
|
255
|
+
else
|
256
|
+
raise
|
257
|
+
end
|
258
|
+
end
|
259
|
+
|
260
|
+
def set_numero_documento(valor)
|
261
|
+
unless valor
|
262
|
+
self.set_section_value(19, valor)
|
263
|
+
else
|
264
|
+
raise
|
265
|
+
end
|
266
|
+
end
|
267
|
+
|
268
|
+
def set_data_vencimento(valor)
|
269
|
+
unless valor
|
270
|
+
self.set_section_value(20, valor)
|
271
|
+
else
|
272
|
+
raise
|
273
|
+
end
|
274
|
+
end
|
275
|
+
|
276
|
+
def set_valor(valor)
|
277
|
+
unless valor
|
278
|
+
self.set_section_value(21, valor)
|
279
|
+
else
|
280
|
+
raise
|
281
|
+
end
|
282
|
+
end
|
283
|
+
|
284
|
+
def set_banco_cobranca(valor)
|
285
|
+
unless valor
|
286
|
+
self.set_section_value(22, valor)
|
287
|
+
else
|
288
|
+
raise
|
289
|
+
end
|
290
|
+
end
|
291
|
+
|
292
|
+
def set_agencia_depositaria(valor)
|
293
|
+
unless valor
|
294
|
+
self.set_section_value(23, valor)
|
295
|
+
else
|
296
|
+
raise
|
297
|
+
end
|
298
|
+
end
|
299
|
+
|
300
|
+
def set_especie_titulo(valor)
|
301
|
+
unless valor
|
302
|
+
self.set_section_value(24, valor)
|
303
|
+
else
|
304
|
+
raise
|
305
|
+
end
|
306
|
+
end
|
307
|
+
|
308
|
+
def set_identificacao(valor)
|
309
|
+
unless valor
|
310
|
+
self.set_section_value(25, valor)
|
311
|
+
else
|
312
|
+
raise
|
313
|
+
end
|
314
|
+
end
|
315
|
+
|
316
|
+
def set_data_emissao(valor)
|
317
|
+
unless valor
|
318
|
+
self.set_section_value(26, valor)
|
319
|
+
else
|
320
|
+
raise
|
321
|
+
end
|
322
|
+
end
|
323
|
+
|
324
|
+
def set_primeira_instrucao(valor)
|
325
|
+
unless valor
|
326
|
+
self.set_section_value(27, valor)
|
327
|
+
else
|
328
|
+
raise
|
329
|
+
end
|
330
|
+
end
|
331
|
+
|
332
|
+
def set_segunda_instrucao(valor)
|
333
|
+
unless valor
|
334
|
+
self.set_section_value(28, valor)
|
335
|
+
else
|
336
|
+
raise
|
337
|
+
end
|
338
|
+
end
|
339
|
+
|
340
|
+
def set_valor_dia_atraso(valor)
|
341
|
+
unless valor
|
342
|
+
self.set_section_value(29, valor)
|
343
|
+
else
|
344
|
+
raise
|
345
|
+
end
|
346
|
+
end
|
347
|
+
|
348
|
+
def set_data_limite_concessao(valor)
|
349
|
+
unless valor
|
350
|
+
self.set_section_value(30, valor)
|
351
|
+
else
|
352
|
+
raise
|
353
|
+
end
|
354
|
+
end
|
355
|
+
|
356
|
+
def set_valor_desconto(valor)
|
357
|
+
unless valor
|
358
|
+
self.set_section_value(31, valor)
|
359
|
+
else
|
360
|
+
raise
|
361
|
+
end
|
362
|
+
end
|
363
|
+
|
364
|
+
def set_valor_iof(valor)
|
365
|
+
unless valor
|
366
|
+
self.set_section_value(32, valor)
|
367
|
+
else
|
368
|
+
raise
|
369
|
+
end
|
370
|
+
end
|
371
|
+
|
372
|
+
def set_valor_abatimento(valor)
|
373
|
+
unless valor
|
374
|
+
self.set_section_value(33, valor)
|
375
|
+
else
|
376
|
+
raise
|
377
|
+
end
|
378
|
+
end
|
379
|
+
|
380
|
+
def set_tipo_inscricao(valor)
|
381
|
+
unless valor
|
382
|
+
self.set_section_value(34, valor)
|
383
|
+
else
|
384
|
+
raise
|
385
|
+
end
|
386
|
+
end
|
387
|
+
|
388
|
+
def set_numero_inscricao(valor)
|
389
|
+
unless valor
|
390
|
+
self.set_section_value(35, valor)
|
391
|
+
else
|
392
|
+
raise
|
393
|
+
end
|
394
|
+
end
|
395
|
+
|
396
|
+
def set_nome_sacado(valor)
|
397
|
+
unless valor
|
398
|
+
self.set_section_value(36, valor)
|
399
|
+
else
|
400
|
+
raise
|
401
|
+
end
|
402
|
+
end
|
403
|
+
|
404
|
+
def set_endereco_sacado(valor)
|
405
|
+
unless valor
|
406
|
+
self.set_section_value(37, valor)
|
407
|
+
else
|
408
|
+
raise
|
409
|
+
end
|
410
|
+
end
|
411
|
+
|
412
|
+
def set_primeira_mensagem(valor)
|
413
|
+
unless valor
|
414
|
+
self.set_section_value(38, valor)
|
415
|
+
else
|
416
|
+
raise
|
417
|
+
end
|
418
|
+
end
|
419
|
+
|
420
|
+
def set_cep(valor)
|
421
|
+
unless valor
|
422
|
+
self.set_section_value(39, valor)
|
423
|
+
else
|
424
|
+
raise
|
425
|
+
end
|
426
|
+
end
|
427
|
+
|
428
|
+
def set_sacador_avalista(valor)
|
429
|
+
unless valor
|
430
|
+
self.set_section_value(40, valor)
|
431
|
+
else
|
432
|
+
raise
|
433
|
+
end
|
434
|
+
end
|
435
|
+
|
436
|
+
def set_seq_registro(valor)
|
437
|
+
unless valor
|
438
|
+
self.set_section_value(41, valor)
|
439
|
+
else
|
440
|
+
raise
|
441
|
+
end
|
442
|
+
end
|
443
|
+
end
|
@@ -0,0 +1,188 @@
|
|
1
|
+
|
2
|
+
#-------------------------------------------------------------------
|
3
|
+
#-------------------------------------------------------------------
|
4
|
+
# Header - Empresa e Banco
|
5
|
+
class Cnab4002 < FormatSection
|
6
|
+
require 'date'
|
7
|
+
|
8
|
+
def initialize master
|
9
|
+
super(master, true, true, false)
|
10
|
+
|
11
|
+
@section = Section.new({
|
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
|
27
|
+
})
|
28
|
+
end
|
29
|
+
|
30
|
+
#-------------------------------------------------------------------
|
31
|
+
#-------------------------------------------------------------------
|
32
|
+
# Gerais
|
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]
|
49
|
+
end
|
50
|
+
|
51
|
+
#-------------------------------------------------------------------
|
52
|
+
#-------------------------------------------------------------------
|
53
|
+
# Setters
|
54
|
+
def set_id_registro code
|
55
|
+
code = code.to_i
|
56
|
+
|
57
|
+
unless code
|
58
|
+
self.set_section_value(0, code)
|
59
|
+
else
|
60
|
+
raise
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
def set_codigo_remessa code
|
65
|
+
code = code.to_s
|
66
|
+
|
67
|
+
if code.length >= 1
|
68
|
+
self.set_section_value(1, code)
|
69
|
+
else
|
70
|
+
raise
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
def set_literal literal
|
75
|
+
nome = literal.to_s
|
76
|
+
|
77
|
+
if nome.to_s.length > 0
|
78
|
+
self.set_section_value(2, nome)
|
79
|
+
else
|
80
|
+
raise
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
def set_codigo_servico codigo
|
85
|
+
codigo = codigo.to_i
|
86
|
+
|
87
|
+
if codigo > 0
|
88
|
+
self.set_section_value(3, codigo)
|
89
|
+
else
|
90
|
+
raise
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
def set_servico nome
|
95
|
+
nome = nome.to_s
|
96
|
+
|
97
|
+
if nome.to_s.length > 0
|
98
|
+
self.set_section_value(4, nome)
|
99
|
+
else
|
100
|
+
raise
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
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
|
111
|
+
|
112
|
+
rescue
|
113
|
+
raise
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
def set_nome_empresa nome
|
118
|
+
nome = nome.to_s
|
119
|
+
|
120
|
+
if nome
|
121
|
+
self.set_section_value(6, nome)
|
122
|
+
else
|
123
|
+
raise
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
def set_codigo_banco codigo
|
128
|
+
codigo = codigo.to_i
|
129
|
+
|
130
|
+
if codigo > 0
|
131
|
+
self.set_section_value(7, codigo)
|
132
|
+
else
|
133
|
+
raise
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
137
|
+
def set_nome_banco nome
|
138
|
+
nome = nome.to_s
|
139
|
+
|
140
|
+
if nome.length > 0
|
141
|
+
self.set_section_value(8, nome)
|
142
|
+
else
|
143
|
+
raise
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
147
|
+
def set_data_geracao data
|
148
|
+
begin
|
149
|
+
data = Date.strptime(data, "%d%m%y") if data.is_a?(String)
|
150
|
+
real_data = data.strftime('%d%m%y')
|
151
|
+
|
152
|
+
if real_data.length == 6
|
153
|
+
self.set_section_value(9, real_data)
|
154
|
+
else
|
155
|
+
raise
|
156
|
+
end
|
157
|
+
|
158
|
+
rescue
|
159
|
+
raise "#{get_id}: Data de Geração Inválida
|
160
|
+
Valor: #{data}"
|
161
|
+
end
|
162
|
+
end
|
163
|
+
|
164
|
+
def set_branco_1 branco
|
165
|
+
branco = branco.to_s
|
166
|
+
self.set_section_value(10, branco)
|
167
|
+
end
|
168
|
+
|
169
|
+
def set_id_sistema id
|
170
|
+
id = id.to_s
|
171
|
+
self.set_section_value(11, id)
|
172
|
+
end
|
173
|
+
|
174
|
+
def set_seq_arquivo sequencial
|
175
|
+
sequencial = sequencial.to_i
|
176
|
+
self.set_section_value(12, sequencial)
|
177
|
+
end
|
178
|
+
|
179
|
+
def set_branco_2 branco
|
180
|
+
branco = branco.to_s
|
181
|
+
self.set_section_value(13, branco)
|
182
|
+
end
|
183
|
+
|
184
|
+
def set_seq_registro sequencial
|
185
|
+
sequencial = sequencial.to_i
|
186
|
+
self.set_section_value(14, sequencial)
|
187
|
+
end
|
188
|
+
end
|