Module: BrBoleto::Remessa::Cnab240::Helper::SegmentoQ
- Included in:
- Base
- Defined in:
- lib/br_boleto/remessa/cnab240/helper/segmento_q.rb
Instance Method Summary collapse
-
#monta_segmento_q(pagamento, nr_lote, sequencial) ⇒ String
Monta o registro segmento Q do arquivo.
-
#segmento_q_posicao_001_a_003 ⇒ Object
Código do banco 3 posições.
-
#segmento_q_posicao_004_a_007(numero_do_lote) ⇒ Object
Lote de Serviço: Número seqüencial para identificar univocamente um lote de serviço.
-
#segmento_q_posicao_008_a_008 ⇒ Object
Tipo do registro -> Padrão 3 1 posição.
-
#segmento_q_posicao_009_a_013(sequencial) ⇒ Object
Nº Sequencial do Registro no Lote 5 posições.
-
#segmento_q_posicao_014_a_014 ⇒ Object
Cód.
-
#segmento_q_posicao_015_a_015 ⇒ Object
Uso Exclusivo FEBRABAN/CNAB 1 posição.
-
#segmento_q_posicao_016_a_017(pagamento) ⇒ Object
Código de Movimento Remessa 2 posições.
-
#segmento_q_posicao_018_a_018(pagamento) ⇒ Object
Tipo de Inscrição (1=CPF 2=CNPJ) 1 posição.
-
#segmento_q_posicao_019_a_033(pagamento) ⇒ Object
Número de Inscrição 15 posições.
-
#segmento_q_posicao_034_a_073(pagamento) ⇒ Object
Nome do sacado 40 posições.
-
#segmento_q_posicao_074_a_113(pagamento) ⇒ Object
Endereço sacado 40 posições.
-
#segmento_q_posicao_114_a_128(pagamento) ⇒ Object
Bairro do sacado 15 posições.
-
#segmento_q_posicao_129_a_133(pagamento) ⇒ Object
CEP (prefixo) 5 posições.
-
#segmento_q_posicao_134_a_136(pagamento) ⇒ Object
CEP sufixo 3 posições.
-
#segmento_q_posicao_137_a_151(pagamento) ⇒ Object
Cidade 15 posições.
-
#segmento_q_posicao_152_a_153(pagamento) ⇒ Object
Unidade da Federação 2 posuções.
-
#segmento_q_posicao_154_a_154(pagamento) ⇒ Object
Tipo de Inscrição 1 posição.
-
#segmento_q_posicao_155_a_169(pagamento) ⇒ Object
CNPF/CNPJ Avalista 15 posições.
-
#segmento_q_posicao_170_a_209(pagamento) ⇒ Object
Nome do avalista 40 posições.
-
#segmento_q_posicao_210_a_212 ⇒ Object
Cód.
-
#segmento_q_posicao_213_a_232 ⇒ Object
Nosso Nº no Banco Correspondente 20 posições.
-
#segmento_q_posicao_233_a_240 ⇒ Object
Uso Exclusivo FEBRABAN/CNAB 8 posições.
Instance Method Details
#monta_segmento_q(pagamento, nr_lote, sequencial) ⇒ String
Monta o registro segmento Q do arquivo
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 17 def monta_segmento_q(pagamento, nr_lote, sequencial) # # DESCRICAO TAMANHO segmento_q = '' segmento_q << segmento_q_posicao_001_a_003 # codigo banco 3 segmento_q << segmento_q_posicao_004_a_007(nr_lote) # lote de servico 4 segmento_q << segmento_q_posicao_008_a_008 # tipo de registro 1 segmento_q << segmento_q_posicao_009_a_013(sequencial) # num. sequencial do registro no lote 5 segmento_q << segmento_q_posicao_014_a_014 # cod. segmento 1 segmento_q << segmento_q_posicao_015_a_015 # uso exclusivo 1 segmento_q << segmento_q_posicao_016_a_017(pagamento) # cod. movimento remessa 2 segmento_q << segmento_q_posicao_018_a_018(pagamento) # tipo insc. sacado 1 segmento_q << segmento_q_posicao_019_a_033(pagamento) # documento sacado 14 segmento_q << segmento_q_posicao_034_a_073(pagamento) # nome cliente 40 segmento_q << segmento_q_posicao_074_a_113(pagamento) # endereco cliente 40 segmento_q << segmento_q_posicao_114_a_128(pagamento) # bairro 15 segmento_q << segmento_q_posicao_129_a_133(pagamento) # cep 5 segmento_q << segmento_q_posicao_134_a_136(pagamento) # sufixo cep 3 segmento_q << segmento_q_posicao_137_a_151(pagamento) # cidade 15 segmento_q << segmento_q_posicao_152_a_153(pagamento) # uf 2 segmento_q << segmento_q_posicao_154_a_154(pagamento) # identificacao do sacador 1 segmento_q << segmento_q_posicao_155_a_169(pagamento) # documento sacador 15 segmento_q << segmento_q_posicao_170_a_209(pagamento) # nome avalista 40 segmento_q << segmento_q_posicao_210_a_212 # cod. banco correspondente 3 segmento_q << segmento_q_posicao_213_a_232 # nosso numero banco correspondente 20 segmento_q << segmento_q_posicao_233_a_240 # uso exclusivo 8 segmento_q.upcase end |
#segmento_q_posicao_001_a_003 ⇒ Object
Código do banco 3 posições
48 49 50 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 48 def segmento_q_posicao_001_a_003 conta.codigo_banco end |
#segmento_q_posicao_004_a_007(numero_do_lote) ⇒ Object
Lote de Serviço: Número seqüencial para identificar univocamente um lote de serviço. Criado e controlado pelo responsável pela geração magnética dos dados contidos no arquivo. Preencher com ‘0001’ para o primeiro lote do arquivo. Para os demais: número do lote anterior acrescido de 1. O número não poderá ser repetido dentro do arquivo. 4 posições
58 59 60 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 58 def segmento_q_posicao_004_a_007(numero_do_lote) "#{numero_do_lote}".adjust_size_to(4, '0', :right) end |
#segmento_q_posicao_008_a_008 ⇒ Object
Tipo do registro -> Padrão 3 1 posição
65 66 67 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 65 def segmento_q_posicao_008_a_008 '3' end |
#segmento_q_posicao_009_a_013(sequencial) ⇒ Object
Nº Sequencial do Registro no Lote 5 posições
72 73 74 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 72 def segmento_q_posicao_009_a_013(sequencial) "#{sequencial}".adjust_size_to(5, '0', :right) end |
#segmento_q_posicao_014_a_014 ⇒ Object
Cód. Segmento do Registro Detalhe 1 posição
79 80 81 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 79 def segmento_q_posicao_014_a_014 'Q' end |
#segmento_q_posicao_015_a_015 ⇒ Object
Uso Exclusivo FEBRABAN/CNAB 1 posição
86 87 88 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 86 def segmento_q_posicao_015_a_015 ' ' end |
#segmento_q_posicao_016_a_017(pagamento) ⇒ Object
Código de Movimento Remessa 2 posições
93 94 95 96 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 93 def segmento_q_posicao_016_a_017(pagamento) code = "#{pagamento.identificacao_ocorrencia}".rjust(2, '0') "#{conta.get_codigo_movimento_remessa(code, 240)}".adjust_size_to(2, '0') end |
#segmento_q_posicao_018_a_018(pagamento) ⇒ Object
Tipo de Inscrição (1=CPF 2=CNPJ) 1 posição
101 102 103 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 101 def segmento_q_posicao_018_a_018(pagamento) pagamento.pagador.tipo_cpf_cnpj(1) end |
#segmento_q_posicao_019_a_033(pagamento) ⇒ Object
Número de Inscrição 15 posições
108 109 110 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 108 def segmento_q_posicao_019_a_033(pagamento) "#{pagamento.pagador.cpf_cnpj}".adjust_size_to(15, '0', :right) end |
#segmento_q_posicao_034_a_073(pagamento) ⇒ Object
Nome do sacado 40 posições
115 116 117 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 115 def segmento_q_posicao_034_a_073(pagamento) "#{pagamento.pagador.nome}".adjust_size_to(40) end |
#segmento_q_posicao_074_a_113(pagamento) ⇒ Object
Endereço sacado 40 posições
122 123 124 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 122 def segmento_q_posicao_074_a_113(pagamento) "#{pagamento.pagador.endereco}".adjust_size_to(40) end |
#segmento_q_posicao_114_a_128(pagamento) ⇒ Object
Bairro do sacado 15 posições
129 130 131 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 129 def segmento_q_posicao_114_a_128(pagamento) "#{pagamento.pagador.bairro}".adjust_size_to(15) end |
#segmento_q_posicao_129_a_133(pagamento) ⇒ Object
CEP (prefixo) 5 posições
136 137 138 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 136 def segmento_q_posicao_129_a_133(pagamento) "#{pagamento.pagador.cep}"[0..4] end |
#segmento_q_posicao_134_a_136(pagamento) ⇒ Object
CEP sufixo 3 posições
143 144 145 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 143 def segmento_q_posicao_134_a_136(pagamento) "#{pagamento.pagador.cep}"[5..7] end |
#segmento_q_posicao_137_a_151(pagamento) ⇒ Object
Cidade 15 posições
150 151 152 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 150 def segmento_q_posicao_137_a_151(pagamento) "#{pagamento.pagador.cidade}".adjust_size_to(15) end |
#segmento_q_posicao_152_a_153(pagamento) ⇒ Object
Unidade da Federação 2 posuções
157 158 159 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 157 def segmento_q_posicao_152_a_153(pagamento) "#{pagamento.pagador.uf}".adjust_size_to(2) end |
#segmento_q_posicao_154_a_154(pagamento) ⇒ Object
Tipo de Inscrição 1 posição
164 165 166 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 164 def segmento_q_posicao_154_a_154(pagamento) pagamento.pagador.tipo_documento_avalista(1) end |
#segmento_q_posicao_155_a_169(pagamento) ⇒ Object
CNPF/CNPJ Avalista 15 posições
171 172 173 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 171 def segmento_q_posicao_155_a_169(pagamento) "#{pagamento.pagador.documento_avalista}".adjust_size_to(15, '0', :right) end |
#segmento_q_posicao_170_a_209(pagamento) ⇒ Object
Nome do avalista 40 posições
178 179 180 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 178 def segmento_q_posicao_170_a_209(pagamento) "#{pagamento.pagador.nome_avalista}".adjust_size_to(40) end |
#segmento_q_posicao_210_a_212 ⇒ Object
Cód. Bco. Corresp. na Compensação 3 posições
185 186 187 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 185 def segmento_q_posicao_210_a_212 ''.rjust(3, '0') end |
#segmento_q_posicao_213_a_232 ⇒ Object
Nosso Nº no Banco Correspondente 20 posições
192 193 194 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 192 def segmento_q_posicao_213_a_232 ''.rjust(20, ' ') end |
#segmento_q_posicao_233_a_240 ⇒ Object
Uso Exclusivo FEBRABAN/CNAB 8 posições
199 200 201 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 199 def segmento_q_posicao_233_a_240 ''.rjust(8, ' ') end |