formatos-febraban 0.3.57 → 0.3.58

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c8a19b0c4637e8ee02b8242fe0ddb8aa780dde5d
4
- data.tar.gz: 270f49c1a2ce32216cade0d3fd83ab77d27b7409
3
+ metadata.gz: 102fad611316eb0e8a9a9e71f780b1c1c910fa2e
4
+ data.tar.gz: a747312e4cf23a15fdd0f0bc582d06f8df1cdbed
5
5
  SHA512:
6
- metadata.gz: 5aa3b01202487241fd903bcf3f06c40939c83e394a982261d313f14135533affcff9d2064af8652295165f0160084ffe00be8d07015f2fe8d1c6e295daa08a4e
7
- data.tar.gz: 2d889c08a6222e5363ce278f4084436cd240ada88a46c94f4fc423accbd51083d885517d87fc446fbd8c63674a57d62fd748a5ed8ba170f33c007e9638397f04
6
+ metadata.gz: 5735c0df15a0fc7a18d7adc048157602b971cc35f058a3c22fc5eaa8b65a26f9ec2f7ad4b0c75257588269ca937195cef1e97a1613a8439ab98ea02865c3cd42
7
+ data.tar.gz: 3b480685690c5500d9eb05293b853f54b3df5b67c439ff3bcae92f7ee90c3def7b2f239c8eca03d79d6a17cd470dcafff04b7f6bba5b15e704be7654e9cb5286
@@ -5,18 +5,18 @@ class CieloHeader < FormatSection
5
5
  super(master, true, true, false)
6
6
 
7
7
  @section = Section.new({
8
- 0 => Position.new(1, 2, false, "00", true), # Código do Registro
9
- 1 => Position.new(2, 8, true), # Data do Deposito
10
- 2 => Position.new(3, 7, true), # Numero do Resumo de operações
11
- 3 => Position.new(4, 10, false), # Reservado para o estabelecimento
12
- 4 => Position.new(5, 3, false), # Constantes zeros
13
- 5 => Position.new(6, 10, true), # Numero do estabelecimento na Cielo
14
- 6 => Position.new(7, 3, false), # Código da moeda
15
- 7 => Position.new(8, 1, false,"P"), # Indicador do processo
16
- 8 => Position.new(9, 1, false, "V"), # Indicador da venda
17
- 9 => Position.new(10, 1, false), # Indicador de estabelecimento especial (Brancos)
18
- 10 => Position.new(11, 204, false), # Constante (Brancos)
19
- })
8
+ 0 => Position.new(1, 2, false, "00", true), # Código do Registro
9
+ 1 => Position.new(2, 8, true), # Data do Deposito
10
+ 2 => Position.new(3, 7, true), # Numero do Resumo de operações
11
+ 3 => Position.new(4, 10, false), # Reservado para o estabelecimento
12
+ 4 => Position.new(5, 3, false), # Constantes zeros
13
+ 5 => Position.new(6, 10, true), # Numero do estabelecimento na Cielo
14
+ 6 => Position.new(7, 3, false), # Código da moeda
15
+ 7 => Position.new(8, 1, false,"P"), # Indicador do processo
16
+ 8 => Position.new(9, 1, false, "V"), # Indicador da venda
17
+ 9 => Position.new(10, 1, false), # Indicador de estabelecimento especial (Brancos)
18
+ 10 => Position.new(11, 204, false), # Constante (Brancos)
19
+ })
20
20
  end
21
21
 
22
22
  #-------------------------------------------------------------------
@@ -117,4 +117,4 @@ class CieloHeader < FormatSection
117
117
  self.get_numero_lote.length > 0 and
118
118
  self.get_moeda.length > 0)
119
119
  end
