formatos-febraban 0.3.49 → 0.3.50
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/febraban/version.rb +1 -1
- data/lib/formatos/febraban150/febraban_150_a.rb +89 -127
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8bde1e8637dde00460547b5dfe7e5169f8aa5b32
|
4
|
+
data.tar.gz: 89ee496811f6d637e785463b28543c48cbe6feba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 15fe0a9a68967068cd84ada9524cffae0d1807eac6d623e55e0178f6c6c9553c4031e2251c914053cd542343f47b8caefbcd5474397efd249114e79958e0b00a
|
7
|
+
data.tar.gz: 9298934d17ba521b2d16f4e57ed4af5370a4ebffdc817c5d7aa3cf8860ad14657915f053bee14bb449d9118afb8447b9c3e7d89a4ebe86f088b86229d9e98952
|
@@ -5,13 +5,9 @@
|
|
5
5
|
class Febraban150A < FormatSection
|
6
6
|
require 'date'
|
7
7
|
|
8
|
-
<<<<<<< HEAD:lib/formatos/febraban150/febraban_150_a.rb
|
9
8
|
ID_SERVICO = "DÉBITO AUTOMÁTICO"
|
10
9
|
|
11
10
|
def initialize(master, versao = Febraban150::VERSAO)
|
12
|
-
=======
|
13
|
-
def initialize master
|
14
|
-
>>>>>>> Iniciando codificação do formato CNAB400 para boletos:lib/formatos/cnab400/cnab_400_0.rb
|
15
11
|
super(master, true, true, false)
|
16
12
|
|
17
13
|
@versao = versao
|
@@ -45,7 +41,6 @@ class Febraban150A < FormatSection
|
|
45
41
|
|
46
42
|
def monta_versao_05
|
47
43
|
@section = Section.new({
|
48
|
-
<<<<<<< HEAD:lib/formatos/febraban150/febraban_150_a.rb
|
49
44
|
0 => Position.new(1, 1, false,'A', true), # Código do Registro
|
50
45
|
1 => Position.new(2, 1, true), # Código Remessa (1-Remessa, 2-Retorno)
|
51
46
|
2 => Position.new(3, 20, false), # Código de ID enviado pelo Banco
|
@@ -57,30 +52,30 @@ class Febraban150A < FormatSection
|
|
57
52
|
8 => Position.new(9, 2, true, @versao), # Versão do Layout (5, desde 05.05.2008)
|
58
53
|
9 => Position.new(10, 17, false, Febraban150A::ID_SERVICO), # Identificação ("DÉBITO AUTOMÁTICO")
|
59
54
|
10 => Position.new(11, 52, false), # Reservado pelo Sistema
|
60
|
-
=======
|
61
|
-
0 => Position.new(1, 1, true, '0', true), # Identificação do Registro
|
62
|
-
1 => Position.new(2, 1, true, '1'), # Código Remessa (1-Remessa, 2-Retorno)
|
63
|
-
2 => Position.new(3, 7, false,'REMESSA'), # Literal Remessa
|
64
|
-
3 => Position.new(4, 2, true, '01'), # Código do Serviço
|
65
|
-
4 => Position.new(5, 15, false,'COBRANCA'), # Literal Serviço
|
66
|
-
5 => Position.new(6, 20, true), # Código da Empresa
|
67
|
-
6 => Position.new(7, 30, false), # Nome da Empresa
|
68
|
-
7 => Position.new(8, 3, true), # Código do Banco
|
69
|
-
8 => Position.new(9, 15, false, 'BRADESCO'), # Nome do Banco
|
70
|
-
9 => Position.new(10, 6, true), # Data de Geração de Arquivo
|
71
|
-
10 => Position.new(11, 8, false), # Brancos
|
72
|
-
11 => Position.new(12, 2, false), # Identificação do Sistema
|
73
|
-
12 => Position.new(13, 7, true), # Número Sequencial do Arquivo
|
74
|
-
13 => Position.new(14, 277, false), # Brancos
|
75
|
-
14 => Position.new(15, 6, true, '1'), # Sequencial de Regsitro
|
76
|
-
>>>>>>> Iniciando codificação do formato CNAB400 para boletos:lib/formatos/cnab400/cnab_400_0.rb
|
77
55
|
})
|
78
56
|
end
|
79
57
|
|
58
|
+
def process_section(file)
|
59
|
+
self.set_id_registro (file[1..1])
|
60
|
+
self.set_codigo_remessa (file[2..2])
|
61
|
+
self.set_literal (file[3..9])
|
62
|
+
self.set_codigo_servico (file[10..11])
|
63
|
+
self.set_servico (file[12..26])
|
64
|
+
self.set_codigo_empresa (file[27..46])
|
65
|
+
self.set_nome_empresa (file[47..76])
|
66
|
+
self.set_codigo_banco (file[77..79])
|
67
|
+
self.set_nome_banco (file[80..94])
|
68
|
+
self.set_data_geracao (file[95..100])
|
69
|
+
self.set_branco_1 (file[101..108])
|
70
|
+
self.set_id_sistema (file[109..110])
|
71
|
+
self.set_seq_arquivo (file[111..117])
|
72
|
+
self.set_branco_2 (file[118..394])
|
73
|
+
self.set_seq_registro (file[395..400])
|
74
|
+
end
|
75
|
+
|
80
76
|
#-------------------------------------------------------------------
|
81
77
|
#-------------------------------------------------------------------
|
82
78
|
# Gerais
|
83
|
-
<<<<<<< HEAD:lib/formatos/febraban150/febraban_150_a.rb
|
84
79
|
public
|
85
80
|
def process_section(file)
|
86
81
|
case @versao
|
@@ -154,29 +149,11 @@ class Febraban150A < FormatSection
|
|
154
149
|
self.get_numero_sequencial > 0 and
|
155
150
|
self.get_versao_layout > 0 and
|
156
151
|
self.get_identificacao_servico.length > 0)
|
157
|
-
=======
|
158
|
-
def process_section(file)
|
159
|
-
self.set_id_registro (file[1..1])
|
160
|
-
self.set_codigo_remessa (file[2..2])
|
161
|
-
self.set_literal (file[3..9])
|
162
|
-
self.set_codigo_servico (file[10..11])
|
163
|
-
self.set_servico (file[12..26])
|
164
|
-
self.set_codigo_empresa (file[27..46])
|
165
|
-
self.set_nome_empresa (file[47..76])
|
166
|
-
self.set_codigo_banco (file[77..79])
|
167
|
-
self.set_nome_banco (file[80..94])
|
168
|
-
self.set_data_geracao (file[95..100])
|
169
|
-
self.set_branco_1 (file[101..108])
|
170
|
-
self.set_id_sistema (file[109..110])
|
171
|
-
self.set_seq_arquivo (file[111..117])
|
172
|
-
self.set_branco_2 (file[118..394])
|
173
|
-
self.set_seq_registro (file[395..400])
|
174
|
-
>>>>>>> Iniciando codificação do formato CNAB400 para boletos:lib/formatos/cnab400/cnab_400_0.rb
|
175
152
|
end
|
176
153
|
|
154
|
+
|
177
155
|
#-------------------------------------------------------------------
|
178
156
|
#-------------------------------------------------------------------
|
179
|
-
<<<<<<< HEAD:lib/formatos/febraban150/febraban_150_a.rb
|
180
157
|
# Getters
|
181
158
|
public
|
182
159
|
def get_codigo_remessa
|
@@ -186,96 +163,74 @@ class Febraban150A < FormatSection
|
|
186
163
|
def get_codigo_convenio
|
187
164
|
self.get_section_value(2)
|
188
165
|
end
|
189
|
-
=======
|
190
|
-
# Setters
|
191
|
-
def set_id_registro code
|
192
|
-
code = code.to_i
|
193
|
-
>>>>>>> Iniciando codificação do formato CNAB400 para boletos:lib/formatos/cnab400/cnab_400_0.rb
|
194
166
|
|
195
|
-
|
196
|
-
|
197
|
-
else
|
198
|
-
raise
|
199
|
-
end
|
167
|
+
def get_nome_empresa
|
168
|
+
self.get_section_value(3)
|
200
169
|
end
|
201
170
|
|
202
|
-
def
|
203
|
-
|
171
|
+
def get_codigo_banco
|
172
|
+
self.get_section_value(4).to_i
|
173
|
+
end
|
204
174
|
|
205
|
-
|
206
|
-
|
207
|
-
else
|
208
|
-
raise
|
209
|
-
end
|
175
|
+
def get_nome_banco
|
176
|
+
self.get_section_value(5)
|
210
177
|
end
|
211
178
|
|
212
|
-
def
|
213
|
-
|
179
|
+
def get_data_geracao
|
180
|
+
data = self.get_section_value(6)
|
181
|
+
Date.new(data[0..3].to_i, data[4..5].to_i, data[6..7].to_i)
|
182
|
+
end
|
214
183
|
|
215
|
-
|
216
|
-
|
217
|
-
else
|
218
|
-
raise
|
219
|
-
end
|
184
|
+
def get_numero_sequencial
|
185
|
+
data = self.get_section_value(7).to_i
|
220
186
|
end
|
221
187
|
|
222
|
-
def
|
223
|
-
|
188
|
+
def get_versao_layout
|
189
|
+
data = self.get_section_value(8).to_i
|
190
|
+
end
|
224
191
|
|
225
|
-
|
226
|
-
|
227
|
-
else
|
228
|
-
raise
|
229
|
-
end
|
192
|
+
def get_identificacao_servico
|
193
|
+
data = self.get_section_value(9)
|
230
194
|
end
|
231
195
|
|
232
|
-
<<<<<<< HEAD:lib/formatos/febraban150/febraban_150_a.rb
|
233
196
|
#-------------------------------------------------------------------
|
234
197
|
#-------------------------------------------------------------------
|
235
198
|
# Setters
|
236
199
|
public
|
237
200
|
def set_codigo_remessa code
|
238
201
|
code = code.to_i
|
239
|
-
=======
|
240
|
-
def set_servico nome
|
241
|
-
nome = nome.to_s
|
242
|
-
>>>>>>> Iniciando codificação do formato CNAB400 para boletos:lib/formatos/cnab400/cnab_400_0.rb
|
243
202
|
|
244
|
-
if
|
245
|
-
self.set_section_value(
|
203
|
+
if code == 1 or code == 2
|
204
|
+
self.set_section_value(1, code)
|
246
205
|
else
|
247
|
-
raise
|
206
|
+
raise "#{get_id}: 1 = Remessa - Enviado pela Empresa para o Banco
|
207
|
+
2 = Retorno - Enviado pelo Banco para a Empresa
|
208
|
+
Valor: #{code}"
|
248
209
|
end
|
249
210
|
end
|
250
211
|
|
251
|
-
<<<<<<< HEAD:lib/formatos/febraban150/febraban_150_a.rb
|
252
212
|
def set_codigo_convenio code
|
253
213
|
code = code.to_s
|
254
214
|
|
255
215
|
if !code.nil? and
|
256
216
|
(code.length > 0 and code.length <= 20)
|
257
|
-
=======
|
258
|
-
def set_codigo_empresa codigo
|
259
|
-
begin
|
260
|
-
if codigo.length == 20
|
261
|
-
self.set_section_value(5, codigo)
|
262
|
-
else
|
263
|
-
raise
|
264
|
-
end
|
265
|
-
>>>>>>> Iniciando codificação do formato CNAB400 para boletos:lib/formatos/cnab400/cnab_400_0.rb
|
266
217
|
|
267
|
-
|
268
|
-
|
218
|
+
self.set_section_value(2, code)
|
219
|
+
else
|
220
|
+
raise "#{get_id}: Código atribuído pelo Banco, para seu controle interno.
|
221
|
+
Este código será informado à Empresa, pelo Banco, antes
|
222
|
+
da implantação do serviço de débito automático.
|
223
|
+
Valor: #{code}"
|
269
224
|
end
|
270
225
|
end
|
271
226
|
|
272
227
|
def set_nome_empresa nome
|
273
228
|
nome = nome.to_s
|
274
229
|
|
275
|
-
if nome
|
276
|
-
self.set_section_value(
|
230
|
+
if nome.to_s.length > 0
|
231
|
+
self.set_section_value(3, nome)
|
277
232
|
else
|
278
|
-
raise
|
233
|
+
raise "#{get_id}: Nome da Empresa não pode estar vazio"
|
279
234
|
end
|
280
235
|
end
|
281
236
|
|
@@ -283,29 +238,29 @@ class Febraban150A < FormatSection
|
|
283
238
|
codigo = codigo.to_i
|
284
239
|
|
285
240
|
if codigo > 0
|
286
|
-
self.set_section_value(
|
241
|
+
self.set_section_value(4, codigo)
|
287
242
|
else
|
288
|
-
raise
|
243
|
+
raise "#{get_id}: Código do Banco não pode estar vazio"
|
289
244
|
end
|
290
245
|
end
|
291
246
|
|
292
247
|
def set_nome_banco nome
|
293
248
|
nome = nome.to_s
|
294
249
|
|
295
|
-
if nome.length > 0
|
296
|
-
self.set_section_value(
|
250
|
+
if nome.to_s.length > 0
|
251
|
+
self.set_section_value(5, nome)
|
297
252
|
else
|
298
|
-
raise
|
253
|
+
raise "#{get_id}: Nome do Banco não pode estar vazio"
|
299
254
|
end
|
300
255
|
end
|
301
256
|
|
302
257
|
def set_data_geracao data
|
303
258
|
begin
|
304
|
-
data = Date.strptime(data, "%
|
305
|
-
real_data = data.strftime(
|
259
|
+
data = Date.strptime(data, "%Y%m%d") if data.is_a?(String)
|
260
|
+
real_data = data.strftime("%Y%m%d")
|
306
261
|
|
307
|
-
if real_data.length ==
|
308
|
-
self.set_section_value(
|
262
|
+
if real_data.length == 8
|
263
|
+
self.set_section_value(6, real_data)
|
309
264
|
else
|
310
265
|
raise
|
311
266
|
end
|
@@ -316,34 +271,41 @@ class Febraban150A < FormatSection
|
|
316
271
|
end
|
317
272
|
end
|
318
273
|
|
319
|
-
def
|
320
|
-
|
321
|
-
self.set_section_value(10, branco)
|
322
|
-
end
|
274
|
+
def set_numero_sequencial numero
|
275
|
+
numero = numero.to_i
|
323
276
|
|
324
|
-
|
325
|
-
|
326
|
-
|
277
|
+
if numero > 0
|
278
|
+
self.set_section_value(7, numero)
|
279
|
+
else
|
280
|
+
raise "#{get_id}: Número Sequencial deve ser positivo e maior que 0
|
281
|
+
Valor: #{numero}"
|
282
|
+
end
|
327
283
|
end
|
328
284
|
|
329
|
-
def
|
330
|
-
|
331
|
-
|
285
|
+
def set_versao_layout versao
|
286
|
+
versao = versao.to_i
|
287
|
+
|
288
|
+
if versao > 0
|
289
|
+
self.set_section_value(8, versao)
|
290
|
+
else
|
291
|
+
raise "#{get_id}: Versão deve ser 05 (a partir de 05.05.2008)
|
292
|
+
Valor: #{versao}"
|
293
|
+
end
|
332
294
|
end
|
333
295
|
|
334
|
-
def
|
335
|
-
|
336
|
-
|
296
|
+
def set_identificacao_servico identificacao
|
297
|
+
identificacao = identificacao.to_s
|
298
|
+
|
299
|
+
if identificacao.length > 0
|
300
|
+
self.set_section_value(9, identificacao)
|
301
|
+
else
|
302
|
+
raise "#{get_id}: Deve ser Débito Automático
|
303
|
+
Valor: #{identificacao}"
|
304
|
+
end
|
337
305
|
end
|
338
306
|
|
339
|
-
def
|
340
|
-
|
341
|
-
self.set_section_value(
|
307
|
+
def set_reservado reservado
|
308
|
+
reservado = reservado.to_s
|
309
|
+
self.set_section_value(10, reservado)
|
342
310
|
end
|
343
311
|
end
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|