Class: BrBoleto::Remessa::Cnab400::Sicredi
- Inherits:
-
Base
- Object
- ActiveModelBase
- Base
- Base
- BrBoleto::Remessa::Cnab400::Sicredi
- Defined in:
- lib/br_boleto/remessa/cnab400/sicredi.rb
Instance Attribute Summary
Attributes inherited from Base
#data_hora_arquivo, #sequencial_remessa
Instance Method Summary collapse
- #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_002_003(pagamento) ⇒ Object
-
#detalhe_posicao_002_004(pagamento) ⇒ Object
Detalhe Posição 002 a 004 POSIÇÂO TAM.
- #detalhe_posicao_004_017 ⇒ Object
-
#detalhe_posicao_005_016 ⇒ Object
Detalhe Posição 005 a 016 POSIÇÂO TAM.
-
#detalhe_posicao_038_062(pagamento) ⇒ Object
Detalhe Posição 038 a 062 ———————————————– POSIÇÂO TAM.
-
#detalhe_posicao_063_076(pagamento, sequencial) ⇒ Object
Detalhe Posição 063 a 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.
-
#header_posicao_047_a_076 ⇒ Object
Nome do cedente Deixar em Brancos (sem preenchimento) Tamanho: 030.
- #header_posicao_095_a_100 ⇒ Object
-
#header_posicao_095_a_102 ⇒ Object
Data de Gravação Formato da data = AAAAMMDD Tamanho: 008.
-
#header_posicao_101_a_394 ⇒ Object
Complemento do registro Posição 103 até 394 POSIÇÂO TAM.
- #header_posicao_103_a_394 ⇒ Object
-
#informacoes_da_conta(local) ⇒ Object
Informações da conta <- Específico para cada banco.
-
#informacoes_do_pagamento(pagamento, sequencial) ⇒ Object
Informações referente ao pagamento 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.
-
#trailer_arquivo_posicao_002_a_394(sequencial) ⇒ Object
Detalhe Posição 002 a 0349 POSIÇÂO TAM.
Methods inherited from Base
#complemento_registro, #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_394_a_400
Methods included from Helper::Detalhe
#detalhe_posicao_001_001, #detalhe_posicao_018_037, #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_077_a_094, #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
#conta_class ⇒ Object
6 7 8 |
# File 'lib/br_boleto/remessa/cnab400/sicredi.rb', line 6 def conta_class BrBoleto::Conta::Sicredi 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 (Preencher com Zeros) 206 a 218 013 Valor do Abatimento a ser concedido ou cancelado Tamanho: 58
207 208 209 210 211 212 213 214 215 |
# File 'lib/br_boleto/remessa/cnab400/sicredi.rb', line 207 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 << ''.adjust_size_to(13,'0') detalhe << "#{pagamento.valor_abatimento_formatado}".adjust_size_to(13,'0', :right ) detalhe end |
#detalhe_posicao_002_003(pagamento) ⇒ Object
101 102 103 |
# File 'lib/br_boleto/remessa/cnab400/sicredi.rb', line 101 def detalhe_posicao_002_003(pagamento) detalhe_posicao_002_004(pagamento) end |
#detalhe_posicao_002_004(pagamento) ⇒ Object
Detalhe Posição 002 a 004 POSIÇÂO TAM. Descrição
002 a 002 001 Tipo de cobrança (“A” - Sicredi Com Registro) 003 a 003 001 Tipo de carteira (“A” – Simples) 004 a 004 001 Tipo de Impressão (“A” – Normal)
Tamanho: 003
94 95 96 97 98 99 100 |
# File 'lib/br_boleto/remessa/cnab400/sicredi.rb', line 94 def detalhe_posicao_002_004(pagamento) detalhe = '' detalhe << "#{conta.get_tipo_cobranca(conta.carteira, 400)}".adjust_size_to(1, 'A') detalhe << "#{conta.get_tipo_cobranca(conta.codigo_carteira, 400)}".adjust_size_to(1, 'A') detalhe << "#{conta.get_tipo_impressao(pagamento.tipo_impressao, 400)}".adjust_size_to(1, 'A') detalhe end |
#detalhe_posicao_004_017 ⇒ Object
115 116 117 |
# File 'lib/br_boleto/remessa/cnab400/sicredi.rb', line 115 def detalhe_posicao_004_017 detalhe_posicao_005_016 end |
#detalhe_posicao_005_016 ⇒ Object
Detalhe Posição 005 a 016 POSIÇÂO TAM. Descrição
005 a 016 012 Deixar em Branco
Tamanho: 012
112 113 114 |
# File 'lib/br_boleto/remessa/cnab400/sicredi.rb', line 112 def detalhe_posicao_005_016 detalhe = ''.adjust_size_to(12) end |
#detalhe_posicao_038_062(pagamento) ⇒ Object
Detalhe Posição 038 a 062
POSIÇÂO TAM. Descrição 038 a 047 010 Deixar em Branco 048 a 056 009 Nosso número Sicredi 057 a 062 006 Deixar em Branco
Tamanho: 25
127 128 129 130 131 132 |
# File 'lib/br_boleto/remessa/cnab400/sicredi.rb', line 127 def detalhe_posicao_038_062(pagamento) detalhe = "".adjust_size_to(10) detalhe << "#{pagamento.nosso_numero}".adjust_size_to(9, '0', :right) detalhe << "".adjust_size_to(6) detalhe end |
#detalhe_posicao_063_076(pagamento, sequencial) ⇒ Object
Detalhe Posição 063 a 108 POSIÇÂO TAM. Descrição
063 a 070 008 Data da Instrução 071 a 071 001 Campo alterado ( Branco ) 072 a 072 001 Postagem do título ( “N” - Não postar e remeter o título para o beneficiário ) 073 a 073 001 Branco 074 a 074 001 Emissão do boleto 075 a 076 002 Número da parcela do carnê 077 a 078 002 Número Total de parcelas do carnê 079 a 082 004 Brancos 083 a 092 010 Valor Desconto por dia de antecipação (Preencher com Zeros) 093 a 096 004 % multa por pagamento em atraso (Preencher com Zeros) 097 a 108 012 Brancos
Tamanho: 46
150 151 152 |
# File 'lib/br_boleto/remessa/cnab400/sicredi.rb', line 150 def detalhe_posicao_063_076(pagamento, sequencial) detalhe_posicao_063_108(pagamento) end |
#detalhe_posicao_063_108(pagamento) ⇒ Object
156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 |
# File 'lib/br_boleto/remessa/cnab400/sicredi.rb', line 156 def detalhe_posicao_063_108(pagamento) dados = '' dados << "#{pagamento.data_emissao_formatado('%Y%m%d')}" dados << ''.adjust_size_to(1) dados << 'N' dados << ''.adjust_size_to(1) dados << "#{conta.get_identificacao_emissao(pagamento.emissao_boleto, 400)}".adjust_size_to(1, 'A') dados << ''.adjust_size_to(2) dados << ''.adjust_size_to(2) dados << ''.adjust_size_to(4) dados << ''.adjust_size_to(10, '0') dados << ''.adjust_size_to(4, '0') dados << ''.adjust_size_to(12) dados end |
#detalhe_posicao_077_108(pagamento, sequencial) ⇒ Object
153 154 155 |
# File 'lib/br_boleto/remessa/cnab400/sicredi.rb', line 153 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/sicredi.rb', line 15 def header_posicao_002_a_002 '1' end |
#header_posicao_047_a_076 ⇒ Object
Nome do cedente Deixar em Brancos (sem preenchimento) Tamanho: 030
49 50 51 |
# File 'lib/br_boleto/remessa/cnab400/sicredi.rb', line 49 def header_posicao_047_a_076 ''.adjust_size_to(30) end |
#header_posicao_095_a_100 ⇒ Object
59 60 61 |
# File 'lib/br_boleto/remessa/cnab400/sicredi.rb', line 59 def header_posicao_095_a_100 header_posicao_095_a_102 end |
#header_posicao_095_a_102 ⇒ Object
Data de Gravação Formato da data = AAAAMMDD Tamanho: 008
56 57 58 |
# File 'lib/br_boleto/remessa/cnab400/sicredi.rb', line 56 def header_posicao_095_a_102 data_geracao('%Y%m%d') end |
#header_posicao_101_a_394 ⇒ Object
Complemento do registro Posição 103 até 394 POSIÇÂO TAM. Descrição
103 a 110 008 Brancos 111 a 117 007 Número da remessa 118 a 390 273 Brancos 391 a 394 004 Versão do sistema (2.00)
Tamanho: 292
73 74 75 |
# File 'lib/br_boleto/remessa/cnab400/sicredi.rb', line 73 def header_posicao_101_a_394 header_posicao_103_a_394 end |
#header_posicao_103_a_394 ⇒ Object
76 77 78 79 80 81 82 |
# File 'lib/br_boleto/remessa/cnab400/sicredi.rb', line 76 def header_posicao_103_a_394 info = ''.adjust_size_to(8) info << "#{sequencial_remessa}".adjust_size_to(7, '0', :right) info << ''.adjust_size_to(273) info << '2.00' info end |
#informacoes_da_conta(local) ⇒ Object
Informações da conta <- Específico para cada banco
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/br_boleto/remessa/cnab400/sicredi.rb', line 20 def informacoes_da_conta(local) # Detalhe Posição: 017 até 037 if local == :detalhe # POSIÇÂO TAM. Descrição # 017 a 017 001 Tipo de moeda ( “A” – Real ) # 018 a 018 001 Tipo de desconto ( “B” – Percentual ) # 019 a 019 001 Tipo de juros ( “B” – Percentual ) # 020 a 037 018 Branco info = 'ABB' info << ''.adjust_size_to(18) # Header Posição: 027 até 046 elsif local == :header # POSIÇÂO TAM. Descrição # 027 a 031 005 Contas Corrente # 032 a 045 014 CPF/CNPJ # 046 a 046 001 Branco info = '' info << "#{conta.conta_corrente}".adjust_size_to(5, '0', :right) info << "#{conta.cpf_cnpj}".adjust_size_to(14, '0', :right) info << ''.adjust_size_to(1) info end end |
#informacoes_do_pagamento(pagamento, sequencial) ⇒ Object
Informações referente ao pagamento 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 148 009 Brancos 149 a 149 001 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
185 186 187 188 189 190 191 192 193 194 195 196 |
# File 'lib/br_boleto/remessa/cnab400/sicredi.rb', line 185 def informacoes_do_pagamento(pagamento, sequencial) info = '' info << pagamento.data_vencimento_formatado('%d%m%y') info << pagamento.valor_documento_formatado(13) info << ''.adjust_size_to(9) info << "#{conta.get_especie_titulo(pagamento.especie_titulo, 400)}".adjust_size_to(1, '0', :right) info << 'N' info << pagamento.data_emissao_formatado('%d%m%y') info << ''.adjust_size_to(2,'0', :right) # 1a Instrução info << ''.adjust_size_to(2,'0', :right) # 2a Instrução info 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 219 001 Identificação do Tipo de Inscrição do Pagador 220 a 220 001 Zero 221 a 234 014 No Inscrição do Pagador 235 a 274 040 Nome do Pagador 275 a 314 040 Endereço Completo 315 a 319 005 Código do Pagador na cooperativa beneficiária ( Preencher com zeros ) 320 a 325 006 Preencher com zeros 326 a 326 001 Branco 332 a 334 003 Sufixo do CEP 335 a 339 005 Código do Pagador junto ao cliente (Preencher com Zeros) 340 a 353 014 CPF/CNPJ Sacador/Avalista ou 2a Mensagem 354 a 394 041 Nome Sacador/Avalista Tamanho: 176
233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 |
# File 'lib/br_boleto/remessa/cnab400/sicredi.rb', line 233 def informacoes_do_sacado(pagamento, sequencial) info = '' info << "#{pagamento.pagador.tipo_cpf_cnpj}".last.adjust_size_to(1, '0', :right) # Tipo de Inscrição do Pagador info << ''.adjust_size_to(1, '0') 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(18) # Endereço Completo info << "#{pagamento.pagador.bairro}".adjust_size_to(10) # Endereço Completo info << "#{pagamento.pagador.cidade}".adjust_size_to(10) # Endereço Completo info << "#{pagamento.pagador.uf}".adjust_size_to(2) # Endereço Completo info << ''.adjust_size_to(5, '0') # Código do Pagador na cooperativa info << ''.adjust_size_to(6, '0') # Preencher com zeros info << ''.adjust_size_to(1) # Preencher com Espaço em Branco info << "#{pagamento.pagador.cep}".adjust_size_to(8, '0', :right) # CEP + Sufixo do CEP info << ''.adjust_size_to(5, '0') # Código do Pagador info << "#{pagamento.pagador.documento_avalista}".adjust_size_to(14, '0', :right) # Sacador/Avalista (CPF/CNPJ) info << "#{pagamento.pagador.nome_avalista}".adjust_size_to(41) # Sacador/Avalista (Nome) info end |
#trailer_arquivo_posicao_002_a_394(sequencial) ⇒ Object
Detalhe Posição 002 a 0349 POSIÇÂO TAM. Descrição
002 a 002 001 Identificação do arquivo remessa 003 a 005 003 Número do Sicredi (748) 006 a 010 005 Código do beneficiário 011 a 394 384 Bracos
Tamanho: 393
264 265 266 267 268 269 270 271 |
# File 'lib/br_boleto/remessa/cnab400/sicredi.rb', line 264 def trailer_arquivo_posicao_002_a_394(sequencial) dados = '' dados << '1' # Identificação do arquivo remessa dados << "#{conta.codigo_banco}".adjust_size_to(3, '0', :right) # Número do Sicredi dados << "#{conta.conta_corrente}".adjust_size_to(5, '0', :right) # Código do beneficiário dados << ''.adjust_size_to(384) dados end |