TECH SOLUTIONS PARTICIPA DO CONBRAI 2016 EM SÃO PAULO

Qua 21 Set - 14:35 por Miro



Comentários: 0


Projeto ACL que valida CPF e CNPJ

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Projeto ACL que valida CPF e CNPJ

Mensagem  Admin em Seg 8 Abr - 11:34

Para baixar este projeto use a nossa área de download:

http://forum.it-tech.com.br/t137-projeto-acl-que-valida-cpf-e-cnpj

SET SAFETY OFF

OPEN CNPJ

DEFINE FIELD CNPJ_FORMATADO COMPUTED REPLACE(STRING( CNPJ; 14 );" ";"0")
DEFINE FIELD CNPJ_MAIOR COMPUTED STRING( CNPJ; 20 )
DEFINE FIELD CNPJ_LIMPO COMPUTED INCLUDE( ALLTRIM(CNPJ_FORMATADO) ;"0123456789")
DEFINE FIELD CNPJ_DIG1_SUM COMPUTED MOD((VALUE(SUBSTR( CNPJ_LIMPO; 1; 1);0) * 6 ) + (VALUE(SUBSTR( CNPJ_LIMPO; 2; 1);0) * 7 ) + (VALUE(SUBSTR( CNPJ_LIMPO; 3; 1);0) * 8 ) + (VALUE(SUBSTR( CNPJ_LIMPO; 4; 1);0) * 9 ) + (VALUE(SUBSTR( CNPJ_LIMPO; 5; 1);0) * 2 ) + (VALUE(SUBSTR( CNPJ_LIMPO; 6; 1);0) * 3 ) + (VALUE(SUBSTR( CNPJ_LIMPO; 7; 1);0) * 4 ) + (VALUE(SUBSTR( CNPJ_LIMPO; 8; 1);0) * 5 ) + (VALUE(SUBSTR( CNPJ_LIMPO; 9; 1);0) * 6 ) + (VALUE(SUBSTR( CNPJ_LIMPO; 10; 1);0) * 7 ) + (VALUE(SUBSTR( CNPJ_LIMPO; 11; 1);0) * 8 ) + (VALUE(SUBSTR( CNPJ_LIMPO; 12; 1);0) * 9 );11)
DEFINE FIELD CNPJ_DIG2_SUM COMPUTED MOD((VALUE(SUBSTR( CNPJ_LIMPO; 1; 1);0) * 5 ) + (VALUE(SUBSTR( CNPJ_LIMPO; 2; 1);0) * 6 ) + (VALUE(SUBSTR( CNPJ_LIMPO; 3; 1);0) * 7 ) + (VALUE(SUBSTR( CNPJ_LIMPO; 4; 1);0) * 8 ) + (VALUE(SUBSTR( CNPJ_LIMPO; 5; 1);0) * 9 ) + (VALUE(SUBSTR( CNPJ_LIMPO; 6; 1);0) * 2 ) + (VALUE(SUBSTR( CNPJ_LIMPO; 7; 1);0) * 3 ) + (VALUE(SUBSTR( CNPJ_LIMPO; 8; 1);0) * 4 ) + (VALUE(SUBSTR( CNPJ_LIMPO; 9; 1);0) * 5 ) + (VALUE(SUBSTR( CNPJ_LIMPO; 10; 1);0) * 6 ) + (VALUE(SUBSTR( CNPJ_LIMPO; 11; 1);0) * 7 ) + (VALUE(SUBSTR( CNPJ_LIMPO; 12; 1);0) * 8 ) + (CNPJ_DIG1_SUM * 9);11)
DEFINE FIELD CNPJ_DIG2 COMPUTED

0 IF CNPJ_DIG2_SUM = 10
CNPJ_DIG2_SUM

DEFINE FIELD CNPJ_DIG1 COMPUTED

0 IF CNPJ_DIG1_SUM = 10
CNPJ_DIG1_SUM

DEFINE FIELD CNPJ_STATUS COMPUTED

