lib/brcobranca/remessa/cnab240/base.rb
# Monta o registro segmento P do arquivo
#
# @param pagamento [Brcobranca::Remessa::Pagamento]
#   objeto contendo os detalhes do boleto (valor, vencimento, sacado, etc)
# @param nro_lote [Integer]
#   numero do lote que o segmento esta inserido
# @param sequencial [Integer]
#   numero sequencial do registro no lote
#
# @return [String]
#
Monta o registro segmento P do arquivo
Monta o registro segmento P do arquivo
def monta_segmento_p(pagamento, nro_lote, sequencial)
          segmento_p = cod_banco                                                           
          segmento_p << nro_lote.to_s.rjust(4, '0')                                        
          segmento_p << '3'                                                                
          segmento_p << sequencial.to_s.rjust(5, '0')                                      
          segmento_p << 'P'                                                                
          segmento_p << ' '                                                                
          segmento_p << '01'                                                               
          segmento_p << agencia.to_s.rjust(5, '0')                                         
          segmento_p << digito_agencia.to_s                                                
          segmento_p << complemento_p(pagamento)                                           
          segmento_p << codigo_carteira                                                    
          segmento_p << forma_cadastramento                                                
          segmento_p << tipo_documento                                                     
          segmento_p << emissao_boleto                                                     
          segmento_p << distribuicao_boleto                                                
          segmento_p << pagamento.numero_documento.to_s.rjust(15, '0')                     
          segmento_p << pagamento.data_vencimento.strftime('%d%m%Y')                       
          segmento_p << pagamento.formata_valor(15)                                        
          segmento_p << ''.rjust(5, '0')                                                   
          segmento_p << '0'                                                                
          segmento_p << especie_titulo                                                     
          segmento_p << aceite                                                             
          segmento_p << pagamento.data_emissao.strftime('%d%m%Y')                          
          segmento_p << '0'                                                                
          segmento_p << ''.rjust(8, '0')                                                   
          segmento_p << ''.rjust(15, '0')                                                  
          segmento_p << pagamento.cod_desconto                                             
          segmento_p << pagamento.formata_data_desconto('%d%m%Y')                          
          segmento_p << pagamento.formata_valor_desconto(15)                               
          segmento_p << pagamento.formata_valor_iof(15)                                    
          segmento_p << pagamento.formata_valor_abatimento(15)                             
          segmento_p << ''.rjust(25, ' ')                                                  
          segmento_p << '0'                                                                
          segmento_p << '00'                                                               
          segmento_p << '0'                                                                
          segmento_p << '000'                                                              
          segmento_p << '09'                                                               
          segmento_p << ''.rjust(10, '0')                                                  0
          segmento_p << ' '                                                                
          segmento_p
        end
def monta_segmento_p ( pagamento , nro_lote , sequencial ) segmento_p = cod_banco segmento_p << nro_lote . to_s . rjust ( 4 , '0' ) segmento_p << '3' segmento_p << sequencial . to_s . rjust ( 5 , '0' ) segmento_p << 'P' segmento_p << ' ' segmento_p << '01' segmento_p << agencia . to_s . rjust ( 5 , '0' ) segmento_p << digito_agencia . to_s segmento_p << complemento_p ( pagamento ) segmento_p << codigo_carteira segmento_p << forma_cadastramento segmento_p << tipo_documento segmento_p << emissao_boleto segmento_p << distribuicao_boleto segmento_p << pagamento . numero_documento . to_s . rjust ( 15 , '0' ) segmento_p << pagamento . data_vencimento . strftime ( '%d%m%Y' ) segmento_p << pagamento . formata_valor ( 15 ) segmento_p << '' . rjust ( 5 , '0' ) segmento_p << '0' segmento_p << especie_titulo segmento_p << aceite segmento_p << pagamento . data_emissao . strftime ( '%d%m%Y' ) segmento_p << '0' segmento_p << '' . rjust ( 8 , '0' ) segmento_p << '' . rjust ( 15 , '0' ) segmento_p << pagamento . cod_desconto segmento_p << pagamento . formata_data_desconto ( '%d%m%Y' ) segmento_p << pagamento . formata_valor_desconto ( 15 ) segmento_p << pagamento . formata_valor_iof ( 15 ) segmento_p << pagamento . formata_valor_abatimento ( 15 ) segmento_p << '' . rjust ( 25 , ' ' ) segmento_p << '0' segmento_p << '00' segmento_p << '0' segmento_p << '000' segmento_p << '09' segmento_p << '' . rjust ( 10 , '0' ) segmento_p << ' ' segmento_p end
Monta o registro segmento P do arquivo
Monta o registro segmento P do arquivo
# campos com * na frente nao foram implementados #                                                                                # DESCRICAO                             TAMANHO # codigo banco                          3 # lote de servico                       4 # tipo de registro                      1 # num. sequencial do registro no lote   5 # cod. segmento                         1 # uso exclusivo                         1 # cod. movimento remessa                2 # agencia                               5 # dv agencia                            1 # informacoes da conta                  34 # codigo da carteira                    1 # forma de cadastro do titulo           1 # tipo de documento                     1 # identificaco emissao                  1 # indentificacao entrega                1 # uso exclusivo                         4 # data de venc.                         8 # valor documento                       15 # agencia cobradora                     5 # dv agencia cobradora                  1 # especie do titulo                     2 # aceite                                1 # data de emissao titulo                8 # cod. do juros                         1   * # data juros                            8   * # valor juros                           15  * # cod. do desconto                      1 # data desconto                         8 # valor desconto                        15 # valor IOF                             15 # valor abatimento                      15 # identificacao titulo empresa          25  * # cod. para protesto                    1   * # dias para protesto                    2   * # cod. para baixa                       1   * # dias para baixa                       2   * # cod. da moeda                         2 # uso exclusivo                         10 # uso exclusivo                         1
None
String
pagamento
objeto contendo os detalhes do boleto (valor, vencimento, sacado, etc)
objeto contendo os detalhes do boleto ( valor vencimento sacado etc )
nro_lote
numero do lote que o segmento esta inserido
numero do lote que o segmento esta inserido
sequencial
numero sequencial do registro no lote
numero sequencial do registro no lote