Class: RubyCnab240::Arquivo::Lote::Header
- Inherits:
-
RubyCnab240::Arquivo::Lote
- Object
- RubyCnab240::Arquivo
- RubyCnab240::Arquivo::Lote
- RubyCnab240::Arquivo::Lote::Header
- Defined in:
- lib/rubycnab240/arquivo/lotes/header.rb
Instance Attribute Summary collapse
-
#agencia_mantenedora_da_conta ⇒ Object
Returns the value of attribute agencia_mantenedora_da_conta.
-
#bb2 ⇒ Object
readonly
Returns the value of attribute bb2.
-
#bb3 ⇒ Object
readonly
Returns the value of attribute bb3.
-
#bb4 ⇒ Object
readonly
Returns the value of attribute bb4.
-
#campos_opcionais_de_endereco ⇒ Object
Returns the value of attribute campos_opcionais_de_endereco.
-
#codigo_do_banco_na_compensacao ⇒ Object
Returns the value of attribute codigo_do_banco_na_compensacao.
-
#codigo_do_convenio_do_banco ⇒ Object
Returns the value of attribute codigo_do_convenio_do_banco.
-
#codigo_para_ocorrencias_de_retorno ⇒ Object
readonly
Returns the value of attribute codigo_para_ocorrencias_de_retorno.
-
#digito_verificador_da_agencia ⇒ Object
Returns the value of attribute digito_verificador_da_agencia.
-
#digito_verificador_da_agencia_e_conta ⇒ Object
Returns the value of attribute digito_verificador_da_agencia_e_conta.
-
#digito_verificador_da_conta ⇒ Object
Returns the value of attribute digito_verificador_da_conta.
-
#forma_de_lancamento ⇒ Object
Returns the value of attribute forma_de_lancamento.
-
#lote_do_servico ⇒ Object
Returns the value of attribute lote_do_servico.
-
#mensagem_1 ⇒ Object
readonly
Returns the value of attribute mensagem_1.
-
#nome_da_empresa ⇒ Object
Returns the value of attribute nome_da_empresa.
-
#numero_da_conta_corrente ⇒ Object
Returns the value of attribute numero_da_conta_corrente.
-
#numero_da_versao_do_leiaute_do_lote ⇒ Object
readonly
Returns the value of attribute numero_da_versao_do_leiaute_do_lote.
-
#numero_de_inscricao_da_empresa ⇒ Object
Returns the value of attribute numero_de_inscricao_da_empresa.
-
#tipo_de_inscricao_da_empresa ⇒ Object
Returns the value of attribute tipo_de_inscricao_da_empresa.
-
#tipo_de_operacao ⇒ Object
readonly
Returns the value of attribute tipo_de_operacao.
-
#tipo_de_registro ⇒ Object
readonly
Returns the value of attribute tipo_de_registro.
-
#tipo_de_servico ⇒ Object
readonly
Returns the value of attribute tipo_de_servico.
-
#uso_exclusivo_febraban ⇒ Object
readonly
Returns the value of attribute uso_exclusivo_febraban.
-
#uso_exclusivo_febraban2 ⇒ Object
readonly
Returns the value of attribute uso_exclusivo_febraban2.
Attributes inherited from RubyCnab240::Arquivo::Lote
#lot_header, #lot_trailer, #lots
Attributes inherited from RubyCnab240::Arquivo
#data_dos_pagamentos, #header, #lot_header, #lot_trailer, #segments, #trailer
Instance Method Summary collapse
-
#initialize(fields = {}) ⇒ Header
constructor
A new instance of Header.
- #to_string ⇒ Object
Methods inherited from RubyCnab240::Arquivo::Lote
Methods inherited from RubyCnab240::Arquivo
#<<, #number_of_segments, #save_to_file
Constructor Details
#initialize(fields = {}) ⇒ Header
Returns a new instance of Header.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/rubycnab240/arquivo/lotes/header.rb', line 28 def initialize(fields = {}) @codigo_do_banco_na_compensacao = fields[:codigo_do_banco_na_compensacao].to_s[0..2].rjust(3, '0') #default: 001 @lote_do_servico = fields[:lote_do_servico].to_s[0..3].rjust(4, '0') @tipo_de_registro = fields[:tipo_de_registro] = '1' @tipo_de_operacao = fields[:tipo_de_operacao] = 'C' @tipo_de_servico = fields[:tipo_de_servico] = '20' #Os tipos de serviços aceitos pelo BB são somente '20' (Pagamento a Fornecedores), '30' (Pagamento de Salários) e '98' (Pagamentos Diversos). @forma_de_lancamento = fields[:forma_de_lancamento] || '41' #Formas de lançamentos aceitos pelo BB quando utilizados os segmentos A e B : 01 para Crédito em Conta Corrente, 02 para Pagamento Contra0Recibo, 03 para DOC/TED, 04 para Cartão Salário, 05 para Crédito em Conta Poupança, 10 para Ordem de Pagamento, 41 para TED Outra Titularidade, e 43 para TED Mesma Titularidade. Obs.: no caso da forma de lançamento 03, 41 ou 43, há complementação de informação do campo “Código da Câmara de Compensação”, posições 18 a 20 do segmento A. @numero_da_versao_do_leiaute_do_lote = '031' #Campo não criticado pelo sistema. Informar Zeros OU se preferir, informar número da versão do leiaute do Lote que foi utilizado como base para formatação dos campos. Versões disponíveis: 043, 042, 041, 040, 031, 030 ou 020. A versão do Lote quando informada deve estar condizente com a versão do Arquivo (posições 164 a 166 do Header de Arquivo). Ou seja, para utilizar 043 no lote o Header do arquivo deve conter 084, para 042 no lote o Header do arquivo deve conter 083 ou 082, para 041 ou 040 no lote o Header do arquivo deve conter 080, para 031 no lote o Header do arquivo deve conter 050, para 030 no lote o Header do Arquivo deve conter 040, e para 020 no lote o Header do Arquivo deve conter 030. @uso_exclusivo_febraban = ' ' @tipo_de_inscricao_da_empresa = fields[:tipo_de_inscricao_da_empresa].to_s[0..0].rjust(1, '0') #1 – para CPF e 2 – para CNPJ. @numero_de_inscricao_da_empresa = fields[:numero_de_inscricao_da_empresa].to_s[0..13].rjust(14, '0') #Informar número da inscrição (CPF ou CNPJ) da Empresa, alinhado à direita com zeros à esquerda. #Codigo do Convenio do Banco @codigo_do_convenio_do_banco = fields[:codigo_do_convenio_do_banco].to_s[0..8].rjust(9, '0') #Informar o convênio de pagamento, completando com zeros à esquerda @bb2 = fields[:bb2] = '0126' @bb3 = fields[:bb3] = ' ' @bb4 = fields[:bb4] = ' ' @agencia_mantenedora_da_conta = fields[:agencia_mantenedora_da_conta].to_s[0..4].rjust(5, '0') @digito_verificador_da_agencia = fields[:digito_verificador_da_agencia].to_s[0..0].upcase.rjust(1, '0') @numero_da_conta_corrente = fields[:numero_da_conta_corrente].to_s[0..11].rjust(12, '0') @digito_verificador_da_conta = fields[:digito_verificador_da_conta].to_s[0..0].upcase.rjust(1, '0') @digito_verificador_da_agencia_e_conta = '0' @nome_da_empresa = fields[:nome_da_empresa].to_s[0..29].upcase.rjust(30, ' ') @mensagem_1 = fields[:mensagem_1] = ' ' @campos_opcionais_de_endereco = fields[:campos_opcionais_de_endereco].to_s[0..79].upcase.ljust(80, ' ') @uso_exclusivo_febraban2 = ' ' @codigo_para_ocorrencias_de_retorno = ' ' end |
Instance Attribute Details
#agencia_mantenedora_da_conta ⇒ Object
Returns the value of attribute agencia_mantenedora_da_conta.
8 9 10 |
# File 'lib/rubycnab240/arquivo/lotes/header.rb', line 8 def agencia_mantenedora_da_conta @agencia_mantenedora_da_conta end |
#bb2 ⇒ Object (readonly)
Returns the value of attribute bb2.
20 21 22 |
# File 'lib/rubycnab240/arquivo/lotes/header.rb', line 20 def bb2 @bb2 end |
#bb3 ⇒ Object (readonly)
Returns the value of attribute bb3.
21 22 23 |
# File 'lib/rubycnab240/arquivo/lotes/header.rb', line 21 def bb3 @bb3 end |
#bb4 ⇒ Object (readonly)
Returns the value of attribute bb4.
22 23 24 |
# File 'lib/rubycnab240/arquivo/lotes/header.rb', line 22 def bb4 @bb4 end |
#campos_opcionais_de_endereco ⇒ Object
Returns the value of attribute campos_opcionais_de_endereco.
14 15 16 |
# File 'lib/rubycnab240/arquivo/lotes/header.rb', line 14 def campos_opcionais_de_endereco @campos_opcionais_de_endereco end |
#codigo_do_banco_na_compensacao ⇒ Object
Returns the value of attribute codigo_do_banco_na_compensacao.
2 3 4 |
# File 'lib/rubycnab240/arquivo/lotes/header.rb', line 2 def codigo_do_banco_na_compensacao @codigo_do_banco_na_compensacao end |
#codigo_do_convenio_do_banco ⇒ Object
Returns the value of attribute codigo_do_convenio_do_banco.
7 8 9 |
# File 'lib/rubycnab240/arquivo/lotes/header.rb', line 7 def codigo_do_convenio_do_banco @codigo_do_convenio_do_banco end |
#codigo_para_ocorrencias_de_retorno ⇒ Object (readonly)
Returns the value of attribute codigo_para_ocorrencias_de_retorno.
25 26 27 |
# File 'lib/rubycnab240/arquivo/lotes/header.rb', line 25 def codigo_para_ocorrencias_de_retorno @codigo_para_ocorrencias_de_retorno end |
#digito_verificador_da_agencia ⇒ Object
Returns the value of attribute digito_verificador_da_agencia.
9 10 11 |
# File 'lib/rubycnab240/arquivo/lotes/header.rb', line 9 def digito_verificador_da_agencia @digito_verificador_da_agencia end |
#digito_verificador_da_agencia_e_conta ⇒ Object
Returns the value of attribute digito_verificador_da_agencia_e_conta.
12 13 14 |
# File 'lib/rubycnab240/arquivo/lotes/header.rb', line 12 def digito_verificador_da_agencia_e_conta @digito_verificador_da_agencia_e_conta end |
#digito_verificador_da_conta ⇒ Object
Returns the value of attribute digito_verificador_da_conta.
11 12 13 |
# File 'lib/rubycnab240/arquivo/lotes/header.rb', line 11 def digito_verificador_da_conta @digito_verificador_da_conta end |
#forma_de_lancamento ⇒ Object
Returns the value of attribute forma_de_lancamento.
4 5 6 |
# File 'lib/rubycnab240/arquivo/lotes/header.rb', line 4 def forma_de_lancamento @forma_de_lancamento end |
#lote_do_servico ⇒ Object
Returns the value of attribute lote_do_servico.
3 4 5 |
# File 'lib/rubycnab240/arquivo/lotes/header.rb', line 3 def lote_do_servico @lote_do_servico end |
#mensagem_1 ⇒ Object (readonly)
Returns the value of attribute mensagem_1.
23 24 25 |
# File 'lib/rubycnab240/arquivo/lotes/header.rb', line 23 def mensagem_1 @mensagem_1 end |
#nome_da_empresa ⇒ Object
Returns the value of attribute nome_da_empresa.
13 14 15 |
# File 'lib/rubycnab240/arquivo/lotes/header.rb', line 13 def nome_da_empresa @nome_da_empresa end |
#numero_da_conta_corrente ⇒ Object
Returns the value of attribute numero_da_conta_corrente.
10 11 12 |
# File 'lib/rubycnab240/arquivo/lotes/header.rb', line 10 def numero_da_conta_corrente @numero_da_conta_corrente end |
#numero_da_versao_do_leiaute_do_lote ⇒ Object (readonly)
Returns the value of attribute numero_da_versao_do_leiaute_do_lote.
26 27 28 |
# File 'lib/rubycnab240/arquivo/lotes/header.rb', line 26 def numero_da_versao_do_leiaute_do_lote @numero_da_versao_do_leiaute_do_lote end |
#numero_de_inscricao_da_empresa ⇒ Object
Returns the value of attribute numero_de_inscricao_da_empresa.
6 7 8 |
# File 'lib/rubycnab240/arquivo/lotes/header.rb', line 6 def numero_de_inscricao_da_empresa @numero_de_inscricao_da_empresa end |
#tipo_de_inscricao_da_empresa ⇒ Object
Returns the value of attribute tipo_de_inscricao_da_empresa.
5 6 7 |
# File 'lib/rubycnab240/arquivo/lotes/header.rb', line 5 def tipo_de_inscricao_da_empresa @tipo_de_inscricao_da_empresa end |
#tipo_de_operacao ⇒ Object (readonly)
Returns the value of attribute tipo_de_operacao.
18 19 20 |
# File 'lib/rubycnab240/arquivo/lotes/header.rb', line 18 def tipo_de_operacao @tipo_de_operacao end |
#tipo_de_registro ⇒ Object (readonly)
Returns the value of attribute tipo_de_registro.
17 18 19 |
# File 'lib/rubycnab240/arquivo/lotes/header.rb', line 17 def tipo_de_registro @tipo_de_registro end |
#tipo_de_servico ⇒ Object (readonly)
Returns the value of attribute tipo_de_servico.
19 20 21 |
# File 'lib/rubycnab240/arquivo/lotes/header.rb', line 19 def tipo_de_servico @tipo_de_servico end |
#uso_exclusivo_febraban ⇒ Object (readonly)
Returns the value of attribute uso_exclusivo_febraban.
16 17 18 |
# File 'lib/rubycnab240/arquivo/lotes/header.rb', line 16 def uso_exclusivo_febraban @uso_exclusivo_febraban end |
#uso_exclusivo_febraban2 ⇒ Object (readonly)
Returns the value of attribute uso_exclusivo_febraban2.
24 25 26 |
# File 'lib/rubycnab240/arquivo/lotes/header.rb', line 24 def uso_exclusivo_febraban2 @uso_exclusivo_febraban2 end |
Instance Method Details
#to_string ⇒ Object
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/rubycnab240/arquivo/lotes/header.rb', line 59 def to_string header = String.new header << self.codigo_do_banco_na_compensacao header << self.lote_do_servico header << self.tipo_de_registro header << self.tipo_de_operacao header << self.tipo_de_servico header << self.forma_de_lancamento header << self.numero_da_versao_do_leiaute_do_lote header << self.uso_exclusivo_febraban header << self.tipo_de_inscricao_da_empresa header << self.numero_de_inscricao_da_empresa header << self.codigo_do_convenio_do_banco header << self.bb2 header << self.bb3 header << self.bb4 header << self.agencia_mantenedora_da_conta header << self.digito_verificador_da_agencia header << self.numero_da_conta_corrente header << self.digito_verificador_da_conta header << self.digito_verificador_da_agencia_e_conta header << self.nome_da_empresa header << self.mensagem_1 header << self.campos_opcionais_de_endereco header << self.uso_exclusivo_febraban2 header << self.codigo_para_ocorrencias_de_retorno end |