Class: BancoBradesco

Inherits:
Brcobranca::Boleto::Base show all
Defined in:
lib/brcobranca/boleto/banco_bradesco.rb

Overview

Banco BRADESCO

Instance Attribute Summary

Attributes inherited from Brcobranca::Boleto::Base

#aceite, #agencia, #banco, #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

Methods inherited from Brcobranca::Boleto::Base

#agencia_dv, #banco_dv, #codigo_barras, #conta_corrente_dv, #data_vencimento, #nosso_numero, #nosso_numero_dv, #valor_documento

Constructor Details

#initialize(campos = {}) ⇒ BancoBradesco

Responsável por definir dados iniciais quando se cria uma nova intancia da classe BancoBradesco



4
5
6
7
8
# File 'lib/brcobranca/boleto/banco_bradesco.rb', line 4

def initialize(campos={})
  padrao={:carteira => "06", :banco => "237"}
  campos = padrao.merge!(campos)
  super(campos)
end

Instance Method Details

#agencia_conta_boletoObject

Campo usado apenas na exibição no boleto

Deverá ser sobreescrito para cada banco


18
19
20
# File 'lib/brcobranca/boleto/banco_bradesco.rb', line 18

def agencia_conta_boleto
 "#{self.agencia}-#{self.agencia_dv} / #{self.conta_corrente}-#{self.conta_corrente_dv}"
end

#monta_codigo_43_digitosObject

Responsável por montar uma String com 43 caracteres que será usado na criação do código de barras

As posições do campo livre ficam a critério de cada Banco arrecadador, sendo que o
padrão do Bradesco é:
Posição Tamanho Conteúdo
20 a 23 4 Agência Cedente (Sem o digito verificador, completar com zeros a esquerda quando  necessário)
24 a 25 2 Carteira
26 a 36 11 Número do Nosso Número(Sem o digito verificador)
37 a 43 7 Conta do Cedente (Sem o digito verificador, completar com zeros a esquerda quando necessário)
44 a 44 1 Zero


32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/brcobranca/boleto/banco_bradesco.rb', line 32

def monta_codigo_43_digitos
  banco = self.banco.zeros_esquerda(:tamanho => 3)
  fator = self.data_vencimento.fator_vencimento
  valor_documento = self.valor_documento.limpa_valor_moeda.zeros_esquerda(:tamanho => 10)
  agencia = self.agencia.zeros_esquerda(:tamanho => 4)
  carteira = self.carteira.zeros_esquerda(:tamanho => 2)
  numero_documento = self.numero_documento.zeros_esquerda(:tamanho => 11)
  conta = self.conta_corrente.zeros_esquerda(:tamanho => 7)

  numero = "#{banco}#{self.moeda}#{fator}#{valor_documento}#{agencia}#{carteira}#{numero_documento}#{conta}0"
  numero.size == 43 ? numero : nil
end

#nosso_numero_boletoObject

Campo usado apenas na exibição no boleto

Deverá ser sobreescrito para cada banco


12
13
14
# File 'lib/brcobranca/boleto/banco_bradesco.rb', line 12

def nosso_numero_boleto
 "#{self.carteira}/#{self.numero_documento.zeros_esquerda(:tamanho => 11)}-#{self.nosso_numero_dv}"
end