lib/brcobranca/remessa/cnab240/banco_ribeirao_preto.rb
def monta_segmento_q(pagamento, nro_lote, sequencial)
          segmento_q = ''                                                                  # Descrição                         Posição    Tamanho
          segmento_q << cod_banco                                                          # Código do Banco na Compensação    [1....003] 03
          segmento_q << counter_lotes(nro_lote)                                            # Lote de Serviço                   [4....007] 04
          segmento_q << '3'                                                                # Tipo de Registro                  [8....008] 01
          segmento_q << sequencial.to_s.rjust(5, '0')                                      # Nº Sequencial do Registro no Lote [9....013] 05
          segmento_q << 'Q'                                                                # Cód. Segmento do Registro Detalhe [14...014] 01
          segmento_q << ' '                                                                # Uso Exclusivo FEBRABAN/CNAB       [15...015] 01
          segmento_q << '01'                                                               # Código de Movimento Remessa       [16...017] 02
          segmento_q << pagamento.identificacao_sacado(false)                              # Tipo de Inscrição                 [18...018] 01
          segmento_q << pagamento.documento_sacado.to_s.rjust(15, '0')                     # Número de Inscrição               [19...033] 15
          segmento_q << pagamento.nome_sacado.format_size(40)                              # Nome                              [34...073] 40
          segmento_q << pagamento.endereco_sacado.format_size(40)                          # Endereço                          [74...113] 40
          segmento_q << pagamento.bairro_sacado.format_size(15)                            # Bairro                            [114..128] 15
          segmento_q << pagamento.cep_sacado[0..4]                                         # CEP                               [129..133] 05
          segmento_q << pagamento.cep_sacado[5..7]                                         # Sufixo do CEP                     [134..136] 03
          segmento_q << pagamento.cidade_sacado.format_size(15)                            # Cidade                            [137..151] 15
          segmento_q << pagamento.uf_sacado                                                # Unidade da Federação              [152..153] 02
          segmento_q << ''.rjust(1, '0')                                                   # Tipo de Inscrição                 [154..154] 01
          segmento_q << ''.rjust(15, '0')                                                  # Número de Inscrição               [155..169] 15
          segmento_q << ''.ljust(40, ' ')                                                  # Nome do Sacador/Avalista          [170..209] 40
          segmento_q << '237'                                                              # Cód. Bco. Corresp. na Compensação [210..212] 03 | # 237 Bradesco
          segmento_q << formata_nosso_numero(pagamento.nosso_numero)                       # Nosso Nº no Banco Correspondente  [213..232] 20
          segmento_q << ''.rjust(8, ' ')                                                   # Uso Exclusivo FEBRABAN/CNAB       [233..240] 08
          segmento_q
        end
# Monta o registro segmento Q 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 Q do arquivo
Monta o registro segmento Q do arquivo
def monta_segmento_q(pagamento, nro_lote, sequencial)
          segmento_q = ''                                                                  
          segmento_q << cod_banco                                                          
          segmento_q << counter_lotes(nro_lote)                                            
          segmento_q << '3'                                                                
          segmento_q << sequencial.to_s.rjust(5, '0')                                      
          segmento_q << 'Q'                                                                
          segmento_q << ' '                                                                
          segmento_q << '01'                                                               
          segmento_q << pagamento.identificacao_sacado(false)                              
          segmento_q << pagamento.documento_sacado.to_s.rjust(15, '0')                     
          segmento_q << pagamento.nome_sacado.format_size(40)                              
          segmento_q << pagamento.endereco_sacado.format_size(40)                          
          segmento_q << pagamento.bairro_sacado.format_size(15)                            
          segmento_q << pagamento.cep_sacado[0..4]                                         
          segmento_q << pagamento.cep_sacado[5..7]                                         
          segmento_q << pagamento.cidade_sacado.format_size(15)                            
          segmento_q << pagamento.uf_sacado                                                
          segmento_q << ''.rjust(1, '0')                                                   
          segmento_q << ''.rjust(15, '0')                                                  
          segmento_q << ''.ljust(40, ' ')                                                  
          segmento_q << '237'                                                              
          segmento_q << formata_nosso_numero(pagamento.nosso_numero)                       
          segmento_q << ''.rjust(8, ' ')                                                   
          segmento_q
        end
def monta_segmento_q ( pagamento , nro_lote , sequencial ) segmento_q = '' segmento_q << cod_banco segmento_q << counter_lotes ( nro_lote ) segmento_q << '3' segmento_q << sequencial . to_s . rjust ( 5 , '0' ) segmento_q << 'Q' segmento_q << ' ' segmento_q << '01' segmento_q << pagamento . identificacao_sacado ( false ) segmento_q << pagamento . documento_sacado . to_s . rjust ( 15 , '0' ) segmento_q << pagamento . nome_sacado . format_size ( 40 ) segmento_q << pagamento . endereco_sacado . format_size ( 40 ) segmento_q << pagamento . bairro_sacado . format_size ( 15 ) segmento_q << pagamento . cep_sacado [ 0 .. 4 ] segmento_q << pagamento . cep_sacado [ 5 .. 7 ] segmento_q << pagamento . cidade_sacado . format_size ( 15 ) segmento_q << pagamento . uf_sacado segmento_q << '' . rjust ( 1 , '0' ) segmento_q << '' . rjust ( 15 , '0' ) segmento_q << '' . ljust ( 40 , ' ' ) segmento_q << '237' segmento_q << formata_nosso_numero ( pagamento . nosso_numero ) segmento_q << '' . rjust ( 8 , ' ' ) segmento_q end
Monta o registro segmento Q do arquivo
Monta o registro segmento Q do arquivo
# Descrição                         Posição    Tamanho # Código do Banco na Compensação    [1....003] 03 # Lote de Serviço                   [4....007] 04 # Tipo de Registro                  [8....008] 01 # Nº Sequencial do Registro no Lote [9....013] 05 # Cód. Segmento do Registro Detalhe [14...014] 01 # Uso Exclusivo FEBRABAN/CNAB       [15...015] 01 # Código de Movimento Remessa       [16...017] 02 # Tipo de Inscrição                 [18...018] 01 # Número de Inscrição               [19...033] 15 # Nome                              [34...073] 40 # Endereço                          [74...113] 40 # Bairro                            [114..128] 15 # CEP                               [129..133] 05 # Sufixo do CEP                     [134..136] 03 # Cidade                            [137..151] 15 # Unidade da Federação              [152..153] 02 # Tipo de Inscrição                 [154..154] 01 # Número de Inscrição               [155..169] 15 # Nome do Sacador/Avalista          [170..209] 40 # Cód. Bco. Corresp. na Compensação [210..212] 03 | # 237 Bradesco # Nosso Nº no Banco Correspondente  [213..232] 20 # Uso Exclusivo FEBRABAN/CNAB       [233..240] 08
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