USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  CHAVE DE ACESSO DA NFe
LCRamos
Pontos: 2843
GOIANIA
GO - BRASIL
ENUNCIADA !
Postada em 30/07/2011 21:15 hs            
Procurei aqui uma função pra gerar chave de acesso da NFe, não houve respostas, como conheço bem este forum, é por que ninguém tinha, tive que me virar e consegui, afinal não foi tão dificil, então se alguém precisar, pode pedir.

vlu//
   
Pierre
JUNDIAI
SP - BRASIL
ENUNCIADA !
Postada em 27/07/2013 10:16 hs            
Bom Dia cara, blz

Voce pode me passar esta função?

Obrigado
Pierre
   
LCRamos
Pontos: 2843
GOIANIA
GO - BRASIL
ENUNCIADA !
Postada em 07/08/2013 10:42 hs            
Private Function GERARCHAVEDEACESSO(sNFE As String, sSERIE As String) As Boolean
Dim sTEMP As String
Dim sDATA As String
Dim iI As Integer
Dim yC As Byte
Dim iKEY As Integer
Dim iINDEX As Integer
Dim iDV As Integer
    GERARCHAVEDEACESSO = False
    schaveacessoNFE = ""
    sCODIGONUMERICO = ""
    If ACHAIBGE(sestadoUSU, scidadeUSU, "Usuário") = False Then
        Exit Function
    End If
    sBOOKIBGE = rscIBGE.Bookmark
    'composição da chave
    'Código da UF do emitente (IBGE)
    schaveacessoNFE = "" & rscIBGE!UF
    'ano,mes de emissão(AAMM)
    sDATA = Format$(Date, "dd/mm/yyyy")
    schaveacessoNFE = schaveacessoNFE & Right$(sDATA, 2)
    schaveacessoNFE = schaveacessoNFE & Mid$(sDATA, 4, 2)
    'CNPJ do emitente (sem máscara)
    schaveacessoNFE = schaveacessoNFE & removeTUDO(scnpjUSU)
    ' modelo = 55
    schaveacessoNFE = schaveacessoNFE & "55"
    'Série com 3 digitos
    sSERIE = "000" & sSERIE
    sSERIE = Right$(sSERIE, 3)
    schaveacessoNFE = schaveacessoNFE & sSERIE
    'Número da NFe com 9 digitos
    sNFE = "000000000" & sNFE
    sNFE = Right$(sNFE, 9)
    schaveacessoNFE = schaveacessoNFE & sNFE
    'Forma de emissão 1=NORMAL 2=CONTIGENCIA
    schaveacessoNFE = schaveacessoNFE & "1"
    'Número aleatório gerado com 8 digitos
    Randomize
    For iI = 1 To 8
        iINDEX = (9 * Rnd())
        sTEMP = sTEMP & Trim(LTrim(RTrim(Str(Trim((iINDEX))))))
    Next iI
    sCODIGONUMERICO = sTEMP
    schaveacessoNFE = schaveacessoNFE & sCODIGONUMERICO
    'iDV Digito verificador (Módulo 11)
    yC = 2
    'faz um loop por cada número o mutiplicando-o pelos valores de yC
    For iI = Len(schaveacessoNFE) To 1 Step -1
        'verifica se o valor de yC for maior que nove passa o valor para 2
        If yC > 9 Then
            yC = 2
        End If
        'soma os valores mutiplicados
        iKEY = iKEY + (CInt(Mid$(schaveacessoNFE, iI, 1)) * yC)
        yC = yC + 1
    Next
    'obtem o Digito Verificador
    If (iKEY Mod 11) = 0 Or (iKEY Mod 11) = 1 Then
        iDV = 0
    Else
        iDV = 11 - (iKEY Mod 11)
    End If
    schaveacessoNFE = schaveacessoNFE & Trim(LTrim(RTrim(Str(Trim(iDV)))))
    GERARCHAVEDEACESSO = True
    Exit Function
End Function

VEJA SE RESOLVE.  CLARO TEM QUE SUBSTITUIR AS VARIÁVEIS.

//
   
Leandro
não registrado
ENUNCIADA !
Postada em 07/07/2014 22:55 hs   
Se alguém estiver precisando de um componente para emissão de NFe ou NFCe já no leiaute 3.10, entre em contato. Tenho o que estão precisando.

Contatos:
skype: ekklesia.soft
email: suporte@ekklesiasoft.com.br
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página