cnab240santander 1.0.2 → 1.0.3
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.
- 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
|