LCRamos
|
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
|
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
|
|
|
|