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 ⇒ 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 # 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 ⇒ Object
Código de Movimento Remessa 2 posições
93 94 95 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 93 def segmento_q_posicao_016_a_017 '01' end |
#segmento_q_posicao_018_a_018(pagamento) ⇒ Object
Tipo de Inscrição (1=CPF 2=CNPJ) 1 posição
100 101 102 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 100 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
107 108 109 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 107 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
114 115 116 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 114 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
121 122 123 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 121 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
128 129 130 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 128 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
135 136 137 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 135 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
142 143 144 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 142 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
149 150 151 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 149 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
156 157 158 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 156 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
163 164 165 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 163 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
170 171 172 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 170 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
177 178 179 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 177 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
184 185 186 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 184 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
191 192 193 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 191 def segmento_q_posicao_213_a_232 ''.rjust(20, ' ') end |
#segmento_q_posicao_233_a_240 ⇒ Object
Uso Exclusivo FEBRABAN/CNAB 8 posições
198 199 200 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_q.rb', line 198 def segmento_q_posicao_233_a_240 ''.rjust(8, ' ') end |