ADICIONAR O COMPONENTE NO FLUXO
Entre na edição do Fluxo e adicione o componente de SCRIPT conforme a figura abaixo:

Observem que o componente de SCRIPT deve ficar posicionado após o componente de entrada de dados.
O COMPONENTE DE SCRIPT
Clique sobre o componente de SCRIPT e edite o mesmo. Irá abrir a tela a seguir:

- Horários: você pode utilizar o horário que o SCRIPT vai estar ativo no fluxo. Não é necessário pois sempre que acontecer a entrada de dados queremos que ele execute então é pressuposto;
- Nome: coloque um nome apropriado para o componente. Ex. Teste de CPF/CNPJ;
- Parâmetros: colocar a variável "val" em minúsculo recebendo o conteúdo da variável "{{CPF_CNPJ}}" esta variável muda de acordo com a utilizada na entrada de dados. Aqui estamos dizendo que "val" vai receber o que estiver sido digitado em {{CPF_CNPJ}} para ser utilizado no script;
- Tipo de função: escolha "customizável";
- Retorno da função: crie uma nova variável para ser utilizada na condição do fluxo. No exemplo valos criar a {{IS_CPF_CNPJ}} mas pode ser qualquer uma a escolha desde que identifique para ser utilizado depois. Este retorno da função vai receber "0" quando um CPF/CNPJ for inválido, e "1" quando o CPF/CNPJ for válido.

- Customizável: roque a linha 2 toda pelo script abaixo:
val = val.replace(/\D/g, '');
if (val.length == 11) {
var v1 = 0;
var v2 = 0;
var aux = false;
for (var i = 1; val.length > i; i++) {
if (val[i - 1] != val[i]) {
aux = true;
}
}
if (aux == false) {
return 0;
}
for (var i = 0, p = 10; (val.length - 2) > i; i++, p--) {
v1 += val[i] * p;
}
v1 = ((v1 * 10) % 11);
if (v1 == 10) {
v1 = 0;
}
if (v1 != val[9]) {
return 0;
}
for (var i = 0, p = 11; (val.length - 1) > i; i++, p--) {
v2 += val[i] * p;
}
v2 = ((v2 * 10) % 11);
if (v2 == 10) {
v2 = 0;
}
if (v2 != val[10]) {
return 0;
} else {
return 1;
}
} else if (val.length == 14) {
var v1 = 0;
var v2 = 0;
var aux = false;
for (var i = 1; val.length > i; i++) {
if (val[i - 1] != val[i]) {
aux = true;
}
}
if (aux == false) {
return 0;
}
for (var i = 0, p1 = 5, p2 = 13; (val.length - 2) > i; i++, p1--, p2--) {
if (p1 >= 2) {
v1 += val[i] * p1;
} else {
v1 += val[i] * p2;
}
}
v1 = (v1 % 11);
if (v1 < 2) {
v1 = 0;
} else {
v1 = (11 - v1);
}
if (v1 != val[12]) {
return 0;
}
for (var i = 0, p1 = 6, p2 = 14; (val.length - 1) > i; i++, p1--, p2--) {
if (p1 >= 2) {
v2 += val[i] * p1;
} else {
v2 += val[i] * p2;
}
}
v2 = (v2 % 11);
if (v2 < 2) {
v2 = 0;
} else {
v2 = (11 - v2);
}
if (v2 != val[13]) {
return 0;
} else {
return 1;
}
} else {
return 0;
}Pronto o Script ficará conforme as imagens abaixo:


ADICIONE UM COMPONENTE DE CONDIÇÃO NO FLUXO
Agora que o SCRIPT está criado podemos adicionar um componente de condição para testarmos o valor retornado na variável "{{IS_CPF}}" que criamos no SCRIPT. Lembrando que a variável retorna "0" e "1". Também pode-se utilizar a variável em qualquer outro componente.
Veja a imagem:

Neste exemplo teremos dois comportamentos do Fluxo, o primeiro se o valor retornado for "0" de CPF/CNPJ inválido poderemos informar o cliente e seguir um fluxo.
O segundo que seria a Exceção "1" poderíamos colocar para prosseguir o fluxo sendo que recebemos "1" de CPF/CNPJ válido.

Este artigo foi útil?
Que bom!
Obrigado pelo seu feedback
Desculpe! Não conseguimos ajudar você
Obrigado pelo seu feedback
Feedback enviado
Agradecemos seu esforço e tentaremos corrigir o artigo