Ejemplo n.º 1
0
 def digito_verificador_barra(numero):
     resto2 = util.modulo_11(numero, 9, 1)
     if resto2 == 0 or resto2 == 1 or resto2 == 10:
         dv = 1
     else:
         dv = 11 - resto2
     return dv
Ejemplo n.º 2
0
 def digito_verificador_barra(numero):
     resto2 = util.modulo_11(numero,9,1)
     if resto2 == 0 or resto2 == 1 or resto2 == 10:
         dv = 1
     else:
         dv = 11 - resto2
     return dv
Ejemplo n.º 3
0
 def digito_verificador_nossonumero(numero):
     resto2 = util.modulo_11(numero, 9, 1)
     digito = 11 - resto2
     if digito == 10 or digito == 11:
         dv = 0
     else:
         dv = digito
     return dv
Ejemplo n.º 4
0
 def digito_verificador_nossonumero(numero):
     resto2 = util.modulo_11(numero,9,1)
     digito = 11 - resto2
     if digito == 10 or digito == 11:
         dv = 0
     else:
         dv = digito         
     return dv
Ejemplo n.º 5
0
 def digito_verificador_cedente(numero):
     digito = util.modulo_11(numero, 9, 0)
     if digito == 10 or digito == 11:
         digito == 0
     dv = digito
     return dv
Ejemplo n.º 6
0
    def get_dados(formatconvenio, formatnnumero, dados):
        """
         Retorna dados do boleto          
        """
        dados['codigobanco'] = '001'
        dados['nummoeda'] = '9'
        dados['livre_zeros'] = '000000'

        fator_vencimento = util.fator_vencimento(dados["data_vencimento"])
        vtotal = "%.2f" % (float(dados['valor_boleto'] + dados['taxa_boleto']))
        valor = util.formatar_numero(str(vtotal), 10, 0, 'valor')
        agencia = util.formatar_numero(dados["agencia"], 4, 0)
        conta = util.formatar_numero(dados["conta"], 8, 0)

        boleto = dict()
        boleto = dados
        boleto['codigobancodv'] = util.gerar_codigo_banco(dados['codigobanco'])
        boleto['agenciaconta'] = "%s-%s / %s-%s" % (
            agencia, util.modulo_11(agencia), conta, util.modulo_11(conta))
        boleto['valor'] = vtotal.replace('.', ',')

        # Carteira 18 com Conv�nio de 8 d�gitos
        if formatconvenio == 8:
            convenio = util.formatar_numero(dados['convenio'], 8, 0,
                                            'convenio')

            # Noss� numero de at� 9 d�gitos
            nossonumero = util.formatar_numero(dados['nosso_numero'], 9, 0)
            boleto['nossonumero'] = nossonumero
            boleto['convenio'] = convenio

            dv = util.modulo_11("%s%s%s%s%s%s%s%s" %
                                (dados['codigobanco'], dados['nummoeda'],
                                 fator_vencimento, valor, dados['livre_zeros'],
                                 convenio, nossonumero, dados['carteira']))

            linha = "%s%s%s%s%s%s%s%s%s" % (
                dados['codigobanco'], dados['nummoeda'], dv, fator_vencimento,
                valor, dados['livre_zeros'], convenio, nossonumero,
                dados['carteira'])
            boleto['codigobarra'] = linha
            boleto['linhadigitavel'] = util.montar_linha_digitavel(linha)

            # Montando o nosso numero que aparecer� no boleto
            nossonumero = "%s%s-%s" % (convenio, nossonumero,
                                       util.modulo_11("%s%s" %
                                                      (convenio, nossonumero)))
            boleto['nossonumeroformatado'] = nossonumero
            return boleto

        # Carteira 18 com Conv�nio de 7 d�gitos
        if formatconvenio == 7:
            convenio = util.formatar_numero(dados['convenio'], 7, 0,
                                            'convenio')

            # Noss� numero de at� 10 d�gitos
            nossonumero = util.formatar_numero(dados['nosso_numero'], 10, 0)
            boleto['convenio'] = convenio
            boleto['nossonumero'] = nossonumero

            dv = util.modulo_11("%s%s%s%s%s%s%s%s" %
                                (dados['codigobanco'], dados['nummoeda'],
                                 fator_vencimento, valor, dados['livre_zeros'],
                                 convenio, nossonumero, dados['carteira']))

            linha = "%s%s%s%s%s%s%s%s%s" % (
                dados['codigobanco'], dados['nummoeda'], dv, fator_vencimento,
                valor, dados['livre_zeros'], convenio, nossonumero,
                dados['carteira'])

            boleto['codigobarra'] = linha
            boleto['linhadigitavel'] = util.montar_linha_digitavel(linha)
            # Montando o nosso numero que aparecer� no boleto
            nossonumero = "%s%s" % (convenio, nossonumero)
            boleto['nossonumeroformatado'] = nossonumero

            return boleto

        # Carteira 18 com Conv�nio de 6 d�gitos
        if formatconvenio == 6:
            convenio = util.formatar_numero(dados['convenio'], 6, 0,
                                            'convenio')
            if formatnnumero == 1:
                # Noss� numero de at� 5 d�gitos
                nossonumero = util.formatar_numero(dados['nosso_numero'], 5, 0)
                boleto['nossonumero'] = nossonumero
                dv = util.modulo_11(
                    "%s%s%s%s%s%s%s%s%s" %
                    (dados['codigobanco'], dados['nummoeda'], fator_vencimento,
                     valor, convenio, nossonumero, agencia, conta,
                     dados['carteira']))

                linha = "%s%s%s%s%s%s%s%s%s%s" % (
                    dados['codigobanco'], dados['nummoeda'], dv,
                    fator_vencimento, valor, convenio, nossonumero, agencia,
                    conta, dados['carteira'])
                boleto['codigobarra'] = linha
                boleto['linhadigitavel'] = util.montar_linha_digitavel(linha)
                # montando o nosso numero que aparecer� no boleto
                nossonumero = "%s%s-%s" % (convenio, nossonumero,
                                           util.modulo_11(
                                               "%s%s" %
                                               (convenio, nossonumero)))
                boleto['nossonumeroformatado'] = nossonumero
                return boleto

            if formatnnumero == 2:

                # Nosso n�mero de at� 17 d�gitos

                nservico = '21'
                nossonumero = util.formatar_numero(dados['nosso_numero'], 17,
                                                   0)
                boleto['nossonumero'] = nossonumero

                dv = util.modulo_11(
                    "%s%s%s%s%s%s%s" %
                    (dados['codigobanco'], dados['nummoeda'], fator_vencimento,
                     valor, convenio, nossonumero, nservico))

                linha = "%s%s%s%s%s%s%s%s" % (
                    dados['codigobanco'], dados['nummoeda'], dv,
                    fator_vencimento, valor, convenio, nossonumero, nservico)
                boleto['codigobarra'] = linha
                boleto['linhadigitavel'] = util.montar_linha_digitavel(linha)
                boleto['nossonumeroformatado'] = nossonumero
                return boleto