120
- end
120
+ end
@@ -0,0 +1,202 @@
1
+ module V08
2
+ require_relative 'detalhe_commons'
3
+
4
+ module Remessa
5
+ class Detalhe < FormatSection
6
+ include V08DetalheCommons
7
+
8
+ def initialize
9
+ @section = Section.new({
10
+ 0 => Position.new(1, 1, false, "1", true), # Código do Registro
11
+ 1 => Position.new(2, 5, false), # Agencia de Débito (opcional)
12
+ 2 => Position.new(3, 1, false), # Digito Agencia (opcional)
13
+ 3 => Position.new(4, 5, false), # Razao da Conta Corrente (opcional)
14
+ 4 => Position.new(5, 7, false), # Conta Corrente (opcional)
15
+ 5 => Position.new(6, 1, false), # Digito da CC (opcional)
16
+ 6 => Position.new(7, 17, false), # Identificação da empresa (zero, carteira, agencia e CC )
17
+ 7 => Position.new(8, 25, false), # Numero controle do participante
18
+ 8 => Position.new(9, 3, false), # Numero do Banco ("237")
19
+ 9 => Position.new(10, 1, true), # Campo de multa (0: Sem Multa/ 2: Com multa)
20
+ 10 => Position.new(11, 4, true), # Percentual de multa
21
+ 11 => Position.new(12, 11, true), # Identificação do titulo no banco
22
+ 12 => Position.new(13, 1, true), # Digito de AutoConferencia
23
+ 13 => Position.new(14, 10, true), # Desconto Bonificacao por dia
24
+ 14 => Position.new(15, 1, false, "2"), # Condicao para emissao da cobranca
25
+ 15 => Position.new(16, 1, false), # Id se emite Boleto para Debito Automatico (Diferente de N registra e emite boleto)
26
+ 16 => Position.new(17, 10, false), # Reservado - Brancos
27
+ 17 => Position.new(18, 1, false), # Indicador Rateio (opcional)
28
+ 18 => Position.new(19, 1, false), # Enderecamento para aviso de Debito em Cc (opcional)
29
+ 19 => Position.new(20, 2, false), # Reservado - Brancos
30
+ 20 => Position.new(21, 2, false, "01"), # Identificacao de ocorrencias
31
+ 21 => Position.new(22, 10, false), # Numero do documento
32
+ 22 => Position.new(23, 6, false), # Data vencimento do titulo (DDMMAA)
33
+ 23 => Position.new(24, 13, true), # Valor do titulo
34
+ 24 => Position.new(25, 3, true, "0"), # Banco cobrador - Zeros
35
+ 25 => Position.new(26, 5, true, "0"), # Agencia depositaria - Zeros
36
+ 26 => Position.new(27, 2, false, "99"), # Tipo do titulo
37
+ 27 => Position.new(28, 1, false, "N"), # Identificação
38
+ 28 => Position.new(29, 6, false), # Data emissao do titulo (DDMMAA)
39
+ 29 => Position.new(30, 2, true), # 1º instrucao
40
+ 30 => Position.new(31, 2, true), # 2º instrucao
41
+ 31 => Position.new(32, 13, true, "0"), # Valor por dia de atraso
42
+ 32 => Position.new(33, 6, false), # Data Limite para Concessao Desconto (DDMMAA)
43
+ 33 => Position.new(34, 13, true, "0"), # Valor desconto
44
+ 34 => Position.new(35, 13, true, "0"), # Valor IOF
45
+ 35 => Position.new(36, 13, true, "0"), # Valor Abatimento
46
+ 36 => Position.new(37, 2, false), # Tipo de inscrição (1:CPF, 2: CNPJ)
47
+ 37 => Position.new(38, 14, true), # Numero da inscricao
48
+ 38 => Position.new(39, 40, false), # Nome do sacado
49
+ 39 => Position.new(40, 40, false), # End. do sacado
50
+ 40 => Position.new(41, 12, false), # 1º mensagem
51
+ 41 => Position.new(42, 8, false), # CEP do sacado
52
+ 42 => Position.new(43, 60, false), # Sacador/Avalista ou 2º mensagem
53
+ 43 => Position.new(44, 6, true) # Numero sequencial
54
+
55
+ })
56
+ end
57
+
58
+ def set_values params
59
+ set_identificacao_empresa params[:identificacao_empresa]
60
+ set_nosso_numero params[:nosso_numero]
61
+ set_codigo_banco_debitado params[:codigo_banco_debitado]
62
+ set_reservado_1
63
+ set_indicador_rateio
64
+ set_enderecamento
65
+ set_reservado_2
66
+ set_numero_documento params[:numero_documento]
67
+ set_vencimento_titulo params[:vencimento]
68
+ set_valor_titulo params[:valor]
69
+ set_data_emissao_titulo Date.today
70
+ set_1_instrucao
71
+ set_2_instrucao
72
+ set_valor_por_atraso
73
+ set_id_inscricao_sacado params[:tipo_inscricao]
74
+ set_numero_inscricao_sacado params[:numero_inscricao]
75
+ set_nome_sacado params[:nome_sacado]
76
+ set_endereco params[:endereco]
77
+ set_1_mensagem
78
+ set_cep params[:cep]
79
+ set_2_mensagem
80
+ set_sequencial params[:sequencial]
81
+ end
82
+
83
+ def is_valid?
84
+ get_identificacao_empresa.length > 0 and
85
+ get_nosso_numero.length > 0 and
86
+ get_numero_documento.length > 0 and
87
+ get_sequencial.length > 0
88
+ end
89
+
90
+ end
91
+ end
92
+
93
+ module Retorno
94
+ class Detalhe < FormatSection
95
+ include V08DetalheCommons
96
+
97
+ def initialize
98
+ @section = Section.new({
99
+ 0 => Position.new(1, 1, false, "1", true), # Código do Registro
100
+ 1 => Position.new(2, 2, true), # Tipo de inscrição da empresa (01:CPF, 02: CNPJ)
101
+ 2 => Position.new(3, 14, false), # Numero da inscricao da empresa
102
+ 3 => Position.new(4, 3, false), # Reservado - Zeros
103
+ 4 => Position.new(5, 17, true), # Identificação da empresa (zero, carteira, agencia e CC )
104
+ 5 => Position.new(6, 25, false), # Numero controle do participante
105
+ 6 => Position.new(7, 8, false), # Reservado - Zeros
106
+ 7 => Position.new(8, 12, true), # Identificação do titulo no banco
107
+ 8 => Position.new(9, 10, false), # Reservado - Zeros
108
+ 9 => Position.new(10, 12, false), # Reservado - Zeros
109
+ 10 => Position.new(11, 1, false), # Indicador Rateio
110
+ 11 => Position.new(12, 2, false), # Reservado - Zeros
111
+ 12 => Position.new(13, 1, false), # Carteira
112
+ 13 => Position.new(14, 2, false), # Id da Ocorrencia
113
+ 14 => Position.new(15, 6, false), # Data da Ocorrencia
114
+ 15 => Position.new(16, 10, false), # Numero Documento
115
+ 16 => Position.new(17, 20, false), # Id do titulo no banco
116
+ 17 => Position.new(18, 6, false), # Data vencimento do titulo (DDMMAA)
117
+ 18 => Position.new(19, 13, false), # Valor do titulo
118
+ 19 => Position.new(20, 3, false), # Banco cobrador
119
+ 20 => Position.new(21, 5, false), # Agencia Cobradora
120
+ 21 => Position.new(22, 2, false), # Especie de titulo - branco
121
+ 22 => Position.new(23, 13, false), # Valor despesa das ocorrencias
122
+ 23 => Position.new(24, 13, false), # Outras despesas
123
+ 24 => Position.new(25, 13, false), # Juros operação em atraso
124
+ 25 => Position.new(26, 13, false), # IOF devido
125
+ 26 => Position.new(27, 13, false), # Valor abatimento
126
+ 27 => Position.new(28, 13, false), # Valor desconto concedido
127
+ 28 => Position.new(29, 13, false), # Valor pago
128
+ 29 => Position.new(30, 13, false), # Juros de mora
129
+ 30 => Position.new(31, 13, false), # Outros creditos
130
+ 31 => Position.new(32, 2, false), # Reservado - branco
131
+ 32 => Position.new(33, 1, false), # Motivo do codigo de ocorrencia
132
+ 33 => Position.new(34, 6, false), # Data do credito
133
+ 34 => Position.new(35, 3, false), # Origem pagamento
134
+ 35 => Position.new(36, 10, false), # Reservado - brancos
135
+ 36 => Position.new(37, 4, false), # Codigo do banco - quando cheque
136
+ 37 => Position.new(38, 10, false), # Motivo das rejeicoes
137
+ 38 => Position.new(39, 40, false), # Reservado - brancos
138
+ 39 => Position.new(40, 2, false), # numero do cartorio
139
+ 40 => Position.new(41, 10, false), # numero do protocolo
140
+ 41 => Position.new(42, 14, false), # Reservado - brancos
141
+ 42 => Position.new(43, 6, false) # Numero sequencial
142
+ })
143
+ end
144
+
145
+ def process_section file
146
+ set_tipo_inscricao file[1..2]
147
+ set_numero_inscricao file[3..16]
148
+ set_zeros_1 file[17..19]
149
+ set_id_empresa file[20..36]
150
+ set_controle_participante file[37..61]
151
+ set_zeros_2 file[62..69]
152
+ set_id_titulo file[70..81]
153
+ set_zeros_3 file[82..91]
154
+ set_zeros_4 file[93..103]
155
+ set_indicador_rateio_retorno file[104..104]
156
+ set_zeros_5 file[105..106]
157
+ set_carteira file[107..107]
158
+ set_ocorrencia_retorno file[108..109]
159
+ set_data_ocorrencia file[110..115]
160
+ set_numero_documento_retorno file[116..125]
161
+ set_id_titulo_2 file[126..145]
162
+ set_data_titulo file[146..151]
163
+ set_valor_titulo_retorno file[152..164]
164
+ set_banco_cobrador_retorno file[165..167]
165
+ set_agencia_cobradora file[168..172]
166
+ set_especie_titulo_retorno file[173..174]
167
+ set_despesas file[175..187]
168
+ set_outras_despesas file[188..200]
169
+ set_juros file[201..213]
170
+ set_iof file[214..226]
171
+ set_abatimento_concedido file[227..239]
172
+ set_desconto_concedido file[240..252]
173
+ set_valor_pago file[253..265]
174
+ set_juros_mora file[266..278]
175
+ set_outros_creditos file[279..291]
176
+ set_brancos_1 file[292..293]
177
+ set_motivo_ocorrencia file[294..294]
178
+ set_data_credito file[295..300]
179
+ set_origem_pagamento file[301..303]
180
+ set_brancos_2 file[304..313]
181
+ set_codigo_banco_retorno file[314..317]
182
+ set_motivo_rejeicoes file[318..327]
183
+ set_brancos_3 file[328..367]
184
+ set_numero_cartorio file[368..369]
185
+ set_numero_protocolo file[370..379]
186
+ set_brancos_4 file[380..393]
187
+ set_sequencial_retorno file[394..399]
188
+ end
189
+
190
+ def is_valid?
191
+ get_tipo_inscricao.length > 0 and
192
+ get_numero_inscricao.length > 0 and
193
+ # get_controle_participante.length > 0 and
194
+ # get_numero_documento_retorno.length > 0 and
195
+ get_ocorrencia.length > 0 and
196
+ get_sequencial_retorno.length > 0
197
+ end
198
+
199
+ end
200
+ end
201
+ end
202
+
@@ -0,0 +1,445 @@
1
+ module V08DetalheCommons
2
+
3
+
4
+ #-------------------------------------------------------------------
5
+ #-------------------------------------------------------------------
6
+ # Getters
7
+ def get_agencia
8
+ self.get_section_value(1)
9
+ end
10
+
11
+ def get_identificacao_empresa
12
+ self.get_section_value(6)
13
+ end
14
+
15
+ def get_nosso_numero
16
+ self.get_section_value(7)
17
+ end
18
+
19
+ def get_numero_documento
20
+ self.get_section_value(21)
21
+ end
22
+
23
+ def get_vencimento_titulo
24
+ self.get_section_value(22)
25
+ end
26
+
27
+ def get_nome_sacado
28
+ self.get_section_value(38)
29
+ end
30
+
31
+ def get_endereco
32
+ self.get_section_value(39)
33
+ end
34
+
35
+ def get_sequencial
36
+ self.get_section_value(43)
37
+ end
38
+
39
+ def get_tipo_inscricao
40
+ self.get_section_value(1)
41
+ end
42
+
43
+ def get_numero_inscricao
44
+ self.get_section_value(2)
45
+ end
46
+
47
+ def get_controle_participante
48
+ self.get_section_value(5)
49
+ end
50
+
51
+ def get_ocorrencia
52
+ self.get_section_value(13)
53
+ end
54
+
55
+ def get_numero_documento_retorno
56
+ self.get_section_value(15)
57
+ end
58
+
59
+ def get_sequencial_retorno
60
+ self.get_section_value(42)
61
+ end
62
+
63
+
64
+ #-------------------------------------------------------------------
65
+ #-------------------------------------------------------------------
66
+ # Setters
67
+ def set_agencia valor = ""
68
+ self.set_section_value(1, valor)
69
+ end
70
+
71
+ def set_tipo_inscricao valor = ""
72
+ self.set_section_value(1, valor)
73
+ end
74
+
75
+ def set_dv_agencia valor = ""
76
+ self.set_section_value(2, valor)
77
+ end
78
+
79
+ def set_numero_inscricao valor = ""
80
+ self.set_section_value(2, valor)
81
+ end
82
+
83
+ def set_razao_conta_corrente valor = ""
84
+ self.set_section_value(3, valor)
85
+ end
86
+
87
+ def set_zeros_1 valor = ""
88
+ self.set_section_value(3, valor)
89
+ end
90
+
91
+ def set_conta_corrente valor = ""
92
+ self.set_section_value(4, valor)
93
+ end
94
+
95
+ def set_id_empresa valor
96
+ self.set_section_value(4, valor)
97
+ end
98
+
99
+ def set_dv_conta_corrente valor = ""
100
+ self.set_section_value(5, valor)
101
+ end
102
+
103
+ def set_controle_participante valor
104
+ self.set_section_value(5, valor)
105
+ end
106
+
107
+ def set_identificacao_empresa valor = ""
108
+ self.set_section_value(6, valor)
109
+ end
110
+
111
+ def set_zeros_2 valor
112
+ self.set_section_value(6, valor)
113
+ end
114
+
115
+ def set_nosso_numero valor = ""
116
+ self.set_section_value(7, valor)
117
+ end
118
+
119
+ def set_id_titulo valor
120
+ self.set_section_value(7, valor)
121
+ end
122
+
123
+ def set_codigo_banco_debitado valor = ""
124
+ self.set_section_value(8, valor)
125
+ end
126
+
127
+ def set_zeros_3 valor
128
+ self.set_section_value(8, valor)
129
+ end
130
+
131
+ def set_campo_multa valor = "0"
132
+ self.set_section_value(9, valor)
133
+ end
134
+
135
+ def set_zeros_4 valor
136
+ self.set_section_value(9, valor)
137
+ end
138
+
139
+ def set_percentual_multa valor = "0"
140
+ self.set_section_value(10, valor)
141
+ end
142
+
143
+ def set_indicador_rateio_retorno valor
144
+ self.set_section_value(10, valor)
145
+ end
146
+
147
+ def set_identificacao_titulo valor = "0"
148
+ self.set_section_value(11, valor)
149
+ end
150
+
151
+ def set_zeros_5 valor
152
+ self.set_section_value(11, valor)
153
+ end
154
+
155
+ def set_digito_conferencia valor = "0"
156
+ self.set_section_value(12, valor)
157
+ end
158
+
159
+ def set_carteira valor
160
+ self.set_section_value(12, valor)
161
+ end
162
+
163
+ def set_desconto_bonificacao valor = "0"
164
+ self.set_section_value(13, valor)
165
+ end
166
+
167
+ def set_ocorrencia_retorno valor
168
+ self.set_section_value(13, valor)
169
+ end
170
+
171
+ def set_condicao_emissao valor
172
+ self.set_section_value(14, valor)
173
+ end
174
+
175
+ def set_data_ocorrencia valor
176
+ self.set_section_value(14, valor)
177
+ end
178
+
179
+ def set_id_boleto_debito valor = " "
180
+ self.set_section_value(15, valor)
181
+ end
182
+
183
+ def set_numero_documento_retorno valor
184
+ self.set_section_value(15, valor)
185
+ end
186
+
187
+ def set_reservado_1 valor = " "
188
+ self.set_section_value(16, valor)
189
+ end
190
+
191
+ def set_id_titulo_2 valor
192
+ self.set_section_value(16, valor)
193
+ end
194
+
195
+ def set_indicador_rateio valor = ""
196
+ self.set_section_value(17, valor)
197
+ end
198
+
199
+ def set_data_titulo valor = ""
200
+ self.set_section_value(17, valor)
201
+ end
202
+
203
+ def set_enderecamento valor = ""
204
+ self.set_section_value(18, valor)
205
+ end
206
+
207
+ def set_valor_titulo_retorno valor
208
+ self.set_section_value(18, valor)
209
+ end
210
+
211
+ def set_reservado_2 valor = " "
212
+ self.set_section_value(19, valor)
213
+ end
214
+
215
+ def set_banco_cobrador_retorno valor
216
+ self.set_section_value(19, valor)
217
+ end
218
+
219
+ def set_indicador_ocorrencia valor
220
+ self.set_section_value(20, valor)
221
+ end
222
+
223
+ def set_agencia_cobradora valor
224
+ self.set_section_value(20, valor)
225
+ end
226
+
227
+ def set_numero_documento valor = ""
228
+ self.set_section_value(21, valor)
229
+ end
230
+
231
+ def set_especie_titulo_retorno valor
232
+ self.set_section_value(21, valor)
233
+ end
234
+
235
+ def set_vencimento_titulo valor
236
+ begin
237
+ valor = Date.strptime(valor, "%d%m%Y") if valor.is_a?(String)
238
+ real_data = valor.strftime("%d%m%y")
239
+
240
+ if real_data.length == 6
241
+ self.set_section_value(22, real_data)
242
+ else
243
+ raise "tamanho de data incorreto"
244
+ end
245
+
246
+ rescue
247
+ raise "#{get_id}: Data de Geração Inválida
248
+ Valor: #{valor}"
249
+ end
250
+ end
251
+
252
+ def set_despesas valor
253
+ self.set_section_value(22, valor)
254
+ end
255
+
256
+ def set_valor_titulo valor
257
+ self.set_section_value(23, valor)
258
+ end
259
+
260
+ def set_outras_despesas valor
261
+ self.set_section_value(23, valor)
262
+ end
263
+
264
+ def set_banco_cobrador valor = "0"
265
+ self.set_section_value(24, valor)
266
+ end
267
+
268
+ def set_juros valor
269
+ self.set_section_value(24, valor)
270
+ end
271
+
272
+ def set_agencia_depositaria valor = "0"
273
+ self.set_section_value(25, valor)
274
+ end
275
+
276
+ def set_iof valor
277
+ self.set_section_value(25, valor)
278
+ end
279
+
280
+ def set_especie_titulo valor = ""
281
+ self.set_section_value(26, valor)
282
+ end
283
+
284
+ def set_abatimento_concedido valor = ""
285
+ self.set_section_value(26, valor)
286
+ end
287
+
288
+ def set_identificacao valor = ""
289
+ self.set_section_value(27, valor)
290
+ end
291
+
292
+ def set_desconto_concedido valor = ""
293
+ self.set_section_value(27, valor)
294
+ end
295
+
296
+ def set_data_emissao_titulo valor
297
+ begin
298
+ valor = Date.strptime(valor, "%d%m%Y") if valor.is_a?(String)
299
+ real_data = valor.strftime("%d%m%y")
300
+
301
+ if real_data.length == 6
302
+ self.set_section_value(28, real_data)
303
+ else
304
+ raise "tamanho de data incorreto"
305
+ end
306
+
307
+ rescue
308
+ raise "#{get_id}: Data de Geração Inválida
309
+ Valor: #{valor}"
310
+ end
311
+ end
312
+
313
+ def set_valor_pago valor = ""
314
+ self.set_section_value(28, valor)
315
+ end
316
+
317
+ def set_1_instrucao valor = "0"
318
+ self.set_section_value(29, valor)
319
+ end
320
+
321
+ def set_juros_mora valor
322
+ self.set_section_value(29, valor)
323
+ end
324
+
325
+ def set_2_instrucao valor = "0"
326
+ self.set_section_value(30, valor)
327
+ end
328
+
329
+ def set_outros_creditos valor
330
+ self.set_section_value(30, valor)
331
+ end
332
+
333
+ def set_valor_por_atraso valor = "0"
334
+ self.set_section_value(31, valor)
335
+ end
336
+
337
+ def set_brancos_1 valor
338
+ self.set_section_value(31, valor)
339
+ end
340
+
341
+ def set_data_limite_desconto valor = ""
342
+ begin
343
+ valor = Date.strptime(valor, "%d%m%Y") if valor.is_a?(String)
344
+ real_data = valor.strftime("%d%m%y")
345
+
346
+ if real_data.length == 6
347
+ self.set_section_value(32, real_data)
348
+ else
349
+ raise "tamanho de data incorreto"
350
+ end
351
+
352
+ rescue
353
+ raise "#{get_id}: Data de Geração Inválida
354
+ Valor: #{valor}"
355
+ end
356
+ end
357
+
358
+ def set_motivo_ocorrencia valor
359
+ self.set_section_value(32, valor)
360
+ end
361
+
362
+ def set_valor_desconto valor = "0"
363
+ self.set_section_value(33, valor)
364
+ end
365
+
366
+ def set_data_credito valor = ""
367
+ self.set_section_value(33, valor)
368
+ end
369
+
370
+ def set_valor_iof valor = "0"
371
+ self.set_section_value(34, valor)
372
+ end
373
+
374
+ def set_origem_pagamento valor = ""
375
+ self.set_section_value(34, valor)
376
+ end
377
+
378
+ def set_valor_abatimento valor
379
+ self.set_section_value(35, valor)
380
+ end
381
+
382
+ def set_brancos_2 valor
383
+ self.set_section_value(35, valor)
384
+ end
385
+
386
+ def set_id_inscricao_sacado valor = ""
387
+ self.set_section_value(36, valor)
388
+ end
389
+
390
+ def set_codigo_banco_retorno valor = ""
391
+ self.set_section_value(36, valor)
392
+ end
393
+
394
+ def set_numero_inscricao_sacado valor = ""
395
+ self.set_section_value(37, valor)
396
+ end
397
+
398
+ def set_motivo_rejeicoes valor = ""
399
+ self.set_section_value(37, valor)
400
+ end
401
+
402
+ def set_nome_sacado valor = ""
403
+ self.set_section_value(38, valor)
404
+ end
405
+
406
+ def set_brancos_3 valor = ""
407
+ self.set_section_value(38, valor)
408
+ end
409
+
410
+ def set_endereco valor = ""
411
+ self.set_section_value(39, valor)
412
+ end
413
+
414
+ def set_numero_cartorio valor = ""
415
+ self.set_section_value(39, valor)
416
+ end
417
+
418
+ def set_1_mensagem valor = ""
419
+ self.set_section_value(40, valor)
420
+ end
421
+
422
+ def set_numero_protocolo valor = ""
423
+ self.set_section_value(40, valor)
424
+ end
425
+
426
+ def set_cep valor = ""
427
+ self.set_section_value(41, valor)
428
+ end
429
+
430
+ def set_brancos_4 valor = ""
431
+ self.set_section_value(41, valor)
432
+ end
433
+
434
+ def set_2_mensagem valor = ""
435
+ self.set_section_value(42, valor)
436
+ end
437
+
438
+ def set_sequencial_retorno valor = ""
439
+ self.set_section_value(42, valor)
440
+ end
441
+
442
+ def set_sequencial valor = ""
443
+ self.set_section_value(43, valor)
444
+ end
445
+ end