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
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 987c9458d97877aca613838288688e24857f4867
|
4
|
+
data.tar.gz: e99f6a7743086a35fac50122218efaf7bdac09e9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c5c333fb415aa36768b5670619eb552cc529c916f8c3d65d030928470d5cc8ba0d1037fbd7f22743c10a5ce88d1c1514e0128928833a900a44931ce2c7ffffcb
|
7
|
+
data.tar.gz: 7b6992ab5a097fa17d0a232c783b61cb5b5a095bcbd24ffef39f74ce89244effd8329833f2e98b4bb7059f280d9c0b96b9d584db008eef73e4ad26c8a0c7b98b
|
@@ -2,26 +2,27 @@
|
|
2
2
|
class Cnab400
|
3
3
|
require 'date'
|
4
4
|
|
5
|
-
|
5
|
+
SECTION_TYPES = {header: '00', client: "01", trailler: '99'}
|
6
|
+
|
7
|
+
VERSAO = "05"
|
8
|
+
|
9
|
+
# Carrega todas as dependências de Layout
|
6
10
|
Dir[File.join(File.dirname(__FILE__), '../..', 'base', '**/*.rb')].sort.each do |file|
|
7
11
|
require file
|
8
12
|
end
|
9
13
|
|
10
14
|
# Partes do Layout
|
11
|
-
require_relative '
|
12
|
-
require_relative '
|
13
|
-
require_relative '
|
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
|
15
|
+
require_relative 'cnab_400_header' # Header
|
16
|
+
require_relative 'cnab_400_detalhe' # Transação
|
17
|
+
require_relative 'cnab_400_trailler' # Trailler
|
17
18
|
|
18
19
|
#-------------------------------------------------------------------
|
19
20
|
#-------------------------------------------------------------------
|
20
21
|
# Construtor
|
21
|
-
def initialize file =
|
22
|
+
def initialize file = ""
|
22
23
|
@sections = []
|
23
24
|
|
24
|
-
if file.
|
25
|
+
if file.size > 0
|
25
26
|
self.process_file file
|
26
27
|
end
|
27
28
|
end
|
@@ -34,133 +35,69 @@ class Cnab400
|
|
34
35
|
if section.is_valid?
|
35
36
|
self.sections << section
|
36
37
|
else
|
37
|
-
raise "
|
38
|
+
raise "Seção #{section.get_id} está inválida:
|
38
39
|
#{section.errors.inspect}
|
39
40
|
#{section.to_s}"
|
40
41
|
end
|
41
42
|
end
|
42
43
|
|
43
44
|
def add_section_from_business section
|
44
|
-
|
45
|
-
|
46
|
-
self
|
47
|
-
else
|
48
|
-
raise "Seção #{section.get_id} não pode ser criada pela Empresa"
|
49
|
-
end
|
45
|
+
self.add_section section
|
46
|
+
self
|
50
47
|
end
|
51
48
|
|
52
49
|
#-------------------------------------------------------------------
|
53
50
|
#-------------------------------------------------------------------
|
54
|
-
#
|
51
|
+
# Criação das Partes
|
55
52
|
public
|
56
53
|
|
57
|
-
|
58
|
-
def create_header(codigo_empresa, nome_empresa, codigo_banco,
|
59
|
-
nome_banco, data_geracao, numero_sequencial)
|
54
|
+
def create_header(params = {})
|
60
55
|
|
61
56
|
if self.get_header.nil?
|
62
|
-
section = self.get_new_section(
|
63
|
-
|
64
|
-
section.
|
65
|
-
section.
|
66
|
-
section.
|
67
|
-
section.
|
68
|
-
section.
|
69
|
-
section.
|
70
|
-
section.
|
71
|
-
section.
|
72
|
-
section.
|
73
|
-
section.
|
74
|
-
section.
|
75
|
-
section.
|
76
|
-
section.
|
77
|
-
|
78
|
-
section
|
79
|
-
|
80
|
-
self.add_section_from_business(section)
|
57
|
+
section = self.get_new_section(:header)
|
58
|
+
|
59
|
+
section.set_codigo_arquivo params[:codigo_arquivo]
|
60
|
+
section.set_identificacao_arquivo params[:tipo_literal]
|
61
|
+
section.set_codigo_servico params[:codigo_servico]
|
62
|
+
section.set_literal_servico params[:servico_literal]
|
63
|
+
section.set_codigo_empresa params[:codigo_empresa]
|
64
|
+
section.set_nome_empresa params[:nome_empresa]
|
65
|
+
section.set_numero_banco params[:numero_banco]
|
66
|
+
section.set_nome_banco params[:nome_banco]
|
67
|
+
section.set_data_gravacao Date.today
|
68
|
+
section.set_reservado_1
|
69
|
+
section.set_identificacao_sistema params[:id_sistema]
|
70
|
+
section.set_reservado_2
|
71
|
+
section.set_sequencial
|
72
|
+
|
73
|
+
self.add_section_from_business section
|
81
74
|
|
82
75
|
else
|
83
|
-
raise
|
76
|
+
raise "Header já declarado!"
|
84
77
|
end
|
85
78
|
end
|
86
79
|
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
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)
|
138
|
-
|
139
|
-
else
|
140
|
-
raise 'Header não declarado!'
|
141
|
-
end
|
80
|
+
#-------------------------------------------------------------------
|
81
|
+
#-------------------------------------------------------------------
|
82
|
+
# Validações
|
83
|
+
protected
|
84
|
+
def valida_existe_header
|
85
|
+
raise "Header (Seção A) ainda não declarado" if self.get_header.nil?
|
142
86
|
end
|
143
87
|
|
144
|
-
|
145
|
-
def
|
146
|
-
|
147
|
-
|
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)
|
88
|
+
public
|
89
|
+
def is_valid?
|
90
|
+
if self.layout_empresa?
|
91
|
+
raise "Layout de Empresa inválido!" unless self.is_empresa_valid?
|
156
92
|
|
157
|
-
|
158
|
-
|
159
|
-
end
|
93
|
+
elsif self.layout_banco?
|
94
|
+
raise "Layout de Banco inválido!" unless self.is_banco_valid?
|
160
95
|
|
161
96
|
else
|
162
|
-
raise
|
97
|
+
raise "Código de Remessa desconhecido: #{codigo_remessa}"
|
163
98
|
end
|
99
|
+
|
100
|
+
result = self.is_sections_valid?
|
164
101
|
end
|
165
102
|
|
166
103
|
#-------------------------------------------------------------------
|
@@ -179,68 +116,35 @@ class Cnab400
|
|
179
116
|
self.sections.select {|c| c.is_section?(section) == true }
|
180
117
|
end
|
181
118
|
|
182
|
-
def
|
119
|
+
def is_valid?
|
183
120
|
self.sections.select {|b| b.is_valid? == false }.length == 0
|
184
121
|
end
|
185
122
|
|
186
123
|
def to_s
|
187
|
-
self.sections.map
|
124
|
+
self.sections.map{|a| a.to_s.concat("\r\n")}.join("")
|
188
125
|
end
|
189
126
|
|
190
127
|
def get_header
|
191
|
-
self.get_section(
|
128
|
+
self.get_section(SECTION_TYPES[:header]).first()
|
192
129
|
end
|
193
130
|
|
194
131
|
def get_trailler
|
195
|
-
self.get_section(
|
132
|
+
self.get_section(SECTION_TYPES[:trailler]).first()
|
196
133
|
end
|
197
134
|
|
198
|
-
|
199
|
-
|
200
|
-
# Getters
|
201
|
-
public
|
202
|
-
def get_nome_arquivo
|
203
|
-
data_geracao = Date.new
|
204
|
-
"CD#{data_geracao.day}#{data_geracao.month}00.REM"
|
205
|
-
end
|
206
|
-
|
207
|
-
#-------------------------------------------------------------------
|
208
|
-
#-------------------------------------------------------------------
|
135
|
+
#--------------------------------------------------------------------------------------
|
136
|
+
#--------------------------------------------------------------------------------------
|
209
137
|
# Carregamento de Arquivo
|
210
138
|
protected
|
211
139
|
def get_new_section section_type
|
212
140
|
case section_type
|
213
|
-
when
|
214
|
-
|
215
|
-
when
|
216
|
-
|
217
|
-
when
|
218
|
-
|
219
|
-
when "3"
|
220
|
-
Cnab4003.new(self)
|
221
|
-
when "7"
|
222
|
-
Cnab4007.new(self)
|
223
|
-
when "9"
|
224
|
-
Cnab4009.new(self)
|
225
|
-
end
|
226
|
-
end
|
227
|
-
|
228
|
-
def process_file location
|
229
|
-
file = File.new(location, 'r')
|
230
|
-
|
231
|
-
while (line = file.gets)
|
232
|
-
process_string line
|
141
|
+
when :header
|
142
|
+
Cnab4000Header.new(self)
|
143
|
+
when :client
|
144
|
+
Cnab4000Detalhe.new(self)
|
145
|
+
when :trailler
|
146
|
+
Cnab4000Trailler.new(self)
|
233
147
|
end
|
234
|
-
|
235
|
-
file.close
|
236
148
|
end
|
149
|
+
end
|
237
150
|
|
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
|
246
|
-
end
|
@@ -0,0 +1,276 @@
|
|
1
|
+
|
2
|
+
#-------------------------------------------------------------------
|
3
|
+
#-------------------------------------------------------------------
|
4
|
+
# Detalhe - Empresa e Banco
|
5
|
+
class Cnab4000Detalhe < 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, "1", true), # Código do Registro
|
13
|
+
1 => Position.new(2, 5, true), # Agencia
|
14
|
+
2 => Position.new(3, 3, false), # Reservado - Zeros
|
15
|
+
3 => Position.new(4, 7, false), # Conta Corrente
|
16
|
+
4 => Position.new(5, 1, true), # Dv
|
17
|
+
5 => Position.new(6, 2, false), # Carteira
|
18
|
+
6 => Position.new(7, 3, true), # Reservado - Zeros
|
19
|
+
7 => Position.new(8, 12, true), # Nosso numero
|
20
|
+
8 => Position.new(9, 4, true), # Reservado - Zeros
|
21
|
+
9 => Position.new(10, 11, false), # Documento
|
22
|
+
10 => Position.new(11, 4, false), # Reservado - Zeros
|
23
|
+
11 => Position.new(12, 6, false), # Data do documento (DDMMAA)
|
24
|
+
12 => Position.new(13, 4, false), # Reservado - Zeros
|
25
|
+
13 => Position.new(14, 6, false), # Data de validade (DDMMAA)
|
26
|
+
14 => Position.new(15, 40, false), # Nome do cliente
|
27
|
+
15 => Position.new(16, 60, false), # Logradouro
|
28
|
+
16 => Position.new(17, 10, false), # Número
|
29
|
+
17 => Position.new(18, 10, false), # Complemento
|
30
|
+
18 => Position.new(19, 30, false), # Bairro
|
31
|
+
19 => Position.new(20, 30, false), # Cidade
|
32
|
+
20 => Position.new(21, 2, false), # Estado
|
33
|
+
21 => Position.new(22, 8, false), # Cep
|
34
|
+
22 => Position.new(23, 15, false), # Valor
|
35
|
+
23 => Position.new(24, 44, false), # Codigo de Barras
|
36
|
+
24 => Position.new(25, 4, false), # Reservado - Zeros
|
37
|
+
25 => Position.new(26, 56, false), # Linha digitada
|
38
|
+
26 => Position.new(27, 14, false), # Reservado - Brancos
|
39
|
+
27 => Position.new(128, 6, false) # Sequencial
|
40
|
+
})
|
41
|
+
end
|
42
|
+
|
43
|
+
#-------------------------------------------------------------------
|
44
|
+
#-------------------------------------------------------------------
|
45
|
+
# Gerais
|
46
|
+
def process_section file
|
47
|
+
self.set_agencia file[1..5]
|
48
|
+
self.set_reservado_1 file[6..8]
|
49
|
+
self.set_conta_corrente file[9..15]
|
50
|
+
self.set_dv file[16..16]
|
51
|
+
self.set_carteira file[17..18]
|
52
|
+
self.set_reservado_2 file[19..21]
|
53
|
+
self.set_nosso_numero file[22..33]
|
54
|
+
self.set_reservado_3 file[34..37]
|
55
|
+
self.set_documento file[38..48]
|
56
|
+
self.set_reservado_4 file[49..52]
|
57
|
+
self.set_data_documento file[53..58]
|
58
|
+
self.set_reservado_5 file[59..62]
|
59
|
+
self.set_data_validade file[63..68]
|
60
|
+
self.set_nome_cliente file[69..108]
|
61
|
+
self.set_logradouro file[109..168]
|
62
|
+
self.set_numero file[169..178]
|
63
|
+
self.set_complemento file[179..188]
|
64
|
+
self.set_bairro file[189..218]
|
65
|
+
self.set_cidade file[219..248]
|
66
|
+
self.set_estado file[249..250]
|
67
|
+
self.set_cep file[251..258]
|
68
|
+
self.set_valor file[259..273]
|
69
|
+
self.set_codigo_barras file[274..317]
|
70
|
+
self.set_reservado_6 file[318..321]
|
71
|
+
self.set_linha file[322..377]
|
72
|
+
self.set_reservado_7 file[378..391]
|
73
|
+
self.set_sequencial file[392..399]
|
74
|
+
end
|
75
|
+
|
76
|
+
#-------------------------------------------------------------------
|
77
|
+
#-------------------------------------------------------------------
|
78
|
+
# Validações
|
79
|
+
def is_valid?
|
80
|
+
result = (self.get_codigo_remessa > 0 and
|
81
|
+
self.get_codigo_convenio.length > 0 and
|
82
|
+
self.get_nome_empresa.length > 0 and
|
83
|
+
self.get_codigo_banco > 0 and
|
84
|
+
self.get_nome_banco.length > 0 and
|
85
|
+
!self.get_data_geracao.nil? and
|
86
|
+
self.get_numero_sequencial > 0 and
|
87
|
+
self.get_versao_layout > 0 and
|
88
|
+
self.get_identificacao_servico.length > 0)
|
89
|
+
end
|
90
|
+
|
91
|
+
#-------------------------------------------------------------------
|
92
|
+
#-------------------------------------------------------------------
|
93
|
+
# Getters
|
94
|
+
def get_codigo_remessa
|
95
|
+
self.get_section_value(1).to_i
|
96
|
+
end
|
97
|
+
|
98
|
+
def get_identificacao_arquivo
|
99
|
+
self.get_section_value(2)
|
100
|
+
end
|
101
|
+
|
102
|
+
def get_codigo_servico
|
103
|
+
self.get_section_value(3)
|
104
|
+
end
|
105
|
+
|
106
|
+
def get_literal_servico
|
107
|
+
self.get_section_value(4)
|
108
|
+
end
|
109
|
+
|
110
|
+
def get_codigo_empresa
|
111
|
+
self.get_section_value(5)
|
112
|
+
end
|
113
|
+
|
114
|
+
def get_nome_empresa
|
115
|
+
self.get_section_value(6)
|
116
|
+
end
|
117
|
+
|
118
|
+
def get_numero_banco
|
119
|
+
self.get_section_value(7)
|
120
|
+
end
|
121
|
+
|
122
|
+
def get_nome_banco
|
123
|
+
self.get_section_value(8)
|
124
|
+
end
|
125
|
+
|
126
|
+
def get_data_gravacao
|
127
|
+
self.get_section_value(9)
|
128
|
+
end
|
129
|
+
|
130
|
+
def get_identificacao_sistema
|
131
|
+
self.get_section_value(11)
|
132
|
+
end
|
133
|
+
|
134
|
+
def get_sequencial
|
135
|
+
self.get_section_value(13)
|
136
|
+
end
|
137
|
+
|
138
|
+
|
139
|
+
#-------------------------------------------------------------------
|
140
|
+
#-------------------------------------------------------------------
|
141
|
+
# Setters
|
142
|
+
def set_agencia valor
|
143
|
+
self.set_section_value(1, valor)
|
144
|
+
end
|
145
|
+
|
146
|
+
def set_reservado_1 valor
|
147
|
+
self.set_section_value(2, valor)
|
148
|
+
end
|
149
|
+
|
150
|
+
def set_conta_corrente valor
|
151
|
+
self.set_section_value(3, valor)
|
152
|
+
end
|
153
|
+
|
154
|
+
def set_dv valor
|
155
|
+
self.set_section_value(4, valor)
|
156
|
+
end
|
157
|
+
|
158
|
+
def set_carteira valor
|
159
|
+
self.set_section_value(5, valor)
|
160
|
+
end
|
161
|
+
|
162
|
+
def set_reservado_2 valor
|
163
|
+
self.set_section_value(6, valor)
|
164
|
+
end
|
165
|
+
|
166
|
+
def set_nosso_numero valor
|
167
|
+
self.set_section_value(7, valor)
|
168
|
+
end
|
169
|
+
|
170
|
+
def set_reservado_3 valor
|
171
|
+
self.set_section_value(8, valor)
|
172
|
+
end
|
173
|
+
|
174
|
+
def set_documento valor
|
175
|
+
self.set_section_value(9, valor)
|
176
|
+
end
|
177
|
+
|
178
|
+
def set_reservado_4 valor
|
179
|
+
self.set_section_value(10, valor)
|
180
|
+
end
|
181
|
+
|
182
|
+
def set_data_documento valor
|
183
|
+
begin
|
184
|
+
valor = Date.strptime(valor, "%d%m%Y") if valor.is_a?(String)
|
185
|
+
real_data = valor.strftime("%d%m%y")
|
186
|
+
|
187
|
+
if real_data.length == 6
|
188
|
+
self.set_section_value(11, real_data)
|
189
|
+
else
|
190
|
+
raise "tamanho de data incorreto"
|
191
|
+
end
|
192
|
+
|
193
|
+
rescue
|
194
|
+
raise "#{get_id}: Data do Documento Inválida
|
195
|
+
Valor: #{valor}"
|
196
|
+
end
|
197
|
+
end
|
198
|
+
|
199
|
+
def set_reservado_5 valor
|
200
|
+
self.set_section_value(12, valor)
|
201
|
+
end
|
202
|
+
|
203
|
+
def set_data_validade valor
|
204
|
+
begin
|
205
|
+
valor = Date.strptime(valor, "%d%m%Y") if valor.is_a?(String)
|
206
|
+
real_data = valor.strftime("%d%m%y")
|
207
|
+
|
208
|
+
if real_data.length == 6
|
209
|
+
self.set_section_value(13, real_data)
|
210
|
+
else
|
211
|
+
raise "tamanho de data incorreto"
|
212
|
+
end
|
213
|
+
|
214
|
+
rescue
|
215
|
+
raise "#{get_id}: Data de Validade Inválida
|
216
|
+
Valor: #{valor}"
|
217
|
+
end
|
218
|
+
end
|
219
|
+
|
220
|
+
def set_nome_cliente valor
|
221
|
+
self.set_section_value(14, valor)
|
222
|
+
end
|
223
|
+
|
224
|
+
def set_logradouro valor
|
225
|
+
self.set_section_value(15, valor)
|
226
|
+
end
|
227
|
+
|
228
|
+
def set_numero valor
|
229
|
+
self.set_section_value(16, valor)
|
230
|
+
end
|
231
|
+
|
232
|
+
def set_complemento valor
|
233
|
+
self.set_section_value(17, valor)
|
234
|
+
end
|
235
|
+
|
236
|
+
|
237
|
+
def set_bairro valor
|
238
|
+
self.set_section_value(18, valor)
|
239
|
+
end
|
240
|
+
|
241
|
+
def set_cidade valor
|
242
|
+
self.set_section_value(19, valor)
|
243
|
+
end
|
244
|
+
|
245
|
+
def set_estado valor
|
246
|
+
self.set_section_value(20, valor)
|
247
|
+
end
|
248
|
+
|
249
|
+
def set_cep valor
|
250
|
+
self.set_section_value(21, valor)
|
251
|
+
end
|
252
|
+
|
253
|
+
def set_valor valor
|
254
|
+
self.set_section_value(22, valor)
|
255
|
+
end
|
256
|
+
|
257
|
+
def set_codigo_barras valor
|
258
|
+
self.set_section_value(23, valor)
|
259
|
+
end
|
260
|
+
|
261
|
+
def set_reservado_6 valor
|
262
|
+
self.set_section_value(24, valor)
|
263
|
+
end
|
264
|
+
|
265
|
+
def set_linha valor
|
266
|
+
self.set_section_value(25, valor)
|
267
|
+
end
|
268
|
+
|
269
|
+
def set_reservado_7 valor
|
270
|
+
self.set_section_value(26, valor)
|
271
|
+
end
|
272
|
+
|
273
|
+
def set_sequencial valor
|
274
|
+
self.set_section_value(27, valor)
|
275
|
+
end
|
276
|
+
end
|