"INVALIDO" IF LENGTH(ALLTRIM(CNPJ_MAIOR)) > 14
"INVALIDO" IF STRING(CNPJ_DIG1;1) <> SUBSTR(CNPJ_FORMATADO;13;1)
"INVALIDO" IF STRING(CNPJ_DIG2;1) <> SUBSTR(CNPJ_FORMATADO;14;1)
"INVALIDO" IF MATCH(CNPJ_FORMATADO;"00000000000000";"11111111111111";"22222222222222";"33333333333333";"44444444444444";"55555555555555";"66666666666666";"77777777777777";"88888888888888";"99999999999999")
"VALIDO"

SET SAFETY ON

OPEN CPF

DEFINE FIELD CPF_FORMATADO COMPUTED REPLACE(STRING( CPF; 11 );" ";"0")
DEFINE FIELD CPF_LIMPO COMPUTED INCLUDE( ALLTRIM(CPF_FORMATADO) ;"0123456789")
DEFINE FIELD CPF_MAIOR COMPUTED STRING( CPF; 20 )
DEFINE FIELD CPF_DIG1_SUM COMPUTED MOD((VALUE(SUBSTR( CPF_LIMPO; 1; 1);0) * 10 ) + (VALUE(SUBSTR( CPF_LIMPO; 2; 1);0) * 9 ) + (VALUE(SUBSTR( CPF_LIMPO; 3; 1);0) * 8 ) + (VALUE(SUBSTR( CPF_LIMPO; 4; 1);0) * 7 ) + (VALUE(SUBSTR( CPF_LIMPO; 5; 1);0) * 6 ) + (VALUE(SUBSTR( CPF_LIMPO; 6; 1);0) * 5 ) + (VALUE(SUBSTR( CPF_LIMPO; 7; 1);0) * 4 ) + (VALUE(SUBSTR( CPF_LIMPO; 8; 1);0) * 3 ) + (VALUE(SUBSTR( CPF_LIMPO; 9; 1);0) * 2 );11)
DEFINE FIELD CPF_DIG1 COMPUTED

0 IF CPF_DIG1_SUM < 2
11- CPF_DIG1_SUM

DEFINE FIELD CPF_DIG2_SUM COMPUTED MOD(((VALUE(SUBSTR( CPF_LIMPO; 1; 1);0) * 11 ) + (VALUE(SUBSTR( CPF_LIMPO; 2; 1);0) * 10 ) + (VALUE(SUBSTR( CPF_LIMPO; 3; 1);0) * 9 ) + (VALUE(SUBSTR( CPF_LIMPO; 4; 1);0) * 8 ) + (VALUE(SUBSTR( CPF_LIMPO; 5; 1);0) * 7 ) + (VALUE(SUBSTR( CPF_LIMPO; 6; 1);0) * 6 ) + (VALUE(SUBSTR( CPF_LIMPO; 7; 1);0) * 5 ) + (VALUE(SUBSTR( CPF_LIMPO; 8 ; 1);0) * 4 ) + (VALUE(SUBSTR( CPF_LIMPO; 9; 1);0) * 3 ) + (CPF_DIG1 * 2)); 11)
DEFINE FIELD CPF_DIG2 COMPUTED

0 IF CPF_DIG2_SUM < 2
11- CPF_DIG2_SUM

DEFINE FIELD CPF_STATUS COMPUTED

"INVALIDO" IF LENGTH(ALLTRIM(CPF_MAIOR)) > 11
"INVALIDO" IF NOT MATCH(CPF_LIMPO;"1";"2";"3";"4";"5";"6";"7";"8";"9";"0";".";"-")
"INVALIDO" IF STRING(CPF_DIG1;1)<> SUBSTR(CPF_FORMATADO;10;1)
"INVALIDO" IF STRING(CPF_DIG2;1) <> SUBSTR(CPF_FORMATADO;11;1)
"INVALIDO" IF MATCH(CPF_FORMATADO;"00000000000";"11111111111";"22222222222";"33333333333";"44444444444";"55555555555";"66666666666";"77777777777";"88888888888";"99999999999")
"VALIDO"

SET SAFETY ON

Admin
Admin

Mensagens : 13
Data de inscrição : 16/02/2012

http://forum.it-tech.com.br

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum