cnab240santander 1.0.2 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/cnab240santander/detalhe.rb +35 -35
- data/lib/cnab240santander/header_arquivo.rb +11 -11
- data/lib/cnab240santander/header_lote.rb +13 -13
- data/lib/cnab240santander/retorno.rb +1 -1
- data/lib/cnab240santander/trailer_arquivo.rb +1 -1
- data/lib/cnab240santander/trailer_lote.rb +11 -11
- data/lib/cnab240santander/version.rb +1 -1
- metadata +4 -4
@@ -5,49 +5,49 @@ module Cnab240santander
|
|
5
5
|
|
6
6
|
if segmento == "T"
|
7
7
|
#Controle
|
8
|
-
vlinha["banco"] = linha[0..2] # Num //
|
8
|
+
vlinha["banco"] = linha[0..2] # Num //Codigo no Banco da Compensacao
|
9
9
|
vlinha["lote"] = linha[3..6] # Num //Numero do lote retorno
|
10
10
|
vlinha["registro"] = linha[7..7] # Num //Tipo de Registro - 3
|
11
|
-
#
|
11
|
+
#Servico
|
12
12
|
vlinha["num_registro_lote"] = linha[8..12] # Num //No sequencial do registro no lote
|
13
|
-
vlinha["segmento"] = linha[13..13] # Alfa //
|
13
|
+
vlinha["segmento"] = linha[13..13] # Alfa //Codigo de Segmento no Reg. Detalhe - T
|
14
14
|
vlinha["res_banco1"] = linha[14..14] # Alfa //Reservado (uso Banco) - Brancos
|
15
|
-
vlinha["cod_movimento"] = linha[15..16] # Num //
|
16
|
-
vlinha["agencia_ced"] = linha[17..20] # Num //
|
17
|
-
vlinha["dv_agencia_ced"] = linha[21..21] # Num //
|
18
|
-
vlinha["conta_ced"] = linha[22..30] # Num //
|
19
|
-
vlinha["dv_conta_ced"] = linha[31..31] # Num //
|
15
|
+
vlinha["cod_movimento"] = linha[15..16] # Num //Codigo de movimento (ocorrencia)
|
16
|
+
vlinha["agencia_ced"] = linha[17..20] # Num //Agencia do Cedente
|
17
|
+
vlinha["dv_agencia_ced"] = linha[21..21] # Num //Digito da Agencia do Cedente
|
18
|
+
vlinha["conta_ced"] = linha[22..30] # Num //Numero da conta corrente
|
19
|
+
vlinha["dv_conta_ced"] = linha[31..31] # Num //Digito verificador da conta
|
20
20
|
vlinha["res_banco2"] = linha[32..39] # Alfa //Reservado (uso Banco) - Brancos
|
21
|
-
vlinha["nosso_numero"] = linha[40..52] # Num //
|
22
|
-
vlinha["cod_carteira"] = linha[53..53] # Num //
|
23
|
-
vlinha["seu_numero"] = linha[54..68] # Alfa //No do documento de
|
24
|
-
vlinha["data_venc_titulo"] = formataData(linha[69..76]) # Num //Data do vencimento do
|
25
|
-
vlinha["valor_nominal"] = preparaMoeda(linha[77..91], 2) # Num //Valor nominal do
|
21
|
+
vlinha["nosso_numero"] = linha[40..52] # Num //Identificacao do titulo no Banco - Nosso numero
|
22
|
+
vlinha["cod_carteira"] = linha[53..53] # Num //Codigo da carteira
|
23
|
+
vlinha["seu_numero"] = linha[54..68] # Alfa //No do documento de cobranca - Seu numero
|
24
|
+
vlinha["data_venc_titulo"] = formataData(linha[69..76]) # Num //Data do vencimento do titulo - DDMMAAAA
|
25
|
+
vlinha["valor_nominal"] = preparaMoeda(linha[77..91], 2) # Num //Valor nominal do titulo - 2 decimais
|
26
26
|
vlinha["banco_cobrador"] = linha[92..94] # Num //No do Banco Cobrador / Recebedor
|
27
|
-
vlinha["ag_cobradora"] = linha[95..98] # Num //
|
28
|
-
vlinha["dig_ag_cobradora"] = linha[99..99] # Num //
|
29
|
-
vlinha["id_titulo"] = linha[100..124] # Alfa //Identif. do
|
30
|
-
vlinha["cod_moeda"] = linha[125..126] # Num //
|
31
|
-
vlinha["tipo_inscricao_sacado"] = linha[127..127] # Num //Tipo de
|
32
|
-
vlinha["num_inscricao_sacado"] = linha[128..142] # Num //
|
27
|
+
vlinha["ag_cobradora"] = linha[95..98] # Num //Agencia Cobradora / Recebedora
|
28
|
+
vlinha["dig_ag_cobradora"] = linha[99..99] # Num //Digito da Agencia do Cobradora
|
29
|
+
vlinha["id_titulo"] = linha[100..124] # Alfa //Identif. do titulo na empresa
|
30
|
+
vlinha["cod_moeda"] = linha[125..126] # Num //Codigo da moeda
|
31
|
+
vlinha["tipo_inscricao_sacado"] = linha[127..127] # Num //Tipo de inscricao sacado - 1 =CPF, 2 = CNPJ
|
32
|
+
vlinha["num_inscricao_sacado"] = linha[128..142] # Num //Numero de inscricao sacado
|
33
33
|
vlinha["nome_sacado"] = linha[143..182] # Alfa //Nome do Sacado
|
34
|
-
vlinha["conta_cobranca"] = linha[183..192] # Alfa //Conta
|
34
|
+
vlinha["conta_cobranca"] = linha[183..192] # Alfa //Conta Cobranca
|
35
35
|
vlinha["valor_tarifa"] = preparaMoeda(linha[193..207], 2) # Num //Valor da Tarifa/Custas
|
36
|
-
vlinha["rejeicoes"] = linha[208..217] # Alfa //
|
37
|
-
# ocorre 5 vezes, sendo que cada
|
36
|
+
vlinha["rejeicoes"] = linha[208..217] # Alfa //Identificacao para rejeicoes, tarifas, custas, liquidacoes e baixas,
|
37
|
+
# ocorre 5 vezes, sendo que cada ocorrencia ocupa 02 digitos.
|
38
38
|
vlinha["res_banco3"] = linha[218..239] # Alfa //Reservado (uso Banco) - Brancos
|
39
39
|
|
40
40
|
elsif segmento == "U"
|
41
41
|
|
42
42
|
#Controle
|
43
|
-
vlinha["banco2"] = linha[0..2] # Num //
|
44
|
-
vlinha["lote2"] = linha[3..6] # Num //Lote de
|
43
|
+
vlinha["banco2"] = linha[0..2] # Num //Codigo do Banco na Compensacao
|
44
|
+
vlinha["lote2"] = linha[3..6] # Num //Lote de Servico
|
45
45
|
vlinha["registro2"] = linha[7..7] # Num default '3'//Registro detalhe
|
46
|
-
#
|
46
|
+
#Servico
|
47
47
|
vlinha["num_registro_lote2"] = linha[8..12] # Num //No Sequencial do Registro no Lote
|
48
|
-
vlinha["segmento2"] = linha[13..13] # Alfa //
|
48
|
+
vlinha["segmento2"] = linha[13..13] # Alfa //Cod. segmento do registro detalhe - U
|
49
49
|
vlinha["res_banco4"] = linha[14..14] # Alfa //Reservado (uso Banco) - Brancos
|
50
|
-
vlinha["cod_movimento2"] = linha[15..16] # Num //
|
50
|
+
vlinha["cod_movimento2"] = linha[15..16] # Num //Codigo de movimento (ocorrencia)
|
51
51
|
#Valores
|
52
52
|
vlinha["juros_multa_encargos"] = preparaMoeda(linha[17..31], 2) # Num //Juros / Multa / Encargos - 2 decimais
|
53
53
|
vlinha["valor_desconto"] = preparaMoeda(linha[32..46], 2) # Num //Valor do desconto concedido - 2 decimais
|
@@ -56,15 +56,15 @@ module Cnab240santander
|
|
56
56
|
vlinha["valor_pago"] = preparaMoeda(linha[77..91], 2) # Num //Valor pago pelo sacado - 2 decimais
|
57
57
|
vlinha["valor_liquido"] = preparaMoeda(linha[92..106], 2) # Num //Valor liquido a ser creditado - 2 decimais
|
58
58
|
vlinha["valor_despesas"] = preparaMoeda(linha[107..121], 2) # Num //Valor de outras despesas - 2 decimais
|
59
|
-
vlinha["valor_creditos"] = preparaMoeda(linha[122..136], 2) # Num //Valor de outros
|
59
|
+
vlinha["valor_creditos"] = preparaMoeda(linha[122..136], 2) # Num //Valor de outros creditos - 2 decimais
|
60
60
|
#Ocorrencia
|
61
|
-
vlinha["data_ocorrencia"] = formataData(linha[137..144]) # Num //Data da
|
62
|
-
vlinha["data_credito"] = formataData(linha[145..152]) # Num //Data da
|
63
|
-
vlinha["cod_ocorrencia_sacado"] = linha[153..156] # Num //
|
64
|
-
vlinha["data_ocorrencia_sacado"] = formataData(linha[157..164]) # Num //Data da
|
65
|
-
vlinha["valor_ocorrencia_sacado"] = preparaMoeda(linha[165..179], 2) # Num //Valor da
|
66
|
-
vlinha["comp_ocorrencia_sacado"] = linha[180..209] # Alfa //Complemento da
|
67
|
-
vlinha["banco_compensacao"] = linha[210..212] # Num //
|
61
|
+
vlinha["data_ocorrencia"] = formataData(linha[137..144]) # Num //Data da ocorrencia - DDMMAAAA
|
62
|
+
vlinha["data_credito"] = formataData(linha[145..152]) # Num //Data da efetivacao do credito - DDMMAAAA
|
63
|
+
vlinha["cod_ocorrencia_sacado"] = linha[153..156] # Num //Codigo da ocorrencia do sacado
|
64
|
+
vlinha["data_ocorrencia_sacado"] = formataData(linha[157..164]) # Num //Data da ocorrencia do sacado - DDMMAAAA
|
65
|
+
vlinha["valor_ocorrencia_sacado"] = preparaMoeda(linha[165..179], 2) # Num //Valor da ocorrencia do sacado - 2 decimais
|
66
|
+
vlinha["comp_ocorrencia_sacado"] = linha[180..209] # Alfa //Complemento da ocorrencia do sacado
|
67
|
+
vlinha["banco_compensacao"] = linha[210..212] # Num //Codigo do Banco correspondente compens.
|
68
68
|
vlinha["res_banco5"] = linha[213..239] # Alfa //Reservado (uso Banco) - Brancos
|
69
69
|
end
|
70
70
|
|
@@ -2,27 +2,27 @@ module Cnab240santander
|
|
2
2
|
class HeaderArquivo < Cnab240santander::Base
|
3
3
|
def self.processar(linha)
|
4
4
|
vlinha = Hash.new
|
5
|
-
vlinha["banco"] = linha[0..2] #num //
|
6
|
-
vlinha["lote"] = linha[3..6] #num - default 0000 //Lote de
|
5
|
+
vlinha["banco"] = linha[0..2] #num //Codigo do Banco na Compensacao
|
6
|
+
vlinha["lote"] = linha[3..6] #num - default 0000 //Lote de Servico
|
7
7
|
vlinha["registro"] = linha[7..7] #num - default 0 //Tipo de Registro
|
8
8
|
vlinha["res_banco1"] = linha[8..15] #alfa //Reservado (uso Banco) - Brancos
|
9
|
-
vlinha["tipo_inscricao_empresa"] = linha[16..16] #num //Tipo de
|
10
|
-
vlinha["num_inscricao_empresa"] = linha[17..31] #num //
|
11
|
-
vlinha["agencia"] = linha[32..35] #num //
|
12
|
-
vlinha["dv_agencia"] = linha[36..36] #num //
|
13
|
-
vlinha["conta_corrente"] = linha[37..45] #num //
|
9
|
+
vlinha["tipo_inscricao_empresa"] = linha[16..16] #num //Tipo de Inscricao da Empresa
|
10
|
+
vlinha["num_inscricao_empresa"] = linha[17..31] #num //Numero de Inscricao da Empresa
|
11
|
+
vlinha["agencia"] = linha[32..35] #num //Agencia do Cedente
|
12
|
+
vlinha["dv_agencia"] = linha[36..36] #num //Digito da Agencia do Cedente
|
13
|
+
vlinha["conta_corrente"] = linha[37..45] #num //Numero da conta corrente
|
14
14
|
vlinha["dv_conta"] = linha[46..46] #num //DV da Conta Corrent
|
15
15
|
vlinha["res_banco2"] = linha[47..51] #alfa //Reservado (uso Banco) - Brancos
|
16
|
-
vlinha["cod_cedente"] = linha[52..60] #num //
|
16
|
+
vlinha["cod_cedente"] = linha[52..60] #num //Codigo do Cedente
|
17
17
|
vlinha["res_banco3"] = linha[61..71] #alfa //Reservado (uso Banco) - Brancos
|
18
18
|
vlinha["nome_empresa"] = linha[72..101] #alfa //Nome da empresa
|
19
19
|
vlinha["nome_banco"] = linha[102..131] #alfa //Nome do Banco
|
20
20
|
vlinha["res_banco4"] = linha[132..141] #alfa //Reservado (uso Banco) - Brancos
|
21
|
-
vlinha["cod_retorno"] = linha[142..142] #num -
|
22
|
-
vlinha["data_geracao_arq"] = linha[143..150] #num - Data de
|
21
|
+
vlinha["cod_retorno"] = linha[142..142] #num - Codigo remessa / retorno
|
22
|
+
vlinha["data_geracao_arq"] = linha[143..150] #num - Data de geracao do arquivo - DDMMAAAA
|
23
23
|
vlinha["res_banco5"] = linha[151..156] #alfa //Reservado (uso Banco) - Brancos
|
24
24
|
vlinha["sequencia"] = linha[157..162] #num //No seqüencial do arquivo
|
25
|
-
vlinha["versao"] = linha[163..165] #num //No da
|
25
|
+
vlinha["versao"] = linha[163..165] #num //No da versao do layout do arquivo
|
26
26
|
vlinha["res_banco6"] = linha[166..239] #alfa //Reservado (uso Banco) - Brancos
|
27
27
|
|
28
28
|
return vlinha
|
@@ -2,27 +2,27 @@ module Cnab240santander
|
|
2
2
|
class HeaderLote < Cnab240santander::Base
|
3
3
|
def self.processar(linha)
|
4
4
|
vlinha = Hash.new
|
5
|
-
vlinha["banco"] = linha[0..2] #NUMERICO //
|
5
|
+
vlinha["banco"] = linha[0..2] #NUMERICO //Codigo do Banco na Compensacao
|
6
6
|
vlinha["lote"] = linha[3..6] #num //Numero do lote retorno
|
7
7
|
vlinha["registro"] = linha[7..7] #num //Tipo de registro
|
8
|
-
vlinha["operacao"] = linha[8..8] #alfa //Tipo de
|
9
|
-
vlinha["servico"] = linha[9..10] #num //Tipo de
|
8
|
+
vlinha["operacao"] = linha[8..8] #alfa //Tipo de operacao - T
|
9
|
+
vlinha["servico"] = linha[9..10] #num //Tipo de servico - 01
|
10
10
|
vlinha["res_banco1"] = linha[11..12] #alfa //Reservado (uso Banco) - Brancos
|
11
|
-
vlinha["layout_lote"] = linha[13..15] #num //No da
|
11
|
+
vlinha["layout_lote"] = linha[13..15] #num //No da versao do layout do lote - 040
|
12
12
|
vlinha["res_banco2"] = linha[16..16] #alfa //Reservado (uso Banco) - Brancos
|
13
|
-
vlinha["tipo_inscricao"] = linha[17..17] #num //Tipo de
|
14
|
-
vlinha["numero_inscricao"] = linha[18..32] #num //No de
|
15
|
-
vlinha["codigo_cedente"] = linha[33..41] #num //
|
13
|
+
vlinha["tipo_inscricao"] = linha[17..17] #num //Tipo de inscricao da empresa - 1 = CPF, 2 = CNPJ
|
14
|
+
vlinha["numero_inscricao"] = linha[18..32] #num //No de inscricao da empresa
|
15
|
+
vlinha["codigo_cedente"] = linha[33..41] #num //Codigo do Cedente
|
16
16
|
vlinha["res_banco3"] = linha[42..52] #alfa //Reservado (uso Banco) - Brancos
|
17
|
-
vlinha["agencia_ced"] = linha[53..56] #num //
|
18
|
-
vlinha["dv_agencia_ced"] = linha[57..57] #num //
|
19
|
-
vlinha["conta_ced"] = linha[58..66] #num //
|
20
|
-
vlinha["dv_conta_ced"] = linha[67..67] #num //
|
17
|
+
vlinha["agencia_ced"] = linha[53..56] #num //Agencia do Cedente
|
18
|
+
vlinha["dv_agencia_ced"] = linha[57..57] #num //Digito da Agencia do Cedente
|
19
|
+
vlinha["conta_ced"] = linha[58..66] #num //Numero da conta do Cedente
|
20
|
+
vlinha["dv_conta_ced"] = linha[67..67] #num //Digito verificador da conta
|
21
21
|
vlinha["res_banco4"] = linha[68..72] #alfa //Reservado (uso Banco) - Brancos
|
22
22
|
vlinha["nome_empresa"] = linha[73..102] #alfa //Nome da empresa
|
23
23
|
vlinha["res_banco5"] = linha[103..182] #alfa //Reservado (uso Banco) - Branco
|
24
|
-
vlinha["numero_retorno"] = linha[183..190] #num //
|
25
|
-
vlinha["data_remessa"] = formataData(linha[191..198]) #num //Data da
|
24
|
+
vlinha["numero_retorno"] = linha[183..190] #num //Numero do Retorno
|
25
|
+
vlinha["data_remessa"] = formataData(linha[191..198]) #num //Data da gravacao remessa/retorno - DDMMAAAA
|
26
26
|
vlinha["res_banco6"] = linha[199..239] #brancos //Uso Exclusivo FEBRABAN / CNAB
|
27
27
|
|
28
28
|
return vlinha
|
@@ -2,7 +2,7 @@ module Cnab240santander
|
|
2
2
|
class TrailerArquivo < Cnab240santander::Base
|
3
3
|
def self.processar(linha)
|
4
4
|
vlinha = Hash.new
|
5
|
-
vlinha["banco"] = linha[0..2] #num //
|
5
|
+
vlinha["banco"] = linha[0..2] #num //Codigo do Banco na Compensacao - 353 / 008 / 033
|
6
6
|
vlinha["lote"] = linha[3..6] #num //Numero do lote remessa
|
7
7
|
vlinha["registro"] = linha[7..7] #num //Tipo de registro - 9
|
8
8
|
vlinha["res_banco1"] = linha[8..16] #alfa //Reservado (uso Banco) - Branco
|
@@ -2,20 +2,20 @@ module Cnab240santander
|
|
2
2
|
class TrailerLote < Cnab240santander::Base
|
3
3
|
def self.processar(linha)
|
4
4
|
vlinha = Hash.new
|
5
|
-
vlinha["banco"] = linha[0..2] #Num //
|
6
|
-
vlinha["lote"] = linha[3..6] #Num //Lote de
|
5
|
+
vlinha["banco"] = linha[0..2] #Num //Codigo do Banco na Compensacao - 353 / 008 / 033
|
6
|
+
vlinha["lote"] = linha[3..6] #Num //Lote de Servico
|
7
7
|
vlinha["registro"] = linha[7..7] #Num //Tipo de Registro - 5
|
8
8
|
vlinha["res_banco1"] = linha[8..16] #Alfa //Reservado (uso Banco) - Brancos
|
9
9
|
vlinha["qtde_registros"] = linha[17..22] #Num //Quantidade de registros do lote
|
10
|
-
vlinha["qtde_titulos_cobranca_simples"] = linha[23..28] #Num //Quantidade
|
11
|
-
vlinha["valor_titulos_cobranca_simples"] = preparaMoeda(linha[29..45], 2) #Num //Valor total dos
|
12
|
-
vlinha["qtde_titulos_cobranca_vinculada"] = linha[46..51] #Num //Quantidade de
|
13
|
-
vlinha["valor_titulos_cobranca_vinculada"] = preparaMoeda(linha[52..68], 2) #Num //Valor total dos
|
14
|
-
vlinha["qtde_titulos_cobranca_caucionada"] = linha[69..74] #Num //Quantidade de
|
15
|
-
vlinha["valor_titulos_cobranca_caucionada"] = preparaMoeda(linha[75..91], 2) #Num //Valor total dos
|
16
|
-
vlinha["qtde_titulos_cobranca_descontada"] = linha[92..97] #Num //Quantidade de
|
17
|
-
vlinha["valor_titulos_cobranca_descontada"] = preparaMoeda(linha[98..114], 2) #Num //Valor total dos
|
18
|
-
vlinha["num_aviso_lancamento"] = linha[115..122] #Alfa //
|
10
|
+
vlinha["qtde_titulos_cobranca_simples"] = linha[23..28] #Num //Quantidade titulos cobranca simples
|
11
|
+
vlinha["valor_titulos_cobranca_simples"] = preparaMoeda(linha[29..45], 2) #Num //Valor total dos titulos cobranca simples - 2 decimais
|
12
|
+
vlinha["qtde_titulos_cobranca_vinculada"] = linha[46..51] #Num //Quantidade de titulos em cobranca vinculada
|
13
|
+
vlinha["valor_titulos_cobranca_vinculada"] = preparaMoeda(linha[52..68], 2) #Num //Valor total dos titulos em cobranca vinculada - 2 decimais
|
14
|
+
vlinha["qtde_titulos_cobranca_caucionada"] = linha[69..74] #Num //Quantidade de titulos em cobranca caucionada
|
15
|
+
vlinha["valor_titulos_cobranca_caucionada"] = preparaMoeda(linha[75..91], 2) #Num //Valor total dos titulos em cobranca caucionada - 2 decimais
|
16
|
+
vlinha["qtde_titulos_cobranca_descontada"] = linha[92..97] #Num //Quantidade de titulos em cobranca descontada
|
17
|
+
vlinha["valor_titulos_cobranca_descontada"] = preparaMoeda(linha[98..114], 2) #Num //Valor total dos titulos em cobranca descontada - 2 decimais
|
18
|
+
vlinha["num_aviso_lancamento"] = linha[115..122] #Alfa //Numero do aviso de lancamento
|
19
19
|
vlinha["res_banco2"] = linha[123..239] #Alfa //Reservado (uso Banco) - Branco
|
20
20
|
|
21
21
|
return vlinha
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cnab240santander
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 17
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 1.0.
|
9
|
+
- 3
|
10
|
+
version: 1.0.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Lairton Borges
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2012-03-28 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: activesupport
|