Class: BrBoleto::Remessa::Cnab400::Itau
- Inherits:
-
Base
- Object
- ActiveModelBase
- Base
- Base
- BrBoleto::Remessa::Cnab400::Itau
- Defined in:
- lib/br_boleto/remessa/cnab400/itau.rb
Instance Attribute Summary
Attributes inherited from Base
#data_hora_arquivo, #sequencial_remessa
Instance Method Summary collapse
-
#complemento_registro ⇒ Object
Complemento do registro POSIÇÂO TAM.
- #conta_class ⇒ Object
-
#detalhe_multas_e_juros_do_pagamento(pagamento, sequencial) ⇒ Object
Informações referente aos juros e multas do pagamento Posição: 161 a 218 POSIÇÂO TAM.
-
#detalhe_posicao_063_076(pagamento, sequencial) ⇒ Object
Nosso numero do pagamento e outras informações Posição: 063 até 108 POSIÇÂO TAM.
- #detalhe_posicao_063_108(pagamento) ⇒ Object
- #detalhe_posicao_077_108(pagamento, sequencial) ⇒ Object
-
#header_posicao_002_a_002 ⇒ Object
Código da remessa Tipo: Numérico Tamanho: 001.
-
#informacoes_da_conta(local) ⇒ Object
Informações da conta <- Específico para cada banco Posição: 018 até 037 (Detalhe) Posição: 027 até 046 (Header) Tamanho: 020.
-
#informacoes_do_pagamento(pagamento, sequencial) ⇒ Object
Informações referente ao pagamento Posição 121 até 160 POSIÇÂO TAM.
-
#informacoes_do_sacado(pagamento, sequencial) ⇒ Object
Tamanho: 176.
Methods inherited from Base
#dados_do_arquivo, #dados_do_pagamento, #informacoes_do_banco
Methods included from Helper::Trailer
#monta_trailer, #trailer_arquivo_posicao_001_a_001, #trailer_arquivo_posicao_002_a_394, #trailer_arquivo_posicao_394_a_400
Methods included from Helper::Detalhe
#detalhe_posicao_001_001, #detalhe_posicao_002_003, #detalhe_posicao_004_017, #detalhe_posicao_018_037, #detalhe_posicao_038_062, #detalhe_posicao_109_110, #detalhe_posicao_111_120, #detalhe_posicao_121_160, #detalhe_posicao_161_218, #detalhe_posicao_219_394, #detalhe_posicao_395_400, #monta_detalhe
Methods included from Helper::Header
#header_posicao_001_a_001, #header_posicao_003_a_009, #header_posicao_010_a_011, #header_posicao_012_a_026, #header_posicao_027_a_046, #header_posicao_047_a_076, #header_posicao_077_a_094, #header_posicao_095_a_100, #header_posicao_101_a_394, #header_posicao_395_a_400, #monta_header
Methods inherited from Base
#data_geracao, #hora_geracao, #pagamento_valid_cod_desconto_length, #pagamento_valid_distribuicao_boleto_length, #pagamento_valid_emissao_boleto_length, #pagamento_valid_tipo_impressao_required, #persisted?
Methods included from HaveConta
Methods inherited from ActiveModelBase
#assign_attributes, #default_values, #initialize
Constructor Details
This class inherits a constructor from BrBoleto::ActiveModelBase
Instance Method Details
#complemento_registro ⇒ Object
Complemento do registro POSIÇÂO TAM. Descrição
101 a 394 294 Brancos Tamanho total: 294
24 25 26 |
# File 'lib/br_boleto/remessa/cnab400/itau.rb', line 24 def complemento_registro ''.adjust_size_to(294) end |
#conta_class ⇒ Object
6 7 8 |
# File 'lib/br_boleto/remessa/cnab400/itau.rb', line 6 def conta_class BrBoleto::Conta::Itau end |
#detalhe_multas_e_juros_do_pagamento(pagamento, sequencial) ⇒ Object
Informações referente aos juros e multas do pagamento Posição: 161 a 218 POSIÇÂO TAM. Descrição 161 a 173 013 Valor a ser cobrado por Dia de Atraso 174 a 179 006 Data Limite P/Concessão de Desconto 180 a 192 013 Valor do Desconto 193 a 205 013 Valor do IOF 206 a 218 013 Valor do Abatimento a ser concedido ou cancelado Tamanho: 58
135 136 137 138 139 140 141 142 143 |
# File 'lib/br_boleto/remessa/cnab400/itau.rb', line 135 def detalhe_multas_e_juros_do_pagamento(pagamento, sequencial) detalhe = '' detalhe << "#{pagamento.valor_mora_formatado}".adjust_size_to(13,'0', :right ) detalhe << "#{pagamento.data_desconto_formatado('%d%m%y')}".adjust_size_to(6,'0', :right ) detalhe << "#{pagamento.valor_desconto_formatado}".adjust_size_to(13,'0', :right ) detalhe << "#{pagamento.valor_iof_formatado}".adjust_size_to(13,'0', :right ) detalhe << "#{pagamento.valor_abatimento_formatado}".adjust_size_to(13,'0', :right ) detalhe end |
#detalhe_posicao_063_076(pagamento, sequencial) ⇒ Object
Nosso numero do pagamento e outras informações Posição: 063 até 108 POSIÇÂO TAM. Descrição
063 a 070 008 Numero Documento 071 a 083 013 QUANTIDADE DE MOEDA VARIÁVEL 084 a 086 003 Carteira 087 a 107 021 Uso do banco 108 a 108 001 Cod. Carteira
Tamanho: 46
79 80 81 |
# File 'lib/br_boleto/remessa/cnab400/itau.rb', line 79 def detalhe_posicao_063_076(pagamento, sequencial) detalhe_posicao_063_108(pagamento) end |
#detalhe_posicao_063_108(pagamento) ⇒ Object
85 86 87 88 89 90 91 92 93 |
# File 'lib/br_boleto/remessa/cnab400/itau.rb', line 85 def detalhe_posicao_063_108(pagamento) info = '' info << "#{pagamento.numero_documento}".adjust_size_to(8, '0', :right) info << ''.adjust_size_to(13, '0', :right) # Este campo deverá ser preenchido com zeros caso a moeda seja o Real info << "#{conta.carteira}".adjust_size_to(3, '0', :right) info << ''.adjust_size_to(21) info << "#{conta.get_codigo_carteira}".adjust_size_to(1, 'I') info end |
#detalhe_posicao_077_108(pagamento, sequencial) ⇒ Object
82 83 84 |
# File 'lib/br_boleto/remessa/cnab400/itau.rb', line 82 def detalhe_posicao_077_108(pagamento, sequencial) '' end |
#header_posicao_002_a_002 ⇒ Object
Código da remessa Tipo: Numérico Tamanho: 001
15 16 17 |
# File 'lib/br_boleto/remessa/cnab400/itau.rb', line 15 def header_posicao_002_a_002 '1' end |
#informacoes_da_conta(local) ⇒ Object
Informações da conta <- Específico para cada banco Posição: 018 até 037 (Detalhe) Posição: 027 até 046 (Header) Tamanho: 020
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/br_boleto/remessa/cnab400/itau.rb', line 34 def informacoes_da_conta(local) # POSIÇÂO: # Detalhe | Header TAM. Descrição # 18 a 21 27 a 30 004 Agência # 22 a 23 31 a 32 002 Zeros # 24 a 28 33 a 37 005 Conta Corrente # 29 a 29 38 a 38 001 Conta Corrente DV info = "#{conta.agencia}".adjust_size_to(4, '0', :right) info << '00' info << "#{conta.conta_corrente}".adjust_size_to(5, '0', :right) info << "#{conta.conta_corrente_dv}".adjust_size_to(1, '0', :right) if local == :detalhe # POSIÇÂO TAM. Descrição # ------------------------------- # 030 a 033 004 Brancos # 034 a 037 004 Cod. Instrução info << ''.adjust_size_to(4) info << ''.adjust_size_to(4, "0") elsif local == :header # POSIÇÂO TAM. Descrição # ------------------------------- # 039 a 046 008 Brancos info << ''.adjust_size_to(8) end info end |
#informacoes_do_pagamento(pagamento, sequencial) ⇒ Object
Informações referente ao pagamento Posição 121 até 160 POSIÇÂO TAM. Descrição 121 a 126 006 Data do Vencimento do Título 127 a 139 013 Valor do Título 140 a 142 003 Banco Encarregado da Cobrança 143 a 147 005 Agência Depositária (preencher com zeros) 148 a 149 002 Espécie de Título 150 a 150 001 Identificação (Sempre ‘N’) 151 a 156 006 Data da emissão do Título 157 a 158 002 1a instrução 159 a 160 002 2a instrução Tamanho: 40
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
# File 'lib/br_boleto/remessa/cnab400/itau.rb', line 109 def informacoes_do_pagamento(pagamento, sequencial) dados = '' dados << pagamento.data_vencimento_formatado('%d%m%y') dados << pagamento.valor_documento_formatado(13) dados << "#{conta.codigo_banco}".adjust_size_to(3,'0', :right) dados << ''.adjust_size_to(5,'0', :right) dados << "#{conta.get_especie_titulo(pagamento.especie_titulo, 400)}".adjust_size_to(2, '0', :right) dados << 'N' dados << pagamento.data_emissao_formatado('%d%m%y') # 1a / 2a Instrução, conforme documentação (pag. 20, Nota 11): dados << ''.adjust_size_to(2,'0', :right) # 1a Instrução dados << ''.adjust_size_to(2,'0', :right) # 2a Instrução dados end |
#informacoes_do_sacado(pagamento, sequencial) ⇒ Object
Tamanho: 176
166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 |
# File 'lib/br_boleto/remessa/cnab400/itau.rb', line 166 def informacoes_do_sacado(pagamento, sequencial) info = '' # Tipo de Inscrição do Pagador: "01" = CPF , "02" = CNPJ , "03" = PIS/PASEP , "98" = Não tem , "99" = Outros info << "#{pagamento.pagador.tipo_cpf_cnpj}".adjust_size_to(2, '0', :right) info << "#{pagamento.pagador.cpf_cnpj}".adjust_size_to(14, '0', :right) info << "#{pagamento.pagador.nome}".adjust_size_to(30) info << ''.adjust_size_to(10) # Complemento Registro (Brancos) info << "#{pagamento.pagador.endereco}".adjust_size_to(40) info << "#{pagamento.pagador.bairro}".adjust_size_to(12) info << "#{pagamento.pagador.cep}".adjust_size_to(8, '0', :right) # CEP + Sufixo do CEP info << "#{pagamento.pagador.cidade}".adjust_size_to(15) info << "#{pagamento.pagador.uf}".adjust_size_to(2) info << "#{pagamento.pagador.nome_avalista}".adjust_size_to(30) # Sacador/Avalista (Nome) info << ''.adjust_size_to(4) # Complemento Registro (Brancos) info << ''.adjust_size_to(6, '0') # Data de mora info << '03' # Quantidade de dias info << ''.adjust_size_to(1) # Complemento Registro (Brancos) info end |