Perguntas Calculo do DV na NF-e
- rgomes
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 136
- Obrigados Recebidos: 0
12 anos 5 meses atrás #2208
por rgomes
Calculo do DV na NF-e foi criado por rgomes
Bom dia,
Alguem saberia me informa como o calculo do Digito da Chave da NF-e é realizado.
Se tiver algum fonte, software ou site que eu possa realizar este calculo já ajudaria
Att,
Ronaldo Gomes
Alguem saberia me informa como o calculo do Digito da Chave da NF-e é realizado.
Se tiver algum fonte, software ou site que eu possa realizar este calculo já ajudaria
Att,
Ronaldo Gomes
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
12 anos 5 meses atrás #2209
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Re: Calculo do DV na NF-e
Função Módulo 11 ok.
cNFe+Modulo11(cNfe)
cNFe+Modulo11(cNfe)
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- Andre.Esteves
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 31
- Obrigados Recebidos: 0
12 anos 5 meses atrás #2229
por Andre.Esteves
Respondido por Andre.Esteves no tópico Re: Calculo do DV na NF-e
User function fDvNfe(cChave)
local nSoma := 0
local nDivisao := 0
local nDigito := 0
local cDigito := ""
local lRet := .T.
// 1 2 3 4
//12345678901234567890123456789012345678901234
// 4329876543298765432987654329876543298765432
aMulp := {4,3,2,9,8,7,6,5,4,3,2,9,8,7,6,5,4,3,2,9,8,7,6,5,4,3,2,9,8,7,6,5,4,3,2,9,8,7,6,5,4,3,2}
for i:=1 to len(cchave)-1
nSoma += val(substr(cchave,i,1))*aMulp
next
nDivisao := noround(nSoma/11,0)
nDigito:= ((nDivisao*11)-nSoma)+11
if nDigito > 9
cDigito := "0"
else
cDigito := Alltrim(str(nDigito))
end
if substr(cchave,44,1) <> cDigito
alert("Digito verificador invalido, verifique a chave!")
lret:= .f.
end
return(lRet)
local nSoma := 0
local nDivisao := 0
local nDigito := 0
local cDigito := ""
local lRet := .T.
// 1 2 3 4
//12345678901234567890123456789012345678901234
// 4329876543298765432987654329876543298765432
aMulp := {4,3,2,9,8,7,6,5,4,3,2,9,8,7,6,5,4,3,2,9,8,7,6,5,4,3,2,9,8,7,6,5,4,3,2,9,8,7,6,5,4,3,2}
for i:=1 to len(cchave)-1
nSoma += val(substr(cchave,i,1))*aMulp
next
nDivisao := noround(nSoma/11,0)
nDigito:= ((nDivisao*11)-nSoma)+11
if nDigito > 9
cDigito := "0"
else
cDigito := Alltrim(str(nDigito))
end
if substr(cchave,44,1) <> cDigito
alert("Digito verificador invalido, verifique a chave!")
lret:= .f.
end
return(lRet)
Por favor Acessar ou Registrar para participar da conversa.
Tempo para a criação da página:0.095 segundos