Usuário com melhor resposta
Validação de CPF e CNPJ CRM 2011

Pergunta
-
Olá Pessoal,
Estou começando a utilizar o CRM, e estou com a versão 2011.
Preciso fazer uma validação em Campos CPF e CNPJ, pois temos a necessidade de fazer a verificação do dígito verificador destes campos CPF e CNPJ.
Se alguém tiver algum exemplo de como fazer isso em JScript no CRM 2011 ficaria muito grata!
Abraços.
Respostas
-
Boa Tarde, Tenho os dois codigos separados do CRM 4.0 este funcionam corretamente no CRM 2011, talvez so tenha que alterar a sintaxe. Segue abaixo espero que ajude.
######CPF######
var exp = /\-|\.|\/|\(|\)| /g
var cpfFormatado = crmForm.all.combocrm_cpf.DataValue;
if(cpfFormatado == null){return;}
/*Somente números*/
cpfFormatado = cpfFormatado.replace(exp,"");/*Bloco de código de validação de CPF*/
var a = [];
var b = new Number;
var c = 11;
for (i=0; i<11; i++){
a[i] = cpfFormatado.charAt(i);
if (i < 9) b += (a[i] * --c);
}
if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11-x }
b = 0;
c = 11;
for (y=0; y<10; y++) b += (a[y] * c--);
if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11-x; }
if ((cpfFormatado.charAt(9) != a[9]) || (cpfFormatado.charAt(10) != a[10])) {
alert("Número de CPF inválido.");
crmForm.all.combocrm_cpf.DataValue = "";
}else{
/*Formata como ###.###.###-##*/
cpfFormatado = cpfFormatado.substr(0, 3) + '.' + cpfFormatado.substr(3, 3) + '.' + cpfFormatado.substr(6, 3) + '-' + cpfFormatado.substr(9, 2);
/*Atualiza no formulário*/
crmForm.all.combocrm_cpf.DataValue = cpfFormatado;
}######CNPJ######
var exp = /\-|\.|\/|\(|\)| /g
var cnpjFormatado = crmForm.all.new_cnpj.DataValue;
if(cnpjFormatado == null){return;}/*Somente números*/
cnpjFormatado = cnpjFormatado.replace(exp,"");/*Bloco de Código de Validação de CNPJ*/
var valida = new Array(6,5,4,3,2,9,8,7,6,5,4,3,2);
var dig1= new Number;
var dig2= new Number;
var digito = new Number(eval(cnpjFormatado.charAt(12)+cnpjFormatado.charAt(13)));
for(i = 0; i<valida.length; i++){
dig1 += (i>0? (cnpjFormatado.charAt(i-1)*valida[i]):0);
dig2 += cnpjFormatado.charAt(i)*valida[i];
}
dig1 = (((dig1%11)<2)? 0:(11-(dig1%11)));
dig2 = (((dig2%11)<2)? 0:(11-(dig2%11)));
if(((dig1*10)+dig2) != digito){
alert("Número de CNPJ inválido.");
crmForm.all.combocrm_cnpj.DataValue = "";
}else{
/*Formata como ##.###.###/####-##*/
cnpjFormatado = cnpjFormatado.replace(exp,"");
cnpjFormatado = cnpjFormatado.substr(0, 2) + '.' + cnpjFormatado.substr(2, 3) + '.' + cnpjFormatado.substr(5, 3) + '/' + cnpjFormatado.substr(8, 4) + '-' + cnpjFormatado.substr(12, 2);
crmForm.all.new_cnpj.DataValue = cnpjFormatado;
}
Tiago Henrique Consultor de Implantação Microssoft Dynamics CRM- Marcado como Resposta Jaqueline.braga terça-feira, 23 de agosto de 2011 00:01
-
Existe um "conversor" de códigos JScript do CRM 4 para o 2011.
http://crm2011scriptconvert.codeplex.com/releases/view/52074
Basta colocar o código dentro de uma função, para que possa chamá-la no evento o campo.
Airton
- Marcado como Resposta Jaqueline.braga terça-feira, 23 de agosto de 2011 00:00
- Não Marcado como Resposta Jaqueline.braga terça-feira, 23 de agosto de 2011 00:00
- Marcado como Resposta Jaqueline.braga terça-feira, 23 de agosto de 2011 00:01
Todas as Respostas
-
Boa Tarde, Tenho os dois codigos separados do CRM 4.0 este funcionam corretamente no CRM 2011, talvez so tenha que alterar a sintaxe. Segue abaixo espero que ajude.
######CPF######
var exp = /\-|\.|\/|\(|\)| /g
var cpfFormatado = crmForm.all.combocrm_cpf.DataValue;
if(cpfFormatado == null){return;}
/*Somente números*/
cpfFormatado = cpfFormatado.replace(exp,"");/*Bloco de código de validação de CPF*/
var a = [];
var b = new Number;
var c = 11;
for (i=0; i<11; i++){
a[i] = cpfFormatado.charAt(i);
if (i < 9) b += (a[i] * --c);
}
if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11-x }
b = 0;
c = 11;
for (y=0; y<10; y++) b += (a[y] * c--);
if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11-x; }
if ((cpfFormatado.charAt(9) != a[9]) || (cpfFormatado.charAt(10) != a[10])) {
alert("Número de CPF inválido.");
crmForm.all.combocrm_cpf.DataValue = "";
}else{
/*Formata como ###.###.###-##*/
cpfFormatado = cpfFormatado.substr(0, 3) + '.' + cpfFormatado.substr(3, 3) + '.' + cpfFormatado.substr(6, 3) + '-' + cpfFormatado.substr(9, 2);
/*Atualiza no formulário*/
crmForm.all.combocrm_cpf.DataValue = cpfFormatado;
}######CNPJ######
var exp = /\-|\.|\/|\(|\)| /g
var cnpjFormatado = crmForm.all.new_cnpj.DataValue;
if(cnpjFormatado == null){return;}/*Somente números*/
cnpjFormatado = cnpjFormatado.replace(exp,"");/*Bloco de Código de Validação de CNPJ*/
var valida = new Array(6,5,4,3,2,9,8,7,6,5,4,3,2);
var dig1= new Number;
var dig2= new Number;
var digito = new Number(eval(cnpjFormatado.charAt(12)+cnpjFormatado.charAt(13)));
for(i = 0; i<valida.length; i++){
dig1 += (i>0? (cnpjFormatado.charAt(i-1)*valida[i]):0);
dig2 += cnpjFormatado.charAt(i)*valida[i];
}
dig1 = (((dig1%11)<2)? 0:(11-(dig1%11)));
dig2 = (((dig2%11)<2)? 0:(11-(dig2%11)));
if(((dig1*10)+dig2) != digito){
alert("Número de CNPJ inválido.");
crmForm.all.combocrm_cnpj.DataValue = "";
}else{
/*Formata como ##.###.###/####-##*/
cnpjFormatado = cnpjFormatado.replace(exp,"");
cnpjFormatado = cnpjFormatado.substr(0, 2) + '.' + cnpjFormatado.substr(2, 3) + '.' + cnpjFormatado.substr(5, 3) + '/' + cnpjFormatado.substr(8, 4) + '-' + cnpjFormatado.substr(12, 2);
crmForm.all.new_cnpj.DataValue = cnpjFormatado;
}
Tiago Henrique Consultor de Implantação Microssoft Dynamics CRM- Marcado como Resposta Jaqueline.braga terça-feira, 23 de agosto de 2011 00:01
-
Existe um "conversor" de códigos JScript do CRM 4 para o 2011.
http://crm2011scriptconvert.codeplex.com/releases/view/52074
Basta colocar o código dentro de uma função, para que possa chamá-la no evento o campo.
Airton
- Marcado como Resposta Jaqueline.braga terça-feira, 23 de agosto de 2011 00:00
- Não Marcado como Resposta Jaqueline.braga terça-feira, 23 de agosto de 2011 00:00
- Marcado como Resposta Jaqueline.braga terça-feira, 23 de agosto de 2011 00:01
-