cnab240santander 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -5,49 +5,49 @@ module Cnab240santander
5
5
 
6
6
  if segmento == "T"
7
7
  #Controle
8
- vlinha["banco"] = linha[0..2] # Num //Código no Banco da Compensação
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
- #Serviço
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 //Código de Segmento no Reg. Detalhe - T
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 //Código de movimento (ocorrência)
16
- vlinha["agencia_ced"] = linha[17..20] # Num //Agência do Cedente
17
- vlinha["dv_agencia_ced"] = linha[21..21] # Num //Dígito da Agência do Cedente
18
- vlinha["conta_ced"] = linha[22..30] # Num //Número da conta corrente
19
- vlinha["dv_conta_ced"] = linha[31..31] # Num //Dígito verificador da conta
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 //Identificação do título no Banco - Nosso número
22
- vlinha["cod_carteira"] = linha[53..53] # Num //Código da carteira
23
- vlinha["seu_numero"] = linha[54..68] # Alfa //No do documento de cobrança - Seu número
24
- vlinha["data_venc_titulo"] = formataData(linha[69..76]) # Num //Data do vencimento do título - DDMMAAAA
25
- vlinha["valor_nominal"] = preparaMoeda(linha[77..91], 2) # Num //Valor nominal do título - 2 decimais
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 //Agência Cobradora / Recebedora
28
- vlinha["dig_ag_cobradora"] = linha[99..99] # Num //Dígito da Agência do Cobradora
29
- vlinha["id_titulo"] = linha[100..124] # Alfa //Identif. do título na empresa
30
- vlinha["cod_moeda"] = linha[125..126] # Num //Código da moeda
31
- vlinha["tipo_inscricao_sacado"] = linha[127..127] # Num //Tipo de inscrição sacado - 1 =CPF, 2 = CNPJ
32
- vlinha["num_inscricao_sacado"] = linha[128..142] # Num //Número de inscrição sacado
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 Cobrança
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 //Identificação para rejeições, tarifas, custas, liquidações e baixas,
37
- # ocorre 5 vezes, sendo que cada ocorrência ocupa 02 dígitos.
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 //Código do Banco na Compensação
44
- vlinha["lote2"] = linha[3..6] # Num //Lote de Serviço
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
- #Serviço
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 //Cód. segmento do registro detalhe - U
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 //Código de movimento (ocorrência)
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 créditos - 2 decimais
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 ocorrência - DDMMAAAA
62
- vlinha["data_credito"] = formataData(linha[145..152]) # Num //Data da efetivação do crédito - DDMMAAAA
63
- vlinha["cod_ocorrencia_sacado"] = linha[153..156] # Num //Código da ocorrência do sacado
64
- vlinha["data_ocorrencia_sacado"] = formataData(linha[157..164]) # Num //Data da ocorrência do sacado - DDMMAAAA
65
- vlinha["valor_ocorrencia_sacado"] = preparaMoeda(linha[165..179], 2) # Num //Valor da ocorrência do sacado - 2 decimais
66
- vlinha["comp_ocorrencia_sacado"] = linha[180..209] # Alfa //Complemento da ocorrência do sacado
67
- vlinha["banco_compensacao"] = linha[210..212] # Num //Código do Banco correspondente compens.
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 //Código do Banco na Compensação
6
- vlinha["lote"] = linha[3..6] #num - default 0000 //Lote de Serviço
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 Inscrição da Empresa
10
- vlinha["num_inscricao_empresa"] = linha[17..31] #num //Número de Inscrição da Empresa
11
- vlinha["agencia"] = linha[32..35] #num //Agência do Cedente
12
- vlinha["dv_agencia"] = linha[36..36] #num //Dígito da Agência do Cedente
13
- vlinha["conta_corrente"] = linha[37..45] #num //Número da conta corrente
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 //Código do Cedente
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 - Código remessa / retorno
22
- vlinha["data_geracao_arq"] = linha[143..150] #num - Data de geração do arquivo - DDMMAAAA
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 versão do layout do arquivo
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 //Código do Banco na Compensação
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 operação - T
9
- vlinha["servico"] = linha[9..10] #num //Tipo de serviço - 01
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 versão do layout do lote - 040
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 inscrição da empresa - 1 = CPF, 2 = CNPJ
14
- vlinha["numero_inscricao"] = linha[18..32] #num //No de inscrição da empresa
15
- vlinha["codigo_cedente"] = linha[33..41] #num //Código do Cedente
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 //Agência do Cedente
18
- vlinha["dv_agencia_ced"] = linha[57..57] #num //Dígito da Agência do Cedente
19
- vlinha["conta_ced"] = linha[58..66] #num //Número da conta do Cedente
20
- vlinha["dv_conta_ced"] = linha[67..67] #num //Dígito verificador da conta
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 //Número do Retorno
25
- vlinha["data_remessa"] = formataData(linha[191..198]) #num //Data da gravação remessa/retorno - DDMMAAAA
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
@@ -13,7 +13,7 @@ module Cnab240santander
13
13
  if args.has_key? :path
14
14
  @linhas = processar(args) if validaCNAB240(args[:path])
15
15
  else
16
- raise Exception, "Necessário informar o :path"
16
+ raise Exception, "Necessario informar o :path"
17
17
  end
18
18
  end
19
19
 
@@ -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 //Código do Banco na Compensação - 353 / 008 / 033
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 //Código do Banco na Compensação - 353 / 008 / 033
6
- vlinha["lote"] = linha[3..6] #Num //Lote de Serviço
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 títulos cobrança simples
11
- vlinha["valor_titulos_cobranca_simples"] = preparaMoeda(linha[29..45], 2) #Num //Valor total dos títulos cobrança simples - 2 decimais
12
- vlinha["qtde_titulos_cobranca_vinculada"] = linha[46..51] #Num //Quantidade de títulos em cobrança vinculada
13
- vlinha["valor_titulos_cobranca_vinculada"] = preparaMoeda(linha[52..68], 2) #Num //Valor total dos títulos em cobrança vinculada - 2 decimais
14
- vlinha["qtde_titulos_cobranca_caucionada"] = linha[69..74] #Num //Quantidade de títulos em cobrança caucionada
15
- vlinha["valor_titulos_cobranca_caucionada"] = preparaMoeda(linha[75..91], 2) #Num //Valor total dos títulos em cobrança caucionada - 2 decimais
16
- vlinha["qtde_titulos_cobranca_descontada"] = linha[92..97] #Num //Quantidade de títulos em cobrança descontada
17
- vlinha["valor_titulos_cobranca_descontada"] = preparaMoeda(linha[98..114], 2) #Num //Valor total dos títulos em cobrança descontada - 2 decimais
18
- vlinha["num_aviso_lancamento"] = linha[115..122] #Alfa //Número do aviso de lançamento
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
@@ -2,7 +2,7 @@ module Cnab240santander
2
2
  module Version
3
3
  MAJOR = 1
4
4
  MINOR = 0
5
- PATCH = 2
5
+ PATCH = 3
6
6
  STRING = "#{MAJOR}.#{MINOR}.#{PATCH}"
7
7
  end
8
8
  end
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: 19
4
+ hash: 17
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 0
9
- - 2
10
- version: 1.0.2
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: 2011-12-08 00:00:00 Z
18
+ date: 2012-03-28 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: activesupport