formatos-febraban 0.3.48 → 0.3.49
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/cnab400/cnab_400.rb +61 -157
- data/lib/formatos/cnab400/cnab_400_detalhe.rb +276 -0
- data/lib/formatos/cnab400/cnab_400_header.rb +175 -0
- data/lib/formatos/cnab400/cnab_400_trailler.rb +84 -0
- data/lib/formatos/febraban.rb +1 -0
- data/lib/formatos/febraban/version.rb +1 -1
- data/lib/formatos/febraban150/febraban_150.rb +5 -4
- data/lib/formatos/febraban150/febraban_150_a.rb +127 -70
- metadata +4 -7
- data/lib/formatos/cnab400/cnab_400_0.rb +0 -194
- data/lib/formatos/cnab400/cnab_400_1.rb +0 -443
- data/lib/formatos/cnab400/cnab_400_2.rb +0 -188
- data/lib/formatos/cnab400/cnab_400_3.rb +0 -194
- data/lib/formatos/cnab400/cnab_400_7.rb +0 -194
- data/lib/formatos/cnab400/cnab_400_9.rb +0 -55
@@ -0,0 +1,175 @@
|
|
1
|
+
|
2
|
+
#-------------------------------------------------------------------
|
3
|
+
#-------------------------------------------------------------------
|
4
|
+
# Header - Empresa e Banco
|
5
|
+
class Cnab4000Header < FormatSection
|
6
|
+
require 'date'
|
7
|
+
|
8
|
+
def initialize master
|
9
|
+
super(master, true, true, false)
|
10
|
+
debugger
|
11
|
+
@section = Section.new({
|
12
|
+
0 => Position.new(1, 1, false, "0", true), # Código do Registro
|
13
|
+
1 => Position.new(2, 1, false), # Código Arquivo (1-Remessa, 2-Retorno)
|
14
|
+
2 => Position.new(3, 7, false), # Identificação literal do arquivo (REMESSA/RETORNO)
|
15
|
+
3 => Position.new(4, 2, false, "01"), # Código do serviço
|
16
|
+
4 => Position.new(5, 15, false, "COBRANCA"), # Literal do serviço (COBRANÇA)
|
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), # Número do Banco (BRADESCO: 237)
|
20
|
+
8 => Position.new(9, 15, false), # Nome do Banco
|
21
|
+
9 => Position.new(10, 6, false), # Data de gravacao do arquivo (DDMMAA)
|
22
|
+
10 => Position.new(11, 8, false), # Reservado pelo Sistema - branco
|
23
|
+
11 => Position.new(12, 9, false), # Identificacao do sistema
|
24
|
+
12 => Position.new(13, 277, false), # Reservado pelo Sistema - branco
|
25
|
+
13 => Position.new(14, 6, false, "000001") # Numero sequencial no arquivo
|
26
|
+
})
|
27
|
+
end
|
28
|
+
|
29
|
+
#-------------------------------------------------------------------
|
30
|
+
#-------------------------------------------------------------------
|
31
|
+
# Gerais
|
32
|
+
def process_section file
|
33
|
+
self.set_codigo_arquivo file[1..1]
|
34
|
+
self.set_identificacao_arquivo file[2..8]
|
35
|
+
self.set_codigo_servico file[9..10]
|
36
|
+
self.set_literal_servico file[11..25]
|
37
|
+
self.set_codigo_empresa file[26..45]
|
38
|
+
self.set_nome_empresa file[46..75]
|
39
|
+
self.set_numero_banco file[76..78]
|
40
|
+
self.set_nome_banco file[79..93]
|
41
|
+
self.set_data_gravacao file[94..99]
|
42
|
+
self.set_reservado_1 file[100..107]
|
43
|
+
self.set_identificacao_sistema file[108..116]
|
44
|
+
self.set_reservado_2 file[117..393]
|
45
|
+
self.set_sequencial file[394..399]
|
46
|
+
end
|
47
|
+
|
48
|
+
#-------------------------------------------------------------------
|
49
|
+
#-------------------------------------------------------------------
|
50
|
+
# Validações
|
51
|
+
def is_valid?
|
52
|
+
self.get_codigo_arquivo > 0 and
|
53
|
+
self.get_data_gravacao.length > 0 and
|
54
|
+
self.get_nome_empresa.length > 0 and
|
55
|
+
self.get_identificacao_sistema.length > 0 and
|
56
|
+
self.get_nome_banco.length > 0
|
57
|
+
end
|
58
|
+
|
59
|
+
#-------------------------------------------------------------------
|
60
|
+
#-------------------------------------------------------------------
|
61
|
+
# Getters
|
62
|
+
def get_codigo_arquivo
|
63
|
+
self.get_section_value(1).to_i
|
64
|
+
end
|
65
|
+
|
66
|
+
def get_identificacao_arquivo
|
67
|
+
self.get_section_value(2)
|
68
|
+
end
|
69
|
+
|
70
|
+
def get_codigo_servico
|
71
|
+
self.get_section_value(3)
|
72
|
+
end
|
73
|
+
|
74
|
+
def get_literal_servico
|
75
|
+
self.get_section_value(4)
|
76
|
+
end
|
77
|
+
|
78
|
+
def get_codigo_empresa
|
79
|
+
self.get_section_value(5)
|
80
|
+
end
|
81
|
+
|
82
|
+
def get_nome_empresa
|
83
|
+
self.get_section_value(6)
|
84
|
+
end
|
85
|
+
|
86
|
+
def get_numero_banco
|
87
|
+
self.get_section_value(7)
|
88
|
+
end
|
89
|
+
|
90
|
+
def get_nome_banco
|
91
|
+
self.get_section_value(8)
|
92
|
+
end
|
93
|
+
|
94
|
+
def get_data_gravacao
|
95
|
+
self.get_section_value(9)
|
96
|
+
end
|
97
|
+
|
98
|
+
def get_identificacao_sistema
|
99
|
+
self.get_section_value(11)
|
100
|
+
end
|
101
|
+
|
102
|
+
def get_sequencial
|
103
|
+
self.get_section_value(13)
|
104
|
+
end
|
105
|
+
|
106
|
+
|
107
|
+
#-------------------------------------------------------------------
|
108
|
+
#-------------------------------------------------------------------
|
109
|
+
# Setters
|
110
|
+
def set_codigo_arquivo valor
|
111
|
+
self.set_section_value(1, valor)
|
112
|
+
end
|
113
|
+
|
114
|
+
def set_identificacao_arquivo valor
|
115
|
+
self.set_section_value(2, valor)
|
116
|
+
end
|
117
|
+
|
118
|
+
def set_codigo_servico valor
|
119
|
+
self.set_section_value(3, valor)
|
120
|
+
end
|
121
|
+
|
122
|
+
def set_literal_servico valor = ""
|
123
|
+
self.set_section_value(4, valor)
|
124
|
+
end
|
125
|
+
|
126
|
+
def set_codigo_empresa valor = ""
|
127
|
+
self.set_section_value(5, valor)
|
128
|
+
end
|
129
|
+
|
130
|
+
def set_nome_empresa valor = ""
|
131
|
+
self.set_section_value(6, valor)
|
132
|
+
end
|
133
|
+
|
134
|
+
def set_numero_banco valor = ""
|
135
|
+
self.set_section_value(7, valor)
|
136
|
+
end
|
137
|
+
|
138
|
+
def set_nome_banco valor = ""
|
139
|
+
self.set_section_value(8, valor)
|
140
|
+
end
|
141
|
+
|
142
|
+
def set_data_gravacao valor
|
143
|
+
begin
|
144
|
+
valor = Date.strptime(valor, "%d%m%Y") if valor.is_a?(String)
|
145
|
+
real_data = valor.strftime("%d%m%y")
|
146
|
+
|
147
|
+
if real_data.length == 6
|
148
|
+
self.set_section_value(9, real_data)
|
149
|
+
else
|
150
|
+
raise "tamanho de data incorreto"
|
151
|
+
end
|
152
|
+
|
153
|
+
rescue
|
154
|
+
raise "#{get_id}: Data de Geração Inválida
|
155
|
+
Valor: #{valor}"
|
156
|
+
end
|
157
|
+
end
|
158
|
+
|
159
|
+
def set_reservado_1 valor = ""
|
160
|
+
self.set_section_value(10, valor)
|
161
|
+
end
|
162
|
+
|
163
|
+
def set_identificacao_sistema valor = ""
|
164
|
+
self.set_section_value(11, valor)
|
165
|
+
end
|
166
|
+
|
167
|
+
def set_reservado_2 valor = ""
|
168
|
+
self.set_section_value(12, valor)
|
169
|
+
end
|
170
|
+
|
171
|
+
def set_sequencial valor
|
172
|
+
self.set_section_value(13, valor)
|
173
|
+
end
|
174
|
+
|
175
|
+
end
|
@@ -0,0 +1,84 @@
|
|
1
|
+
|
2
|
+
#-------------------------------------------------------------------
|
3
|
+
#-------------------------------------------------------------------
|
4
|
+
# Trailler - Empresa e Banco
|
5
|
+
class Cnab4000Trailler < 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, false, "9", true), # Código do Registro
|
13
|
+
1 => Position.new(2, 1, true, "9"), # Código Remessa
|
14
|
+
2 => Position.new(3, 6, false), # Total de Registros
|
15
|
+
3 => Position.new(4, 386, false), # Mensagem
|
16
|
+
4 => Position.new(14, 6, false) # Numero sequencial no arquivo
|
17
|
+
})
|
18
|
+
end
|
19
|
+
|
20
|
+
#-------------------------------------------------------------------
|
21
|
+
#-------------------------------------------------------------------
|
22
|
+
# Gerais
|
23
|
+
def process_section file
|
24
|
+
self.set_codigo_remessa file[1..1]
|
25
|
+
self.set_total_registros file[2..7]
|
26
|
+
self.set_mensagem file[8..393]
|
27
|
+
self.set_sequencial file[394..399]
|
28
|
+
end
|
29
|
+
|
30
|
+
#-------------------------------------------------------------------
|
31
|
+
#-------------------------------------------------------------------
|
32
|
+
# Validações
|
33
|
+
def is_valid?
|
34
|
+
result = (self.get_codigo_remessa > 0 and
|
35
|
+
self.get_codigo_convenio.length > 0 and
|
36
|
+
self.get_nome_empresa.length > 0 and
|
37
|
+
self.get_codigo_banco > 0 and
|
38
|
+
self.get_nome_banco.length > 0 and
|
39
|
+
!self.get_data_geracao.nil? and
|
40
|
+
self.get_numero_sequencial > 0 and
|
41
|
+
self.get_versao_layout > 0 and
|
42
|
+
self.get_identificacao_servico.length > 0)
|
43
|
+
end
|
44
|
+
|
45
|
+
#-------------------------------------------------------------------
|
46
|
+
#-------------------------------------------------------------------
|
47
|
+
# Getters
|
48
|
+
def get_codigo_remessa
|
49
|
+
self.get_section_value(1).to_i
|
50
|
+
end
|
51
|
+
|
52
|
+
def get_total_registros
|
53
|
+
self.get_section_value(2)
|
54
|
+
end
|
55
|
+
|
56
|
+
def get_mensagem
|
57
|
+
self.get_section_value(3)
|
58
|
+
end
|
59
|
+
|
60
|
+
def get_sequencial
|
61
|
+
self.get_section_value(4)
|
62
|
+
end
|
63
|
+
|
64
|
+
|
65
|
+
#-------------------------------------------------------------------
|
66
|
+
#-------------------------------------------------------------------
|
67
|
+
# Setters
|
68
|
+
def set_codigo_remessa valor
|
69
|
+
self.set_section_value(1, valor)
|
70
|
+
end
|
71
|
+
|
72
|
+
def set_total_registros valor
|
73
|
+
self.set_section_value(2, valor)
|
74
|
+
end
|
75
|
+
|
76
|
+
def set_mensagem valor
|
77
|
+
self.set_section_value(3, valor)
|
78
|
+
end
|
79
|
+
|
80
|
+
def set_sequencial valor
|
81
|
+
self.set_section_value(4, valor)
|
82
|
+
end
|
83
|
+
|
84
|
+
end
|
data/lib/formatos/febraban.rb
CHANGED
@@ -36,15 +36,12 @@ class Febraban150
|
|
36
36
|
@sections = []
|
37
37
|
@versao = versao
|
38
38
|
|
39
|
-
self.valida_versao(file)
|
40
39
|
self.valida_arquivo(file)
|
41
40
|
end
|
42
41
|
|
43
42
|
protected
|
44
43
|
def valida_versao(file)
|
45
|
-
|
46
|
-
@versao = @versao.present? ? @versao : IO.readlines(file)[0][79..80]
|
47
|
-
end
|
44
|
+
@versao = @versao ? (!@versao.nil? && !@versao.empty?) : IO.readlines(file)[0][79..80]
|
48
45
|
|
49
46
|
unless Febraban150::VersaoDisponivel.include?(@versao)
|
50
47
|
raise "Versão #{@versao} não suportada.
|
@@ -54,7 +51,11 @@ class Febraban150
|
|
54
51
|
|
55
52
|
def valida_arquivo(file = '')
|
56
53
|
if file.size > 0
|
54
|
+
self.valida_versao(file)
|
57
55
|
self.process_file file
|
56
|
+
|
57
|
+
else
|
58
|
+
raise 'Fornercer um arquivo válido'
|
58
59
|
end
|
59
60
|
end
|
60
61
|
|
@@ -5,9 +5,13 @@
|
|
5
5
|
class Febraban150A < FormatSection
|
6
6
|
require 'date'
|
7
7
|
|
8
|
+
<<<<<<< HEAD:lib/formatos/febraban150/febraban_150_a.rb
|
8
9
|
ID_SERVICO = "DÉBITO AUTOMÁTICO"
|
9
10
|
|
10
11
|
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
|
11
15
|
super(master, true, true, false)
|
12
16
|
|
13
17
|
@versao = versao
|
@@ -41,6 +45,7 @@ class Febraban150A < FormatSection
|
|
41
45
|
|
42
46
|
def monta_versao_05
|
43
47
|
@section = Section.new({
|
48
|
+
<<<<<<< HEAD:lib/formatos/febraban150/febraban_150_a.rb
|
44
49
|
0 => Position.new(1, 1, false,'A', true), # Código do Registro
|
45
50
|
1 => Position.new(2, 1, true), # Código Remessa (1-Remessa, 2-Retorno)
|
46
51
|
2 => Position.new(3, 20, false), # Código de ID enviado pelo Banco
|
@@ -52,12 +57,30 @@ class Febraban150A < FormatSection
|
|
52
57
|
8 => Position.new(9, 2, true, @versao), # Versão do Layout (5, desde 05.05.2008)
|
53
58
|
9 => Position.new(10, 17, false, Febraban150A::ID_SERVICO), # Identificação ("DÉBITO AUTOMÁTICO")
|
54
59
|
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
|
55
77
|
})
|
56
78
|
end
|
57
79
|
|
58
80
|
#-------------------------------------------------------------------
|
59
81
|
#-------------------------------------------------------------------
|
60
82
|
# Gerais
|
83
|
+
<<<<<<< HEAD:lib/formatos/febraban150/febraban_150_a.rb
|
61
84
|
public
|
62
85
|
def process_section(file)
|
63
86
|
case @versao
|
@@ -131,10 +154,29 @@ class Febraban150A < FormatSection
|
|
131
154
|
self.get_numero_sequencial > 0 and
|
132
155
|
self.get_versao_layout > 0 and
|
133
156
|
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
|
134
175
|
end
|
135
176
|
|
136
177
|
#-------------------------------------------------------------------
|
137
178
|
#-------------------------------------------------------------------
|
179
|
+
<<<<<<< HEAD:lib/formatos/febraban150/febraban_150_a.rb
|
138
180
|
# Getters
|
139
181
|
public
|
140
182
|
def get_codigo_remessa
|
@@ -144,74 +186,96 @@ class Febraban150A < FormatSection
|
|
144
186
|
def get_codigo_convenio
|
145
187
|
self.get_section_value(2)
|
146
188
|
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
|
147
194
|
|
148
|
-
|
149
|
-
|
195
|
+
unless code
|
196
|
+
self.set_section_value(0, code)
|
197
|
+
else
|
198
|
+
raise
|
199
|
+
end
|
150
200
|
end
|
151
201
|
|
152
|
-
def
|
153
|
-
|
154
|
-
end
|
202
|
+
def set_codigo_remessa code
|
203
|
+
code = code.to_s
|
155
204
|
|
156
|
-
|
157
|
-
|
205
|
+
if code.length >= 1
|
206
|
+
self.set_section_value(1, code)
|
207
|
+
else
|
208
|
+
raise
|
209
|
+
end
|
158
210
|
end
|
159
211
|
|
160
|
-
def
|
161
|
-
|
162
|
-
Date.new(data[0..3].to_i, data[4..5].to_i, data[6..7].to_i)
|
163
|
-
end
|
212
|
+
def set_literal literal
|
213
|
+
nome = literal.to_s
|
164
214
|
|
165
|
-
|
166
|
-
|
215
|
+
if nome.to_s.length > 0
|
216
|
+
self.set_section_value(2, nome)
|
217
|
+
else
|
218
|
+
raise
|
219
|
+
end
|
167
220
|
end
|
168
221
|
|
169
|
-
def
|
170
|
-
|
171
|
-
end
|
222
|
+
def set_codigo_servico codigo
|
223
|
+
codigo = codigo.to_i
|
172
224
|
|
173
|
-
|
174
|
-
|
225
|
+
if codigo > 0
|
226
|
+
self.set_section_value(3, codigo)
|
227
|
+
else
|
228
|
+
raise
|
229
|
+
end
|
175
230
|
end
|
176
231
|
|
232
|
+
<<<<<<< HEAD:lib/formatos/febraban150/febraban_150_a.rb
|
177
233
|
#-------------------------------------------------------------------
|
178
234
|
#-------------------------------------------------------------------
|
179
235
|
# Setters
|
180
236
|
public
|
181
237
|
def set_codigo_remessa code
|
182
238
|
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
|
183
243
|
|
184
|
-
if
|
185
|
-
self.set_section_value(
|
244
|
+
if nome.to_s.length > 0
|
245
|
+
self.set_section_value(4, nome)
|
186
246
|
else
|
187
|
-
raise
|
188
|
-
2 = Retorno - Enviado pelo Banco para a Empresa
|
189
|
-
Valor: #{code}"
|
247
|
+
raise
|
190
248
|
end
|
191
249
|
end
|
192
250
|
|
251
|
+
<<<<<<< HEAD:lib/formatos/febraban150/febraban_150_a.rb
|
193
252
|
def set_codigo_convenio code
|
194
253
|
code = code.to_s
|
195
254
|
|
196
255
|
if !code.nil? and
|
197
256
|
(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
|
198
266
|
|
199
|
-
|
200
|
-
|
201
|
-
raise "#{get_id}: Código atribuído pelo Banco, para seu controle interno.
|
202
|
-
Este código será informado à Empresa, pelo Banco, antes
|
203
|
-
da implantação do serviço de débito automático.
|
204
|
-
Valor: #{code}"
|
267
|
+
rescue
|
268
|
+
raise
|
205
269
|
end
|
206
270
|
end
|
207
271
|
|
208
272
|
def set_nome_empresa nome
|
209
273
|
nome = nome.to_s
|
210
274
|
|
211
|
-
if nome
|
212
|
-
self.set_section_value(
|
275
|
+
if nome
|
276
|
+
self.set_section_value(6, nome)
|
213
277
|
else
|
214
|
-
raise
|
278
|
+
raise
|
215
279
|
end
|
216
280
|
end
|
217
281
|
|
@@ -219,29 +283,29 @@ class Febraban150A < FormatSection
|
|
219
283
|
codigo = codigo.to_i
|
220
284
|
|
221
285
|
if codigo > 0
|
222
|
-
self.set_section_value(
|
286
|
+
self.set_section_value(7, codigo)
|
223
287
|
else
|
224
|
-
raise
|
288
|
+
raise
|
225
289
|
end
|
226
290
|
end
|
227
291
|
|
228
292
|
def set_nome_banco nome
|
229
293
|
nome = nome.to_s
|
230
294
|
|
231
|
-
if nome.
|
232
|
-
self.set_section_value(
|
295
|
+
if nome.length > 0
|
296
|
+
self.set_section_value(8, nome)
|
233
297
|
else
|
234
|
-
raise
|
298
|
+
raise
|
235
299
|
end
|
236
300
|
end
|
237
301
|
|
238
302
|
def set_data_geracao data
|
239
303
|
begin
|
240
|
-
data = Date.strptime(data, "%
|
241
|
-
real_data = data.strftime(
|
304
|
+
data = Date.strptime(data, "%d%m%y") if data.is_a?(String)
|
305
|
+
real_data = data.strftime('%d%m%y')
|
242
306
|
|
243
|
-
if real_data.length ==
|
244
|
-
self.set_section_value(
|
307
|
+
if real_data.length == 6
|
308
|
+
self.set_section_value(9, real_data)
|
245
309
|
else
|
246
310
|
raise
|
247
311
|
end
|
@@ -252,41 +316,34 @@ class Febraban150A < FormatSection
|
|
252
316
|
end
|
253
317
|
end
|
254
318
|
|
255
|
-
def
|
256
|
-
|
257
|
-
|
258
|
-
if numero > 0
|
259
|
-
self.set_section_value(7, numero)
|
260
|
-
else
|
261
|
-
raise "#{get_id}: Número Sequencial deve ser positivo e maior que 0
|
262
|
-
Valor: #{numero}"
|
263
|
-
end
|
319
|
+
def set_branco_1 branco
|
320
|
+
branco = branco.to_s
|
321
|
+
self.set_section_value(10, branco)
|
264
322
|
end
|
265
323
|
|
266
|
-
def
|
267
|
-
|
268
|
-
|
269
|
-
if versao > 0
|
270
|
-
self.set_section_value(8, versao)
|
271
|
-
else
|
272
|
-
raise "#{get_id}: Versão deve ser 05 (a partir de 05.05.2008)
|
273
|
-
Valor: #{versao}"
|
274
|
-
end
|
324
|
+
def set_id_sistema id
|
325
|
+
id = id.to_s
|
326
|
+
self.set_section_value(11, id)
|
275
327
|
end
|
276
328
|
|
277
|
-
def
|
278
|
-
|
329
|
+
def set_seq_arquivo sequencial
|
330
|
+
sequencial = sequencial.to_i
|
331
|
+
self.set_section_value(12, sequencial)
|
332
|
+
end
|
279
333
|
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
raise "#{get_id}: Deve ser Débito Automático
|
284
|
-
Valor: #{identificacao}"
|
285
|
-
end
|
334
|
+
def set_branco_2 branco
|
335
|
+
branco = branco.to_s
|
336
|
+
self.set_section_value(13, branco)
|
286
337
|
end
|
287
338
|
|
288
|
-
def
|
289
|
-
|
290
|
-
self.set_section_value(
|
339
|
+
def set_seq_registro sequencial
|
340
|
+
sequencial = sequencial.to_i
|
341
|
+
self.set_section_value(14, sequencial)
|
291
342
|
end
|
292
343
|
end
|
344
|
+
|
345
|
+
|
346
|
+
|
347
|
+
|
348
|
+
|
349
|
+
|