Realiza a validação do digito e algumas outras checagens especificas para CPF e CNPJ.
Conjunto de procedimentos Genexus que permite a validação de qualquer digito gerado com base no Módulo 11, os procedimentos específicos para CPF e CNPJ implementam outras validações além do digito verificador.
- Valida o digito verificador.
- Critica os CNPJ que contenha os 8 dígitos de sua base repetidos, desde que diferentes de zeros.
- Critica se a ordem do CNPJ é 0000, a ordem do CNPJ é utilizada para definir filiais e afins, e sempre inicia na primeira empresa com 1.
- Critica se as três primeiras posições do CNPJ for 000 e a quantidade de filiais maior que 300 desde que a base seja diferente de 00.0000.000
- Valida o digito verificador.
- Critica todo CPF que contenha os 9 dígitos de sua base repetidos (Ex.: 222.222.222 ou 888.888.888)
- Por default também critica os CPF onde os 8 primeiros digito da base são repetidos, porém como existem algumas situações onde há instrução normativa para a utilização destes CPFs eles foram inseridos em uma lista e podem facilmente ser removidos conforme necessidade do seu negócio.
Observe que a lista contempla apenas a base (Sem os dígitos) sendo assim se o seu sistema atende alguma instrução normativa que aceite um ou mais destes CPFs basta remove los da lista, por exemplo:
Para aceitar o CPF 000.000.001-91 remova da lista o valor 000000001
Para aceitar o CPF 000.000.005-15 remova da lista o valor 000000005
- Permite a validação de todo e qualquer código que utilize o algoritmo Mod11 para composição dos dígitos.
Ao utilizar este procedimento é preciso se atentar a 3 parâmetros (Base, Corte e Substituto), eles são necessários para que a procedure possa atende a diferentes situações, estas informações deveram ser obtidas junto a fonte do código a ser validado.
Por exemplo:
Para validar um CPF a base é 11, os Cortes são 0 e 1 e o Substituto é 0
Para validar um CNPJ a base é 9, os Cortes são 0 e 1 e o Substituto é 0
Para validar uma Conta do Banco do Brasil a base é 4, o corte é 0 e o substituto é X
Genexus 16 ou Superior:
1 - Na IDE Genexus, navegue em Knowledge Manager / Import.
2 - Selecione o Arquivo ValidaCPF_CNPJ.xml ** Note que é preciso alterar o filtro da caixa de seleção para XML.
If Valida_CPF(&NumeroDoCPF)
Msg('CPF Válido')
Else
Msg('CPF Inválido')
EndIf
If Valida_CNPJ(&NumeroDoCNPJ)
Msg('CNPJ Válido')
Else
Msg('CNPJ Inválido')
EndIf
- 0.1.0
- Primeira versão funcional @gtorrezani
- Correção aplicada nos valores de cortes em (14/10/2020 13:58)
Gustavo Torrezani Matias – @instagram
Distribuído sob a licença MIT