Ejemplo n.º 7
0
 def digito_verificador_cedente(numero):
     digito = util.modulo_11(numero,9,0)
     if digito == 10 or digito == 11:
         digito = 0
     dv = digito
     return dv    
Ejemplo n.º 8
0
    def get_dados(formatconvenio,formatnnumero,dados):        
        """
         Retorna dados do boleto          
        """
        Boleto.get_dados(dados)
        
        dados['codigobanco']= '001'
        dados['nummoeda'] = '9'         
        dados['livre_zeros'] = '000000'

        fator_vencimento = util.fator_vencimento(dados["data_vencimento"])  
        vtotal = "%.2f" %(float(dados['valor_boleto']+dados['taxa_boleto']))        
        valor = util.formatar_numero(str(vtotal),10,0,'valor')
        agencia = util.formatar_numero(dados["agencia"],4,0)   
        conta = util.formatar_numero(dados["conta"],8,0)

        boleto = dict()
        boleto = dados
        boleto['codigobancodv'] = util.gerar_codigo_banco(dados['codigobanco'])
        boleto['agenciaconta'] = "%s-%s / %s-%s" %(agencia,util.modulo_11(agencia),conta,util.modulo_11(conta))
        boleto['valor'] = vtotal.replace('.',',')
        
        # Carteira 18 com Conv�nio de 8 d�gitos
        if formatconvenio == 8:            
            convenio = util.formatar_numero(dados['convenio'],8,0,'convenio')
            
            # Noss� numero de at� 9 d�gitos 
            nossonumero = util.formatar_numero(dados['nosso_numero'],9,0)
            boleto['nossonumero'] = nossonumero
            boleto['convenio'] = convenio
   
            dv = util.modulo_11("%s%s%s%s%s%s%s%s"%(dados['codigobanco'],
                                                    dados['nummoeda'],
                                                    fator_vencimento,
                                                    valor,
                                                    dados['livre_zeros'],
                                                    convenio,
                                                    nossonumero,
                                                    dados['carteira']))
                                                    
            linha = "%s%s%s%s%s%s%s%s%s" %(dados['codigobanco'],
                                           dados['nummoeda'],
                                           dv,
                                           fator_vencimento,
                                           valor,
                                           dados['livre_zeros'],
                                           convenio,
                                           nossonumero,
                                           dados['carteira'])
            boleto['codigobarra'] = linha 
            boleto['linhadigitavel'] = util.montar_linha_digitavel(linha)
              
            # Montando o nosso numero que aparecer� no boleto
            nossonumero = "%s%s-%s" %(convenio,nossonumero, util.modulo_11("%s%s"%(convenio,nossonumero)))
            boleto['nossonumeroformatado'] = nossonumero
            return  boleto                                   
                        
        # Carteira 18 com Conv�nio de 7 d�gitos
        if formatconvenio == 7:            
            convenio = util.formatar_numero(dados['convenio'],7,0,'convenio')
            
            # Noss� numero de at� 10 d�gitos 
            nossonumero = util.formatar_numero(dados['nosso_numero'],10,0)
            boleto['convenio'] = convenio
            boleto['nossonumero'] = nossonumero
            
            dv = util.modulo_11("%s%s%s%s%s%s%s%s"%(dados['codigobanco'],
                                                      dados['nummoeda'],
                                                      fator_vencimento,
                                                      valor,
                                                      dados['livre_zeros'],
                                                      convenio,
                                                      nossonumero,
                                                      dados['carteira']))
          
            
            linha = "%s%s%s%s%s%s%s%s%s" %(dados['codigobanco'],
                                           dados['nummoeda'],
                                           dv,
                                           fator_vencimento,
                                           valor,
                                           dados['livre_zeros'],
                                           convenio,
                                           nossonumero,
                                           dados['carteira'])

            boleto['codigobarra'] = linha 
            boleto['linhadigitavel'] = util.montar_linha_digitavel(linha)            
            # Montando o nosso numero que aparecer� no boleto
            nossonumero = "%s%s" %(convenio,nossonumero)
            boleto['nossonumeroformatado'] = nossonumero
                                    
            return boleto     
        
        # Carteira 18 com Conv�nio de 6 d�gitos 
        if formatconvenio == 6:            
            convenio = util.formatar_numero(dados['convenio'],6,0,'convenio')            
            if formatnnumero == 1:                
                # Noss� numero de at� 5 d�gitos 
                nossonumero = util.formatar_numero(dados['nosso_numero'],5,0)   
                boleto['nossonumero'] = nossonumero             
                dv = util.modulo_11("%s%s%s%s%s%s%s%s%s"%(dados['codigobanco'],
                                                          dados['nummoeda'],
                                                          fator_vencimento,
                                                          valor,
                                                          convenio,
                                                          nossonumero,
                                                          agencia,
                                                          conta,                                                          
                                                          dados['carteira']))

                linha = "%s%s%s%s%s%s%s%s%s%s" %( dados['codigobanco'],
                                                  dados['nummoeda'],
                                                  dv,
                                                  fator_vencimento,
                                                  valor,
                                                  convenio,                                                 
                                                  nossonumero,
                                                  agencia,
                                                  conta,
                                                  dados['carteira'])
                boleto['codigobarra'] = linha 
                boleto['linhadigitavel'] = util.montar_linha_digitavel(linha)   
                # montando o nosso numero que aparecer� no boleto
                nossonumero = "%s%s-%s" %(convenio,
                                          nossonumero,
                                          util.modulo_11("%s%s" %(convenio,
                                                                  nossonumero))) 
                boleto['nossonumeroformatado'] = nossonumero                
                return  boleto
                                                                                  
                
            if formatnnumero == 2:
                
                # Nosso n�mero de at� 17 d�gitos
                
                nservico = '21'
                nossonumero = util.formatar_numero(dados['nosso_numero'],17,0)
                boleto['nossonumero'] = nossonumero  
                
                dv = util.modulo_11("%s%s%s%s%s%s%s"%(dados['codigobanco'],
                                                          dados['nummoeda'],
                                                          fator_vencimento,
                                                          valor,
                                                          convenio,
                                                          nossonumero,
                                                          nservico))
                
                linha = "%s%s%s%s%s%s%s%s" %(dados['codigobanco'],
                                             dados['nummoeda'],
                                             dv,
                                             fator_vencimento,
                                             valor,
                                             convenio,                                                 
                                             nossonumero,
                                             nservico)
                boleto['codigobarra'] = linha                
                boleto['linhadigitavel'] = util.montar_linha_digitavel(linha)   
                boleto['nossonumeroformatado'] = nossonumero
                return boleto