|
Started by adrianoboller, Nov., 18 2014 2:16 PM - 1 reply |
| |
| | | |
|
| |
Registered member 3,661 messages Popularité : +175 (223 votes) |
|
Posted on November, 18 2014 - 2:16 PM |
Procedure ValidaCNPJ(cnpj is string)
cnpj = LimpaCampo(cnpj)
SWITCH cnpj CASE "00000000000000" cnpj = "" CASE "11111111111111" cnpj = "" CASE "22222222222222" cnpj = "" CASE "333333333333333" cnpj = "" CASE "444444444444444" cnpj = "" CASE "555555555555555" cnpj = "" CASE "666666666666666" cnpj = "" CASE "777777777777777" cnpj = "" CASE "888888888888888" cnpj = "" CASE "999999999999999" cnpj = "" END
LOC_num is int LOC_num2 is int LOC_num = (Val(Middle(cnpj,1,1)) * 5) + ... (Val(Middle(cnpj,2,1)) * 4) + ... (Val(Middle(cnpj,3,1)) * 3) + ... (Val(Middle(cnpj,4,1)) * 2) + ... (Val(Middle(cnpj,5,1)) * 9) + ... (Val(Middle(cnpj,6,1)) * 8) + ... (Val(Middle(cnpj,7,1)) * 7) +... (Val(Middle(cnpj,8,1)) * 6) + ... (Val(Middle(cnpj,9,1)) * 5) + ... (Val(Middle(cnpj,10,1)) * 4) + ... (Val(Middle(cnpj,11,1)) * 3) + ... (Val(Middle(cnpj,12,1)) * 2)
LOC_num = Modulo(LOC_num,11) IF LOC_num < 2 THEN LOC_num = 0 ELSE LOC_num = 11 - LOC_num END
LOC_num2 = (Val(Middle(cnpj,1,1)) * 6) + ... (Val(Middle(cnpj,2,1)) * 5) + ... (Val(Middle(cnpj,3,1)) * 4) + ... (Val(Middle(cnpj,4,1)) * 3) + ... (Val(Middle(cnpj,5,1)) * 2) + ... (Val(Middle(cnpj,6,1)) * 9) + ... (Val(Middle(cnpj,7,1)) * 8) + ... (Val(Middle(cnpj,8,1)) * 7) + ... (Val(Middle(cnpj,9,1)) * 6) + ... (Val(Middle(cnpj,10,1)) * 5) + ... (Val(Middle(cnpj,11,1)) * 4) + ... (Val(Middle(cnpj,12,1)) * 3) + ... (LOC_num) * 2
LOC_num2 = Modulo(LOC_num2,11) IF LOC_num2 < 2 THEN LOC_num2 = 0 ELSE LOC_num2 = 11 - LOC_num2 END
Resultado is string
Resultado = NumToString(LOC_num) + NumToString(LOC_num2)
IF Val(Middle(cnpj,13,2)) = Resultado THEN RESULT(True) ELSE RESULT(False) END |
| |
| |
| | | |
|
| | |
| |
Registered member 3,661 messages Popularité : +175 (223 votes) |
|
Posted on July, 22 2016 - 4:59 PM |
Correção do código:
Procedure ValidaCNPJ(cnpj is string)
cnpj = LimpaCampo(cnpj)
SWITCH cnpj CASE "00000000000000" cnpj = "" CASE "11111111111111" cnpj = "" CASE "22222222222222" cnpj = "" CASE "333333333333333" cnpj = "" CASE "444444444444444" cnpj = "" CASE "555555555555555" cnpj = "" CASE "666666666666666" cnpj = "" CASE "777777777777777" cnpj = "" CASE "888888888888888" cnpj = "" CASE "999999999999999" cnpj = "" END
LOC_num is int LOC_num2 is int LOC_num = (Val(Middle(cnpj,1,1)) * 5) + ... (Val(Middle(cnpj,2,1)) * 4) + ... (Val(Middle(cnpj,3,1)) * 3) + ... (Val(Middle(cnpj,4,1)) * 2) + ... (Val(Middle(cnpj,5,1)) * 9) + ... (Val(Middle(cnpj,6,1)) * 8) + ... (Val(Middle(cnpj,7,1)) * 7) +... (Val(Middle(cnpj,8,1)) * 6) + ... (Val(Middle(cnpj,9,1)) * 5) + ... (Val(Middle(cnpj,10,1)) * 4) + ... (Val(Middle(cnpj,11,1)) * 3) + ... (Val(Middle(cnpj,12,1)) * 2)
LOC_num = Modulo(LOC_num,11) IF LOC_num < 2 THEN LOC_num = 0 ELSE LOC_num = 11 - LOC_num END
LOC_num2 = (Val(Middle(cnpj,1,1)) * 6) + ... (Val(Middle(cnpj,2,1)) * 5) + ... (Val(Middle(cnpj,3,1)) * 4) + ... (Val(Middle(cnpj,4,1)) * 3) + ... (Val(Middle(cnpj,5,1)) * 2) + ... (Val(Middle(cnpj,6,1)) * 9) + ... (Val(Middle(cnpj,7,1)) * 8) + ... (Val(Middle(cnpj,8,1)) * 7) + ... (Val(Middle(cnpj,9,1)) * 6) + ... (Val(Middle(cnpj,10,1)) * 5) + ... (Val(Middle(cnpj,11,1)) * 4) + ... (Val(Middle(cnpj,12,1)) * 3) + ... (LOC_num) * 2
LOC_num2 = Modulo(LOC_num2,11) IF LOC_num2 < 2 THEN LOC_num2 = 0 ELSE LOC_num2 = 11 - LOC_num2 END
Resultado is string
Resultado = NumToString(LOC_num) + NumToString(LOC_num2)
IF Val(Middle(cnpj,13,2)) = Val(Resultado) THEN RESULT(True) ELSE RESULT(False) END
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | | | |
| | |
|