Cálculo do dígito verificador do caepf – cadastro de ativida
Moderador: Moderadores
Cálculo do dígito verificador do caepf – cadastro de ativida
Bom dia alguém tem rotina ou como calcular o dígito verificador do caepf – cadastro de atividade econômica da pessoa física.
obg
Att.
Marcelo A. L. Carli
Marília/SP
Capital Nacional do Alimento ®
https://malc-informatica.ueniweb.com
http://marcelo.lx.com.br
Email / Skype: malcarli@life.com.br
obg
Att.
Marcelo A. L. Carli
Marília/SP
Capital Nacional do Alimento ®
https://malc-informatica.ueniweb.com
http://marcelo.lx.com.br
Email / Skype: malcarli@life.com.br
-
alxsts
- Colaborador

- Mensagens: 3109
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Cálculo do dígito verificador do caepf – cadastro de ativida
Olá!
Uma pesquisa simples no Google trouxe várias fórmulas, incluindo a que procura:DÍGITOS DE VERIFICAÇÃO
Uma pesquisa simples no Google trouxe várias fórmulas, incluindo a que procura:DÍGITOS DE VERIFICAÇÃO
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
- JoséQuintas
- Administrador

- Mensagens: 20416
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
- Curtiram: 1 vez
Cálculo do dígito verificador do caepf – cadastro de ativida
Até fiz a mesma, mas não entendi a excessão.
É porque não existe exceção, existe apenas a regra geral de somar 12.Portanto, o CAEPF+DV seria 293.118.610/001-72.
Mas há um senão: estaria sendo somado 12 ao DV encontrado.
E se o resultado da soma for maior do que 99, diminui-se 100.
No exemplo, o DV será 72+12=84.
Código: Selecionar todos
nDigito1 := 7
nDigito2 := 2
nResultado := nDigito1 * 10 + nDigito2
nDigitoGeral := Mod( nResultado + 12, 100 )
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Cálculo do dígito verificador do caepf – cadastro de ativida
Com ajuda de colegas, posto a solução final.
Chamar a função assim:
fVercaepf([99990999999912]) ou
fVercaepf([999909999999]) sem os dígitos.
A função fVercaepf retorno string calculado com 14 dígitos.
Ai é só fazer um teste se os digitos da função são iguais aos dígitos do valor enviado
Chamar a função assim:
fVercaepf([99990999999912]) ou
fVercaepf([999909999999]) sem os dígitos.
A função fVercaepf retorno string calculado com 14 dígitos.
Ai é só fazer um teste se os digitos da função são iguais aos dígitos do valor enviado
Código: Selecionar todos
Static Function fVercaepf(cString)
Local i:= nSoma:= nDv:= 0, nFator:= 9
cString:= SubStr(cString, 1, 12)
For i:= Len(cString) To 1 Step -1
nSoma += Val(SubStr(cString, i, 1)) * nFator
nFator:= If(nFator == 2, 9, nFator - 1)
Next
cString:= cString + If(Mod(nSoma, 11) < 2 .or. Mod(nSoma, 11) > 9 , [0], Str(Mod(nSoma, 11), 1))
nSoma := 0
nFator:= 9
For i:= Len(cString) To 1 Step -1
nSoma += Val(SubStr(cString, i, 1)) * nFator
nFator:= If(nFator == 2, 9, nFator - 1)
Next
cString:= cString + If(Mod(nSoma, 11) < 2 .or. Mod(nSoma, 11) > 9 , [0], Str(Mod(nSoma, 11), 1))
cString:= SubStr(cString, 1, 12) + Iif(Val(SubStr(cString, 13, 2)) + 12 > 100, Strzero((Val(SubStr(cString, 13,2)) + 12) - 100, 2, 0), Strzero(Val(SubStr(cString, 13, 2)) + 12, 2, 0))
Return (cString)
- JoséQuintas
- Administrador

- Mensagens: 20416
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
- Curtiram: 1 vez
Cálculo do dígito verificador do caepf – cadastro de ativida
Tá certo isso?
Não bate com o que colocou lá no fórum.
Não bate com o que colocou lá no fórum.
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Cálculo do dígito verificador do caepf – cadastro de ativida
está funcionando e testado com testador online
- JoséQuintas
- Administrador

- Mensagens: 20416
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
- Curtiram: 1 vez
Cálculo do dígito verificador do caepf – cadastro de ativida
Testou o código do exemplo?
Essa bate, a sua não.
Essa bate, a sua não.
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20416
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
- Curtiram: 1 vez
Cálculo do dígito verificador do caepf – cadastro de ativida
Não sei de onde tirou isto:
Código: Selecionar todos
cString:= cString + If(Mod(nSoma, 11) < 2 .or. Mod(nSoma, 11) > 9 , [0], Str(Mod(nSoma, 11), 1))
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
