onde colocar o arquivo que foi alterado?
heber28 opened this issue · 2 comments
heber28 commented
Eu alterei o arquivo de remessa da caixa
para ter uma classe que eu derivei de
class Caixa < Brcobranca::Remessa::Cnab240::Base
onde eu coloco o arquivo que eu alterei.
coloco em app/controllers
ou eu coloco junto da pasta onde esta a gem?
desculpe pela pergunta boba, mas ainda estou comecando no Rails.
kivanio commented
Porque você precisou alterar?
Pode ser em lib, config/initializer, models, em qualquer pasta o rails vai
ler.
Kivanio Barbosa
*boletosimples* Profissionalize sua cobrança com boleto bancário!
BoletoSimples.com.br <http://boletosimples.com.br/> | CobreGratis.com.br
<http://cobregratis.com.br/>
2017-08-14 18:53 GMT-04:00 Heber Massami Nunomura <notifications@github.com>
:
… Eu alterei o arquivo de remessa da caixa
para ter uma classe que eu derivei de
class Caixa < Brcobranca::Remessa::Cnab240::Base
onde eu coloco o arquivo que eu alterei.
coloco em app/controllers
ou eu coloco junto da pasta onde esta a gem?
desculpe pela pergunta boba, mas ainda estou comecando no Rails.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#168>, or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAAT84bdDJvYFG49-cYOTkYzyp6ysjLAks5sYM_1gaJpZM4O2_ow>
.
heber28 commented
Oi Kivanio,
Eu fiz algumas alterações pra dar certo na homologação.
Mas mudei direto sem usar os atributos, que ser o jeito certo.
Mas pretendo mudar assim que possível.
Segue abaixo o que eu alterei.
Atenciosamente
Heber
Ps. Muito obrigado pela gem!!
Me ajudou muito no meu trabalho.
class CaixaEconomica < Brcobranca::Remessa::Cnab240::Caixa
def monta_header_arquivo
header_arquivo = '' # CAMPO
TAMANHO
header_arquivo << cod_banco # codigo do banco
3 ok
header_arquivo << '0000' # lote do servico
4 ok
header_arquivo << '0' # tipo de registro
1 ok
header_arquivo << ''.rjust(9, ' ') # uso exclusivo FEBRABAN
9 ok
header_arquivo << '2' # tipo inscricao 1 para pessoa fisica e 2
para juridica 1 ok
header_arquivo << documento_cedente.to_s.rjust(14, '0') # numero
de inscricao 14 ok
header_arquivo << ''.rjust(20, '0') # uso exclusivo CAIXA
20 ok
header_arquivo << '01553' # agencia mantenedora da Conta
5 ok
header_arquivo << '9' # digito verificador da agencia
1 ok
header_arquivo << '783877' # codigo do beneficiario
6 ok
header_arquivo << ''.rjust(7, '0') # uso exclusivo CAIXA
7 ok
header_arquivo << ''.rjust(1, '0') # uso exclusivo CAIXA
1 ok
header_arquivo << empresa_mae.format_size(30) # nome da empresa
30 ok
header_arquivo << nome_banco.format_size(30) # nome do banco
30 ok
header_arquivo << ''.rjust(10, ' ') # uso exclusivo FEBRABAN
10 ok
header_arquivo << '1' # codigo remessa
1 ok
header_arquivo << Time.now.strftime("%d%m%Y") # data geracao
8 ok
header_arquivo << Time.now.strftime("%H%M%S") # hora geracao
6 ok
header_arquivo << sequencial_remessa.to_s.rjust(6, '0') # numero
seq. arquivo 6 ok
header_arquivo << '101' # num. versao arquivo
3 ok
header_arquivo << ''.rjust(5, '0') # densidade gravacao
5 ok
header_arquivo << ''.rjust(20, ' ') # uso exclusivo CAIXA
20 ok
header_arquivo << 'REMESSA-PRODUCAO'.ljust(20, ' ') # uso
exclusivo 20 ok
header_arquivo << ''.rjust(4, ' ') # versao do aplicativo
4 ok
header_arquivo << ''.rjust(25, ' ') # CNAB
25 ok
header_arquivo
end
def monta_segmento_p(pagamento, nro_lote, sequencial)
segmento_p = cod_banco # codigo banco
3 ok
segmento_p << nro_lote.to_s.rjust(4, '0') # lote de servico
4 ok
segmento_p << '3' # tipo de registro
1 ok
segmento_p << sequencial.to_s.rjust(5, '0') # num. sequencial do
registro no lote 5 ok
segmento_p << 'P' # cod. segmento
1 ok
segmento_p << ' ' # uso exclusivo
1 ok
segmento_p << '01' # cod. movimento remessa
2 ok
segmento_p << '01553' # agencia.to_s.rjust(5, '0') # agencia
5 ok
segmento_p << '9' # digito_agencia.to_s # dv agencia
1 ok
segmento_p << '783877' # cód. convenio no banco
6 ok
segmento_p << '00000000' # uso exclusivo da CAIXA
8 ok
segmento_p << '00' # filter
2 ok
segmento_p << '0' # Modalidade da carteira (SINCO)
1 ok
segmento_p << '14' # Modalidade da carteira (SIGCB)
2 ok
segmento_p << pagamento.nosso_numero.to_s.rjust(15, '0') #
15 ok
segmento_p << '1' # codigo da carteira
1 ok
segmento_p << '1' # forma de cadastramento do titulo no banco
1 ok
segmento_p << '2' # tipo de documento - escritural
1 ok
segmento_p << '2' # identificação da emissão do boleto - 2
cliente emite 1 ok
segmento_p << '0' # identificação da entrega - 0 postagem pelo
beneficiario 1 ok
segmento_p << pagamento.numero_documento.to_s.rjust(11, '0') #
numero do documento de cobrança 11 ok 19.3P
segmento_p << ''.rjust(4, ' ') # uso exclusivo CAIXA
4 ok
segmento_p << pagamento.data_vencimento.strftime('%d%m%Y') # data
de vencimento 8 ok
segmento_p << pagamento.formata_valor(15) # valor documento
15 ok
segmento_p << ''.rjust(5, '0') # agencia cobradora
5 ok
segmento_p << '0' # dv agencia cobradora
1 ok
segmento_p << especie_titulo # especie do titulo
2 ok
segmento_p << aceite # aceite
1 ok
segmento_p << pagamento.data_emissao.strftime('%d%m%Y') # data de
emissao titulo 8 ok
segmento_p << '2' # cod. do juros
1 ok
segmento_p << (pagamento.data_vencimento +
1.day).strftime('%d%m%Y') # data juros 8 ok
segmento_p << pagamento.formata_valor_mora(15) #
15 ok
segmento_p << '0' # cod. do desconto - 0 sem desconto
1 ok
segmento_p << ''.rjust(8, '0') # data do desconto
8 ok
segmento_p << ''.rjust(15, '0') # valor do desconto
15 ok
segmento_p << ''.rjust(15, '0') # valor iof
15 ok
segmento_p << ''.rjust(15, '0') # valor do abatimento
15 ok
segmento_p << pagamento.numero_documento.to_s.rjust(25, '0') #
25 ok 19.3P
segmento_p << '3' # cod. para protesto - 3 não protestar
1 ok
segmento_p << '90' # dias para protesto - tem que ser entre 02
até 90 2 ok
segmento_p << '1' # cod. para baixa - 1 baixar/devolver 2 não
baixar/não devolver 1 ok
segmento_p << '120' # numero de dias para baixa - de 01 até 999
dias corridos 3 ok
segmento_p << '09' # cod. da moeda - 9 real
2 ok
segmento_p << ''.rjust(10, '0') # uso exclusivo da CAIXA
10 ok
segmento_p << '1' # autoriza pagamento parcial? 1 não 2 sim
1 ok
segmento_p
end
def monta_header_lote(nro_lote)
header_lote = '' # CAMPO TAMANHO
header_lote << cod_banco # codigo banco
3
header_lote << nro_lote.to_s.rjust(4, '0') # lote servico
4
header_lote << '1' # tipo de registro
1
header_lote << 'R' # tipo de operacao
1
header_lote << '01' # tipo de servico
2
header_lote << '00' # uso exclusivo
2
header_lote << '060' # versao_layout_lote # num.versao layout lote
3
header_lote << ' ' # uso exclusivo
1
header_lote << '2' #
Brcobranca::Util::Empresa.new(documento_cedente, false).tipo # tipo de
inscricao 1
header_lote << documento_cedente.to_s.rjust(15, '0') # numero de
inscrição do beneficiario 15
header_lote << '783877' # codigo do beneficiario
6
header_lote << ''.rjust(14, '0') # informacoes conta
14
header_lote << '01553' # agencia.to_s.rjust(5, '0') # agencia
5
header_lote << '9' # digito_agencia.to_s # dv agencia
1
header_lote << '783877' # codigo do convenio no banco
6
header_lote << ''.rjust(7, '0') # codigo do modelo personalizado
7
header_lote << '0' # uso exclusivo da CAIXA
1
header_lote << empresa_mae.format_size(30) # nome empresa
30
header_lote << mensagem_1.to_s.format_size(40) # 1a mensagem
40
header_lote << mensagem_2.to_s.format_size(40) # 2a mensagem
40
header_lote << sequencial_remessa.to_s.rjust(8, '0') # numero
remessa 8
header_lote << data_geracao # data de gravacao da remessa
8
header_lote << ''.rjust(8, '0') # data do credito
8
header_lote << ''.rjust(33, ' ') # cnab
33
header_lote
end
def monta_segmento_q(pagamento, nro_lote, sequencial)
segmento_q = '' # CAMPO TAMANHO
segmento_q << cod_banco # codigo banco
3
segmento_q << nro_lote.to_s.rjust(4, '0') # lote de servico
4
segmento_q << '3' # tipo de registro
1
segmento_q << sequencial.to_s.rjust(5, '0') # num. sequencial do
registro no lote 5
segmento_q << 'Q' # ucod. segmento
1
segmento_q << ' ' # uso exclusivo
1
segmento_q << '01' # cod. movimento remessa
2
segmento_q << pagamento.identificacao_sacado(false) # tipo insc.
sacado 1
segmento_q << pagamento.documento_sacado.to_s.rjust(15, '0') #
documento sacado 15
segmento_q << pagamento.nome_sacado.format_size(40) # nome cliente
40
segmento_q << pagamento.endereco_sacado.format_size(40) # endereco
cliente 40
segmento_q << pagamento.bairro_sacado.format_size(15) # bairro
15
segmento_q << pagamento.cep_sacado[0..4] # cep
5
segmento_q << pagamento.cep_sacado[5..7] # sufixo cep
3
segmento_q << pagamento.cidade_sacado.format_size(15) # cidade
15
segmento_q << pagamento.uf_sacado # uf
2
segmento_q << pagamento.identificacao_avalista(false) #
identificacao do sacador 1
segmento_q << pagamento.documento_avalista.to_s.rjust(15, '0') #
documento sacador 15
segmento_q << pagamento.nome_avalista.format_size(40) # nome
avalista 40
segmento_q << ''.rjust(3, '0') # cod. banco correspondente
3
segmento_q << ''.rjust(20, ' ') # nosso numero banco
correspondente 20
segmento_q << ''.rjust(8, ' ') # uso exclusivo
8
segmento_q
end
end
Em 15 de agosto de 2017 10:04, Kivanio Barbosa <notifications@github.com>
escreveu:
… Porque você precisou alterar?
Pode ser em lib, config/initializer, models, em qualquer pasta o rails vai
ler.
Kivanio Barbosa
*boletosimples* Profissionalize sua cobrança com boleto bancário!
BoletoSimples.com.br <http://boletosimples.com.br/> | CobreGratis.com.br
<http://cobregratis.com.br/>
2017-08-14 18:53 GMT-04:00 Heber Massami Nunomura <
***@***.***>
:
> Eu alterei o arquivo de remessa da caixa
> para ter uma classe que eu derivei de
> class Caixa < Brcobranca::Remessa::Cnab240::Base
>
> onde eu coloco o arquivo que eu alterei.
> coloco em app/controllers
> ou eu coloco junto da pasta onde esta a gem?
>
> desculpe pela pergunta boba, mas ainda estou comecando no Rails.
>
> —
> You are receiving this because you are subscribed to this thread.
> Reply to this email directly, view it on GitHub
> <#168>, or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AAAT84bdDJvYFG49-
cYOTkYzyp6ysjLAks5sYM_1gaJpZM4O2_ow>
> .
>
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#168 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAK9RKLuvnvibjrf1Pf7HcWCdPGduMahks5sYZdXgaJpZM4O2_ow>
.