Class: BrBoleto::Remessa::Cnab400::Caixa
- Inherits:
-
Base
- Object
- ActiveModelBase
- Base
- Base
- BrBoleto::Remessa::Cnab400::Caixa
- Defined in:
- lib/br_boleto/remessa/cnab400/caixa.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: 101 até 394 POSIÇÂO TAM.
- #conta_class ⇒ Object
-
#dados_do_pagamento(pagamento) ⇒ Object
POSIÇÂO TAM.
-
#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_028_058(pagamento) ⇒ Object
detalhe_posicao_028_058 POSIÇÂO TAM.
- #detalhe_posicao_038_062(pagamento) ⇒ Object
-
#detalhe_posicao_077_108(pagamento, sequencial) ⇒ Object
POSIÇÂO TAM.
-
#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
Informações referente aos dados do sacado/pagador Posição: 219 a 394 POSIÇÂO TAM.
Methods inherited from Base
#dados_do_arquivo, #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_063_076, #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: 101 até 394
POSI
101 a 389 289 Uso Exclusivo CAIXA (Brancos) 390 a 394 005 No Seqüencial de Remessa (iniciar com ‘00001’ e evoluir de 1 em 1 para cada Header de Arquivo) Tamanho total: 294
25 26 27 28 29 30 |
# File 'lib/br_boleto/remessa/cnab400/caixa.rb', line 25 def complemento_registro complemento = '' complemento << ''.adjust_size_to(289) complemento << "#{sequencial_remessa}".adjust_size_to(5, '0', :right) complemento end |
#conta_class ⇒ Object
6 7 8 |
# File 'lib/br_boleto/remessa/cnab400/caixa.rb', line 6 def conta_class BrBoleto::Conta::Caixa end |
#dados_do_pagamento(pagamento) ⇒ Object
POSIÇÂO TAM. Descrição
059 a 073 015 Número do Documento 074 a 076 003 Campos em branco
Tamanho: 18
89 90 91 92 93 94 |
# File 'lib/br_boleto/remessa/cnab400/caixa.rb', line 89 def dados_do_pagamento(pagamento) detalhe = '' detalhe << "#{pagamento.numero_documento}".adjust_size_to(15, '0', :right) detalhe << "".adjust_size_to(3) detalhe 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
147 148 149 150 151 152 153 154 155 |
# File 'lib/br_boleto/remessa/cnab400/caixa.rb', line 147 def detalhe_multas_e_juros_do_pagamento(pagamento, sequencial) detalhe = '' detalhe << pagamento.valor_juros_monetario_formatado(13) 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_028_058(pagamento) ⇒ Object
detalhe_posicao_028_058 POSIÇÂO TAM. Descrição
028 a 028 001 Identificação da Emissão do Boleto 029 a 029 001 ID Entrega/Distribuição do Boleto 030 a 031 002 Comissão de Permanência (Informar ‘00’) 032 a 056 025 Número do Documento 057 a 058 002 Carteira
Tamanho: 31
69 70 71 72 73 74 75 76 77 78 |
# File 'lib/br_boleto/remessa/cnab400/caixa.rb', line 69 def detalhe_posicao_028_058(pagamento) detalhe = '' detalhe << "#{conta.get_identificacao_emissao(pagamento.emissao_boleto, 400)}".adjust_size_to(1, '0', :right) detalhe << "#{conta.get_distribuicao_boleto(pagamento.distribuicao_boleto)}".adjust_size_to(1, '0', :right) detalhe << "00" detalhe << "#{pagamento.numero_documento}".adjust_size_to(25, '0', :right) detalhe << "#{conta.carteira}".adjust_size_to(2, '0', :right) detalhe end |
#detalhe_posicao_038_062(pagamento) ⇒ Object
79 80 81 |
# File 'lib/br_boleto/remessa/cnab400/caixa.rb', line 79 def detalhe_posicao_038_062(pagamento) detalhe_posicao_028_058(pagamento) end |
#detalhe_posicao_077_108(pagamento, sequencial) ⇒ Object
POSIÇÂO TAM. Descrição
077 a 106 030 Mensagem a ser impressa no boleto 107 a 108 002 Código da Carteira
Tamanho: 32
102 103 104 105 106 107 |
# File 'lib/br_boleto/remessa/cnab400/caixa.rb', line 102 def detalhe_posicao_077_108(pagamento, sequencial) detalhe = '' detalhe << "".adjust_size_to(30) detalhe << "#{conta.get_tipo_cobranca(conta.codigo_carteira, 400)}".adjust_size_to(2, '0', :right) detalhe 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/caixa.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
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/br_boleto/remessa/cnab400/caixa.rb', line 38 def informacoes_da_conta(local) # POSIÇÂO: # Detalhe | Header TAM. Descrição # 18 a 21 27 a 30 004 Agência # 22 a 27 31 a 36 006 Convênio info = '' info << "#{conta.agencia}".adjust_size_to(4, '0', :right) info << "#{conta.convenio}".adjust_size_to(6, '0', :right) if local == :header # POSIÇÂO TAM. Descrição # --------------------------------------------------- # 037 a 046 010 Uso Exclusivo CAIXA (Brancos) info << ''.adjust_size_to(10) 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 (Preencher ‘104’) 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 (Código para Protesto / Devolução) 159 a 160 002 2a instrução (Preencher com zeros) Tamanho: 40
123 124 125 126 127 128 129 130 131 132 133 134 135 136 |
# File 'lib/br_boleto/remessa/cnab400/caixa.rb', line 123 def informacoes_do_pagamento(pagamento, sequencial) dados = '' dados << pagamento.data_vencimento_formatado('%d%m%y') dados << pagamento.valor_documento_formatado(13) dados << '104' 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') dados << "#{conta.get_codigo_protesto(pagamento.codigo_protesto, 400)}".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
Informações referente aos dados do sacado/pagador Posição: 219 a 394 POSIÇÂO TAM. Descrição 219 a 220 002 Identificação do Tipo de Inscrição do Pagador 221 a 234 014 No Inscrição do Pagador 235 a 274 040 Nome do Pagador 275 a 314 040 Endereço Paagador 315 a 326 012 Bairro do Pagador 327 a 334 008 CEP 335 a 349 015 Cidade do Pagador 350 a 351 002 UF do Pagador 352 a 357 006 Data da Multa 358 a 367 010 Valor da Multa 368 a 389 022 Nome Sacador/Avalista 390 a 391 002 3a instrução (Preencher com ‘00’ = Não imprime mensagem no verso do boleto) 392 a 393 002 Número de dias para início do protesto/devolução 394 a 394 001 Código da Moeda Tamanho: 176
175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 |
# File 'lib/br_boleto/remessa/cnab400/caixa.rb', line 175 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(40) 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) info << "#{pagamento.pagador.cidade}".adjust_size_to(15) info << "#{pagamento.pagador.uf}".adjust_size_to(2) info << "#{pagamento.data_multa_formatado}".adjust_size_to(6, '0', :right) # Data da Multa info << "#{pagamento.valor_multa_formatado(10)}".adjust_size_to(10, '0', :right) # Valor da Multa info << "#{pagamento.pagador.nome_avalista}".adjust_size_to(22) # Sacador/Avalista (Nome) info << "00" # 3a instrução info << "#{pagamento.dias_protesto}".adjust_size_to(2, '0', :right) # Número de dias protesto/devolução info << "#{conta.get_codigo_moeda(pagamento.codigo_moeda, 400)}".adjust_size_to(1, '1', :right) # Código da Moeda info end |