Module: BrBoleto::Remessa::Cnab240::Helper::SegmentoR
- Included in:
- Base
- Defined in:
- lib/br_boleto/remessa/cnab240/helper/segmento_r.rb
Instance Method Summary collapse
-
#monta_segmento_r(pagamento, nr_lote, sequencial) ⇒ String
Monta o registro segmento Q do arquivo.
-
#segmento_r_posicao_001_a_003 ⇒ Object
Código do banco 3 posições.
-
#segmento_r_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_r_posicao_008_a_008 ⇒ Object
Tipo do registro -> Padrão 3 1 posição.
-
#segmento_r_posicao_009_a_013(sequencial) ⇒ Object
Nº Sequencial do Registro no Lote 5 posições.
-
#segmento_r_posicao_014_a_014 ⇒ Object
Cód.
-
#segmento_r_posicao_015_a_015 ⇒ Object
Uso Exclusivo FEBRABAN/CNAB 1 posição.
-
#segmento_r_posicao_016_a_017 ⇒ Object
Código de Movimento Remessa - 01 = Entrada de Titulos 2 posições.
-
#segmento_r_posicao_018_a_018(pagamento) ⇒ Object
Código do desconto 2 1 posição.
-
#segmento_r_posicao_019_a_026(pagamento) ⇒ Object
Data do desconto 2 8 posições.
-
#segmento_r_posicao_027_a_041(pagamento) ⇒ Object
Valor do desconto 2 15 posições.
-
#segmento_r_posicao_042_a_042(pagamento) ⇒ Object
Código do desconto 3 1 posição.
-
#segmento_r_posicao_043_a_050(pagamento) ⇒ Object
Data do desconto 3 8 posições.
-
#segmento_r_posicao_051_a_065(pagamento) ⇒ Object
Valor do desconto 3 15 posições.
-
#segmento_r_posicao_066_a_066(pagamento) ⇒ Object
Codigo da multa 1 posição Padrão FEBRABAN = (1 = Valor fixo e 2 = Percentual, 3 = isento).
-
#segmento_r_posicao_067_a_074(pagamento) ⇒ Object
Data da multa 8 posição.
-
#segmento_r_posicao_075_a_089(pagamento) ⇒ Object
valor da multa 15 posições.
-
#segmento_r_posicao_090_a_099 ⇒ Object
Informação ao pagador 10 posições.
-
#segmento_r_posicao_100_a_139 ⇒ Object
Informação 3 40 posições.
-
#segmento_r_posicao_140_a_179 ⇒ Object
Informação 4 40 posições.
-
#segmento_r_posicao_180_a_199 ⇒ Object
CNAB Uso exclusivo FEBRABAN 20 posições.
-
#segmento_r_posicao_200_a_207 ⇒ Object
Cod.
-
#segmento_r_posicao_208_a_210 ⇒ Object
Cod.
-
#segmento_r_posicao_211_a_215 ⇒ Object
Agencia para débido 5 posições.
-
#segmento_r_posicao_216_a_216 ⇒ Object
DV agencia para débido 1 posições.
-
#segmento_r_posicao_217_a_228 ⇒ Object
Conta corrente para débito 12 posições.
-
#segmento_r_posicao_229_a_229 ⇒ Object
DV Conta corrente para débito 1 posições.
-
#segmento_r_posicao_230_a_230 ⇒ Object
DV Aencia/Conta 1 posições.
-
#segmento_r_posicao_231_a_231 ⇒ Object
Ident.
-
#segmento_r_posicao_232_a_240 ⇒ Object
Uso exclusivo 9 posições.
Instance Method Details
#monta_segmento_r(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 44 45 46 47 48 49 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 17 def monta_segmento_r(pagamento, nr_lote, sequencial) segmento_r = '' segmento_r << segmento_r_posicao_001_a_003 segmento_r << segmento_r_posicao_004_a_007(nr_lote) segmento_r << segmento_r_posicao_008_a_008 segmento_r << segmento_r_posicao_009_a_013(sequencial) segmento_r << segmento_r_posicao_014_a_014 segmento_r << segmento_r_posicao_015_a_015 segmento_r << segmento_r_posicao_016_a_017 segmento_r << segmento_r_posicao_018_a_018(pagamento) segmento_r << segmento_r_posicao_019_a_026(pagamento) segmento_r << segmento_r_posicao_027_a_041(pagamento) segmento_r << segmento_r_posicao_042_a_042(pagamento) segmento_r << segmento_r_posicao_043_a_050(pagamento) segmento_r << segmento_r_posicao_051_a_065(pagamento) segmento_r << segmento_r_posicao_066_a_066(pagamento) segmento_r << segmento_r_posicao_067_a_074(pagamento) segmento_r << segmento_r_posicao_075_a_089(pagamento) segmento_r << segmento_r_posicao_090_a_099 segmento_r << segmento_r_posicao_100_a_139 segmento_r << segmento_r_posicao_140_a_179 segmento_r << segmento_r_posicao_180_a_199 segmento_r << segmento_r_posicao_200_a_207 segmento_r << segmento_r_posicao_208_a_210 segmento_r << segmento_r_posicao_211_a_215 segmento_r << segmento_r_posicao_216_a_216 segmento_r << segmento_r_posicao_217_a_228 segmento_r << segmento_r_posicao_229_a_229 segmento_r << segmento_r_posicao_230_a_230 segmento_r << segmento_r_posicao_231_a_231 segmento_r << segmento_r_posicao_232_a_240 segmento_r.upcase end |
#segmento_r_posicao_001_a_003 ⇒ Object
Código do banco 3 posições
54 55 56 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 54 def segmento_r_posicao_001_a_003 conta.codigo_banco end |
#segmento_r_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
64 65 66 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 64 def segmento_r_posicao_004_a_007(numero_do_lote) "#{numero_do_lote}".adjust_size_to(4, '0', :right) end |
#segmento_r_posicao_008_a_008 ⇒ Object
Tipo do registro -> Padrão 3 1 posição
71 72 73 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 71 def segmento_r_posicao_008_a_008 '3' end |
#segmento_r_posicao_009_a_013(sequencial) ⇒ Object
Nº Sequencial do Registro no Lote 5 posições
78 79 80 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 78 def segmento_r_posicao_009_a_013(sequencial) "#{sequencial}".adjust_size_to(5, '0', :right) end |
#segmento_r_posicao_014_a_014 ⇒ Object
Cód. Segmento do Registro Detalhe 1 posição
85 86 87 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 85 def segmento_r_posicao_014_a_014 'R' end |
#segmento_r_posicao_015_a_015 ⇒ Object
Uso Exclusivo FEBRABAN/CNAB 1 posição
92 93 94 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 92 def segmento_r_posicao_015_a_015 ' ' end |
#segmento_r_posicao_016_a_017 ⇒ Object
Código de Movimento Remessa - 01 = Entrada de Titulos 2 posições
99 100 101 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 99 def segmento_r_posicao_016_a_017 '01' end |
#segmento_r_posicao_018_a_018(pagamento) ⇒ Object
Código do desconto 2 1 posição
106 107 108 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 106 def segmento_r_posicao_018_a_018(pagamento) "#{pagamento.desconto_2_codigo}".adjust_size_to(1) end |
#segmento_r_posicao_019_a_026(pagamento) ⇒ Object
Data do desconto 2 8 posições
113 114 115 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 113 def segmento_r_posicao_019_a_026(pagamento) "#{pagamento.desconto_2_data_formatado('%d%m%Y')}".adjust_size_to(8, '0') end |
#segmento_r_posicao_027_a_041(pagamento) ⇒ Object
Valor do desconto 2 15 posições
120 121 122 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 120 def segmento_r_posicao_027_a_041(pagamento) pagamento.desconto_2_valor_formatado(15) end |
#segmento_r_posicao_042_a_042(pagamento) ⇒ Object
Código do desconto 3 1 posição
127 128 129 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 127 def segmento_r_posicao_042_a_042(pagamento) "#{pagamento.desconto_3_codigo}".adjust_size_to(1) end |
#segmento_r_posicao_043_a_050(pagamento) ⇒ Object
Data do desconto 3 8 posições
134 135 136 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 134 def segmento_r_posicao_043_a_050(pagamento) "#{pagamento.desconto_3_data_formatado('%d%m%Y')}".adjust_size_to(8, '0') end |
#segmento_r_posicao_051_a_065(pagamento) ⇒ Object
Valor do desconto 3 15 posições
141 142 143 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 141 def segmento_r_posicao_051_a_065(pagamento) pagamento.desconto_3_valor_formatado(15) end |
#segmento_r_posicao_066_a_066(pagamento) ⇒ Object
Codigo da multa 1 posição Padrão FEBRABAN = (1 = Valor fixo e 2 = Percentual, 3 = isento)
149 150 151 152 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 149 def segmento_r_posicao_066_a_066(pagamento) cod = "#{pagamento.codigo_multa}".adjust_size_to(1, '3') cod.in?(['1','2','3']) ? cod : '3' end |
#segmento_r_posicao_067_a_074(pagamento) ⇒ Object
Data da multa 8 posição
157 158 159 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 157 def segmento_r_posicao_067_a_074(pagamento) "#{pagamento.data_multa_formatado('%d%m%Y')}".adjust_size_to(8, '0') end |
#segmento_r_posicao_075_a_089(pagamento) ⇒ Object
valor da multa 15 posições
164 165 166 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 164 def segmento_r_posicao_075_a_089(pagamento) pagamento.valor_multa_formatado(15) end |
#segmento_r_posicao_090_a_099 ⇒ Object
Informação ao pagador 10 posições
171 172 173 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 171 def segmento_r_posicao_090_a_099 ''.rjust(10, " ") end |
#segmento_r_posicao_100_a_139 ⇒ Object
Informação 3 40 posições
178 179 180 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 178 def segmento_r_posicao_100_a_139 ''.rjust(40, " ") end |
#segmento_r_posicao_140_a_179 ⇒ Object
Informação 4 40 posições
185 186 187 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 185 def segmento_r_posicao_140_a_179 ''.rjust(40, " ") end |
#segmento_r_posicao_180_a_199 ⇒ Object
CNAB Uso exclusivo FEBRABAN 20 posições
192 193 194 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 192 def segmento_r_posicao_180_a_199 ''.rjust(20, " ") end |
#segmento_r_posicao_200_a_207 ⇒ Object
Cod. Ocor. do pagador 8 posições
199 200 201 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 199 def segmento_r_posicao_200_a_207 ''.rjust(8, "0") end |
#segmento_r_posicao_208_a_210 ⇒ Object
Cod. do banco para débido 3 posições
206 207 208 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 206 def segmento_r_posicao_208_a_210 ''.rjust(3, "0") end |
#segmento_r_posicao_211_a_215 ⇒ Object
Agencia para débido 5 posições
213 214 215 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 213 def segmento_r_posicao_211_a_215 ''.rjust(5, "0") end |
#segmento_r_posicao_216_a_216 ⇒ Object
DV agencia para débido 1 posições
220 221 222 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 220 def segmento_r_posicao_216_a_216 " " end |
#segmento_r_posicao_217_a_228 ⇒ Object
Conta corrente para débito 12 posições
227 228 229 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 227 def segmento_r_posicao_217_a_228 "".rjust(12, '0') end |
#segmento_r_posicao_229_a_229 ⇒ Object
DV Conta corrente para débito 1 posições
234 235 236 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 234 def segmento_r_posicao_229_a_229 " " end |
#segmento_r_posicao_230_a_230 ⇒ Object
DV Aencia/Conta 1 posições
241 242 243 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 241 def segmento_r_posicao_230_a_230 " " end |
#segmento_r_posicao_231_a_231 ⇒ Object
Ident. Da emissão do Aviso Debito Automatico 1 posição
248 249 250 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 248 def segmento_r_posicao_231_a_231 "0" end |
#segmento_r_posicao_232_a_240 ⇒ Object
Uso exclusivo 9 posições
255 256 257 |
# File 'lib/br_boleto/remessa/cnab240/helper/segmento_r.rb', line 255 def segmento_r_posicao_232_a_240 "".rjust(9, " ") end |