lib/brcobranca/brpagamento/remessa/cnab240/itau.rb
def monta_segmento_a(pagamento, nro_lote, sequencial)
            segmento_a = ''                                                                  # Descrição                             Posição    Tamanho
            segmento_a << cod_banco                                                          # CÓDIGO DO BANCO                       [1......3] 03(9) 341
            segmento_a << counter_lotes(nro_lote)                                            # CÓDIGO DO LOTE                        [4......7] 04(9) NOTA 3
            segmento_a << '3'                                                                # TIPO DE REGISTRO                      [8......8] 01(9) 3
            segmento_a << sequencial.to_s.rjust(5, '0')                                      # SEQUENCIAL REGISTRO NO LOTE           [9.....13] 05(9) NOTA 9
            segmento_a << 'A'                                                                # SEGMENTO CÓDIGO                       [14....14] 01(X) A
            segmento_a << pagamento.tipo_de_movimento                                        # TIPO DE MOVIMENTO                     [15....17] 03(9) NOTA 10
            segmento_a << ''.rjust(3, '0')                                                   # CÂMARA                                [18....20] 03(9) NOTA 37
            segmento_a << pagamento.cod_banco                                                # CÓDIGO BANCO FAVORECIDO               [21....23] 03(9)
            segmento_a << pagamento.conta_bancaria_favorecido                                # CONTA BANCÁRIA FAVORECIDO             [24....43] 20(X) NOTA 11
            segmento_a << pagamento.nome_favorecido.format_size(30)                          # NOME DO FAVORECIDO                    [44....73] 30(X) NOTA 35
            segmento_a << pagamento.uso_da_empresa.format_size(20)                           # SEU NÚMERO                            [74....93] 20(X)
            segmento_a << pagamento.formata_data_pagamento('%d%m%Y')                         # DATA DE PAGTO                         [94...101] 08(9) DDMMAAAA
            segmento_a << pagamento.tipo_moeda                                               # TIPO DA MOEDA                         [102..104] 03(X) REA OU 009
            segmento_a << ''.rjust(8, '0')                                                   # CÓDIGO ISPB                           [105..112] 08(9) NOTA 37
            segmento_a << ''.rjust(7, '0')                                                   # ZEROS                                 [113..119] 07(9)
            segmento_a << pagamento.formata_valor(15)                                        # VALOR DO PAGTO                        [120..134] 13(9) V9(02)
            segmento_a << ''.ljust(15, ' ')                                                  # NOSSO NÚMERO                          [135..149] 15(X)
            segmento_a << ''.ljust(5, ' ')                                                   # BRANCOS                               [150..154] 05(X)
            segmento_a << ''.rjust(8, '0')                                                   # DATA EFETIVA - RETORNO                [155..162] 08(9)
            segmento_a << ''.rjust(15, '0')                                                  # VALOR EFETIVO                         [163..177] 13(9) V9(02)
            segmento_a << ''.ljust(18, ' ')                                                  # FINALIDADE DETALHE                    [178..195] 18(X) NOTA 13
            segmento_a << ''.ljust(2, ' ')                                                   # BRANCOS                               [196..197] 02(X)
            segmento_a << ''.rjust(6, '0')                                                   # NÚMERO DO DOCUMENTO                   [198..203] 06(9) NOTA 14
            segmento_a << pagamento.documento_favorecido.to_s.rjust(14, '0')                 # NÚMERO DE INSCRIÇÃO - (CPF/CNPJ)      [204..217] 14(9) NOTA 15
            segmento_a << ''.ljust(2, ' ')                                                   # FINALIDADE DOC E STATUS FUNCIONÁRIO   [218..219] 02(X) NOTA 30
            segmento_a << pagamento.finalidade_ted                                           # FINALIDADE TED                        [220..224] 05(X) NOTA 26
            segmento_a << ''.ljust(5, ' ')                                                   # BRANCOS                               [225..229] 05(X)
            segmento_a << pagamento.aviso_ao_favorecido                                      # AVISO AO FAVORECIDO                   [230..230] 01(X) NOTA 16
            segmento_a << ''.ljust(10, ' ')                                                  # CÓDIGO OCORRÊNCIAS NO RETORNO         [231..240] 10(X) NOTA 8
            segmento_a
          end
# Monta o registro segmento A do arquivo
#
# @param pagamento [Brcobranca::Brpagamento::Remessa::Pagamento]
#   objeto contendo os detalhes da ordem de pagamento
# @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 A do arquivo
Monta o registro segmento A do arquivo
def monta_segmento_a(pagamento, nro_lote, sequencial)
            segmento_a = ''                                                                  
            segmento_a << cod_banco                                                          
            segmento_a << counter_lotes(nro_lote)                                            
            segmento_a << '3'                                                                
            segmento_a << sequencial.to_s.rjust(5, '0')                                      
            segmento_a << 'A'                                                                
            segmento_a << pagamento.tipo_de_movimento                                        
            segmento_a << ''.rjust(3, '0')                                                   
            segmento_a << pagamento.cod_banco                                                
            segmento_a << pagamento.conta_bancaria_favorecido                                
            segmento_a << pagamento.nome_favorecido.format_size(30)                          
            segmento_a << pagamento.uso_da_empresa.format_size(20)                           
            segmento_a << pagamento.formata_data_pagamento('%d%m%Y')                         
            segmento_a << pagamento.tipo_moeda                                               
            segmento_a << ''.rjust(8, '0')                                                   
            segmento_a << ''.rjust(7, '0')                                                   
            segmento_a << pagamento.formata_valor(15)                                        
            segmento_a << ''.ljust(15, ' ')                                                  
            segmento_a << ''.ljust(5, ' ')                                                   
            segmento_a << ''.rjust(8, '0')                                                   
            segmento_a << ''.rjust(15, '0')                                                  
            segmento_a << ''.ljust(18, ' ')                                                  
            segmento_a << ''.ljust(2, ' ')                                                   
            segmento_a << ''.rjust(6, '0')                                                   
            segmento_a << pagamento.documento_favorecido.to_s.rjust(14, '0')                 
            segmento_a << ''.ljust(2, ' ')                                                   
            segmento_a << pagamento.finalidade_ted                                           
            segmento_a << ''.ljust(5, ' ')                                                   
            segmento_a << pagamento.aviso_ao_favorecido                                      
            segmento_a << ''.ljust(10, ' ')                                                  
            segmento_a
          end
def monta_segmento_a ( pagamento , nro_lote , sequencial ) segmento_a = '' segmento_a << cod_banco segmento_a << counter_lotes ( nro_lote ) segmento_a << '3' segmento_a << sequencial . to_s . rjust ( 5 , '0' ) segmento_a << 'A' segmento_a << pagamento . tipo_de_movimento segmento_a << '' . rjust ( 3 , '0' ) segmento_a << pagamento . cod_banco segmento_a << pagamento . conta_bancaria_favorecido segmento_a << pagamento . nome_favorecido . format_size ( 30 ) segmento_a << pagamento . uso_da_empresa . format_size ( 20 ) segmento_a << pagamento . formata_data_pagamento ( '%d%m%Y' ) segmento_a << pagamento . tipo_moeda segmento_a << '' . rjust ( 8 , '0' ) segmento_a << '' . rjust ( 7 , '0' ) segmento_a << pagamento . formata_valor ( 15 ) segmento_a << '' . ljust ( 15 , ' ' ) segmento_a << '' . ljust ( 5 , ' ' ) segmento_a << '' . rjust ( 8 , '0' ) segmento_a << '' . rjust ( 15 , '0' ) segmento_a << '' . ljust ( 18 , ' ' ) segmento_a << '' . ljust ( 2 , ' ' ) segmento_a << '' . rjust ( 6 , '0' ) segmento_a << pagamento . documento_favorecido . to_s . rjust ( 14 , '0' ) segmento_a << '' . ljust ( 2 , ' ' ) segmento_a << pagamento . finalidade_ted segmento_a << '' . ljust ( 5 , ' ' ) segmento_a << pagamento . aviso_ao_favorecido segmento_a << '' . ljust ( 10 , ' ' ) segmento_a end
Monta o registro segmento A do arquivo
Monta o registro segmento A do arquivo
# Descrição                             Posição    Tamanho # CÓDIGO DO BANCO                       [1......3] 03(9) 341 # CÓDIGO DO LOTE                        [4......7] 04(9) NOTA 3 # TIPO DE REGISTRO                      [8......8] 01(9) 3 # SEQUENCIAL REGISTRO NO LOTE           [9.....13] 05(9) NOTA 9 # SEGMENTO CÓDIGO                       [14....14] 01(X) A # TIPO DE MOVIMENTO                     [15....17] 03(9) NOTA 10 # CÂMARA                                [18....20] 03(9) NOTA 37 # CÓDIGO BANCO FAVORECIDO               [21....23] 03(9) # CONTA BANCÁRIA FAVORECIDO             [24....43] 20(X) NOTA 11 # NOME DO FAVORECIDO                    [44....73] 30(X) NOTA 35 # SEU NÚMERO                            [74....93] 20(X) # DATA DE PAGTO                         [94...101] 08(9) DDMMAAAA # TIPO DA MOEDA                         [102..104] 03(X) REA OU 009 # CÓDIGO ISPB                           [105..112] 08(9) NOTA 37 # ZEROS                                 [113..119] 07(9) # VALOR DO PAGTO                        [120..134] 13(9) V9(02) # NOSSO NÚMERO                          [135..149] 15(X) # BRANCOS                               [150..154] 05(X) # DATA EFETIVA - RETORNO                [155..162] 08(9) # VALOR EFETIVO                         [163..177] 13(9) V9(02) # FINALIDADE DETALHE                    [178..195] 18(X) NOTA 13 # BRANCOS                               [196..197] 02(X) # NÚMERO DO DOCUMENTO                   [198..203] 06(9) NOTA 14 # NÚMERO DE INSCRIÇÃO - (CPF/CNPJ)      [204..217] 14(9) NOTA 15 # FINALIDADE DOC E STATUS FUNCIONÁRIO   [218..219] 02(X) NOTA 30 # FINALIDADE TED                        [220..224] 05(X) NOTA 26 # BRANCOS                               [225..229] 05(X) # AVISO AO FAVORECIDO                   [230..230] 01(X) NOTA 16 # CÓDIGO OCORRÊNCIAS NO RETORNO         [231..240] 10(X) NOTA 8
None
String
pagamento
objeto contendo os detalhes da ordem de pagamento
objeto contendo os detalhes da ordem de pagamento
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