Class: Brcobranca::Boleto::Itau
- Defined in:
- lib/brcobranca/boleto/itau.rb
Overview
Banco Itaú
Instance Attribute Summary collapse
-
#seu_numero ⇒ Object
Usado somente em carteiras especiais com registro para complementar o número do cocumento.
Attributes inherited from Base
#aceite, #agencia, #carteira, #cedente, #codigo_servico, #conta_corrente, #convenio, #data_documento, #data_processamento, #dias_vencimento, #documento_cedente, #especie, #especie_documento, #instrucao1, #instrucao2, #instrucao3, #instrucao4, #instrucao5, #instrucao6, #instrucao7, #local_pagamento, #moeda, #numero_documento, #quantidade, #sacado, #sacado_documento, #sacado_endereco, #valor, #variacao
Instance Method Summary collapse
-
#agencia_conta_boleto ⇒ String
Agência + conta corrente do cliente para exibir no boleto.
-
#agencia_conta_corrente_dv ⇒ Object
Calcula o dígito verificador para conta corrente do Itau.
-
#banco ⇒ String
Codigo do banco emissor (3 dígitos sempre).
-
#codigo_barras_segunda_parte ⇒ String
Segunda parte do código de barras.
-
#conta_corrente=(valor) ⇒ String
Conta corrente.
-
#convenio=(valor) ⇒ String
Número do convênio/contrato do cliente junto ao banco.
-
#initialize(campos = {}) ⇒ Itau
constructor
Nova instancia do Itau.
-
#nosso_numero_boleto ⇒ String
Nosso número para exibir no boleto.
-
#nosso_numero_dv ⇒ String
Dígito verificador do nosso número.
-
#numero_documento=(valor) ⇒ String
Número seqüencial utilizado para identificar o boleto.
Methods inherited from Base
#agencia_dv, #banco_dv, #codigo_barras, #conta_corrente_dv, #data_vencimento, #fator_vencimento, #logotipo, #valor_documento
Methods included from Template::Base
Constructor Details
#initialize(campos = {}) ⇒ Itau
Nova instancia do Itau
17 18 19 20 |
# File 'lib/brcobranca/boleto/itau.rb', line 17 def initialize(campos={}) campos = {:carteira => "175"}.merge!(campos) super(campos) end |
Instance Attribute Details
#seu_numero ⇒ Object
Usado somente em carteiras especiais com registro para complementar o número do cocumento
7 8 9 |
# File 'lib/brcobranca/boleto/itau.rb', line 7 def seu_numero @seu_numero end |
Instance Method Details
#agencia_conta_boleto ⇒ String
Agência + conta corrente do cliente para exibir no boleto.
87 88 89 |
# File 'lib/brcobranca/boleto/itau.rb', line 87 def agencia_conta_boleto "#{self.agencia} / #{self.conta_corrente}-#{self.agencia_conta_corrente_dv}" end |
#agencia_conta_corrente_dv ⇒ Object
Calcula o dígito verificador para conta corrente do Itau. Retorna apenas o dígito verificador da conta ou nil caso seja impossível calcular.
71 72 73 |
# File 'lib/brcobranca/boleto/itau.rb', line 71 def agencia_conta_corrente_dv "#{self.agencia}#{self.conta_corrente}".modulo10 end |
#banco ⇒ String
Codigo do banco emissor (3 dígitos sempre)
25 26 27 |
# File 'lib/brcobranca/boleto/itau.rb', line 25 def banco "341" end |
#codigo_barras_segunda_parte ⇒ String
Segunda parte do código de barras.
CARTEIRAS 198, 106, 107,122, 142, 143, 195 e 196<br/> 01 a 03 | 03 | 9(3) | Código do Banco na Câmara de Compensação = ‘341’<br/> 04 a 04 | 01 | 9(1) | Código da Moeda = ‘9’<br/> 05 a 05 | 01 | 9(1) | DAC do Código de Barras MOD 11-2a9<br/> 06 a 09 | 04 | 9(04) | Fator de Vencimento<br/> 10 a 19 | 10 | 9(08) | V(2) Valor<br/> 20 a 22 | 03 | 9(3) | Carteira<br/> 23 a 30 | 08 | 9(8) | Nosso Número<br/> 31 a 37 | 07 | 9(7) | Seu Número (Número do Documento)<br/> 38 a 42 | 05 | 9(5) | Código do Cliente (fornecido pelo Banco)<br/> 43 a 43 | 01 | 9(1) | DAC dos campos acima (posições 20 a 42) MOD 10<br/> 44 a 44 | 01 | 9(1) | Zero<br/>
DEMAIS CARTEIRAS<br/> 01 a 03 | 03 | 9(03) | Código do Banco na Câmara de Compensação = ‘341’<br/> 04 a 04 | 01 | 9(01) | Código da Moeda = ‘9’<br/> 05 a 05 | 01 | 9(01) | DAC código de Barras MOD 11-2a9<br/> 06 a 09 | 04 | 9(04) | Fator de Vencimento<br/> 10 a 19 | 10 | 9(08)V(2) | Valor<br/> 20 a 22 | 03 | 9(03) | Carteira<br/> 23 a 30 | 08 | 9(08) | Nosso Número<br/> 31 a 31 | 01 | 9(01) | DAC [Agência /Conta/Carteira/Nosso Número] MOD 10<br/> 32 a 35 | 04 | 9(04) | N.º da Agência cedente<br/> 36 a 40 | 05 | 9(05) | N.º da Conta Corrente<br/> 41 a 41 | 01 | 9(01) | DAC [Agência/Conta Corrente] MOD 10<br/> 42 a 44 | 03 | 9(03) | Zeros<br/>
121 122 123 124 125 126 127 128 129 |
# File 'lib/brcobranca/boleto/itau.rb', line 121 def case self.carteira.to_i when 198, 106, 107, 122, 142, 143, 195, 196 dv = "#{self.carteira}#{numero_documento}#{self.seu_numero}#{self.convenio}".modulo10 "#{self.carteira}#{self.numero_documento}#{self.seu_numero}#{self.convenio}#{dv}0" else "#{self.carteira}#{self.numero_documento}#{self.nosso_numero_dv}#{self.agencia}#{self.conta_corrente}#{self.agencia_conta_corrente_dv}000" end end |
#conta_corrente=(valor) ⇒ String
Conta corrente
37 38 39 |
# File 'lib/brcobranca/boleto/itau.rb', line 37 def conta_corrente=(valor) @conta_corrente = valor.to_s.rjust(5,'0') unless valor.nil? end |
#convenio=(valor) ⇒ String
Número do convênio/contrato do cliente junto ao banco.
31 32 33 |
# File 'lib/brcobranca/boleto/itau.rb', line 31 def convenio=(valor) @convenio = valor.to_s.rjust(5,'0') unless valor.nil? end |
#nosso_numero_boleto ⇒ String
Nosso número para exibir no boleto.
79 80 81 |
# File 'lib/brcobranca/boleto/itau.rb', line 79 def nosso_numero_boleto "#{self.carteira}/#{self.numero_documento}-#{self.nosso_numero_dv}" end |
#nosso_numero_dv ⇒ String
Dígito verificador do nosso número.
Para a grande maioria das carteiras, são considerados para a obtenção do DAC/DV, os dados “AGENCIA(sem DAC/DV)/CONTA(sem DAC/DV)/CARTEIRA/NOSSO NUMERO”, calculado pelo criterio do Modulo 10.<br/> A excecao, estão as carteiras 112, 126, 131, 146, 150 e 168 cuja obtenção esta baseada apenas nos dados “CARTEIRA/NOSSO NUMERO”.
61 62 63 64 65 66 67 |
# File 'lib/brcobranca/boleto/itau.rb', line 61 def nosso_numero_dv if %w(112 126 131 146 150 168).include?(self.carteira) "#{self.carteira}#{self.numero_documento}".modulo10 else "#{self.agencia}#{self.conta_corrente}#{self.carteira}#{self.numero_documento}".modulo10 end end |
#numero_documento=(valor) ⇒ String
Número seqüencial utilizado para identificar o boleto.
43 44 45 |
# File 'lib/brcobranca/boleto/itau.rb', line 43 def numero_documento=(valor) @numero_documento = valor.to_s.rjust(8,'0') unless valor.nil? end |