Como criar máscaras para CPF utilizando Java Script no Dynamics 365 CE

A ideia é que ao inserir um valor no campo CPF, automaticamente a máscara seja aplicado ao valor inserido, conforme a seguir:

Abaixo o passo a passo para criar a máscara para CPF:

1 – Criar o campo CPF na tabela que deseja utiliza-lo

Neste exemplo, vamos criar o campo CPF na tabela de contatos.

Campo do tipo texto, com 14 caracteres.

2 – Criar o recurso da web com o código Java Script

Vamos utilizar o código abaixo, por isso será necessário salva-lo em um arquivo na sua maquina para podermos carrega-lo no Dynamics 365 CE.

//Validação CPF e máscara XXX.XXX.XXX-XX
function valida_MascaraCPF (executionContext) {
    var context = executionContext.getFormContext();
    var nomeCampo = executionContext.getEventSource().getName()
    var fieldAtrribute = context.getAttribute(nomeCampo);
    var val = fieldAtrribute.getValue();
    var fieldControl = context.getControl(nomeCampo);
 
    fieldControl.clearNotification();
 
    if (val !== null) {
        val = val.replace(/[^\d]+/g, "");
        if (val.length !== 11
            || val === "00000000000"
            || val === "11111111111"
            || val === "22222222222"
            || val === "33333333333"
            || val === "44444444444"
            || val === "55555555555"
            || val === "66666666666"
            || val === "77777777777"
            || val === "88888888888"
            || val === "99999999999") {
 
            fieldControl.setNotification("CPF inválido.");
            return;
        }
 
        fieldAtrribute.setValue(val.replace(/^(\d{3})(\d{3})(\d{3})(\d{2})/, "$1.$2.$3-$4"));
 
        // Valida 1o digito 
        var add = 0;
        var i;
        for (i = 0; i < 9; i++)
            add += parseInt(val.charAt(i)) * (10 - i);
        var rev = 11 - (add % 11);
        if (rev === 10 || rev === 11)
            rev = 0;
        if (rev !== parseInt(val.charAt(9))) {
            fieldControl.setNotification("CPF inválido.");
            return;
        }
        // Valida 2o digito 
        add = 0;
        for (i = 0; i < 10; i++)
            add += parseInt(val.charAt(i)) * (11 - i);
        rev = 11 - (add % 11);
        if (rev === 10 || rev === 11)
            rev = 0;
        if (rev !== parseInt(val.charAt(10))) {
            fieldControl.setNotification("CPF inválido.");
        } 
    }
}

No https://make.powerapps.com/ abra a solução que está utilizando e clique em Novo -> Mais -> Recurso da Web.

Defina um nome para seu recurso da web, no meu caso estou utilizando “Comun” e em seguida carregue o arquivo com o código Java Script.

Obs: Não esqueça de publicar o recurso da web após criado.

3 – Criar o gatilho do Java Script no formulário

Abra o formulário desejado e no menu lateral clique em no ícone do Java Script e em seguida clique em Adicionar biblioteca.

Localize o recurso da web criado e adicione-o.

Adicione o campo CPF no formulário e clique nele para abrir as configurações do campo no menu lateral direito, em seguida clique em Eventos -> + Manipulador de Eventos

Para configurar o evento:

  1. Tipo de Evento = Ao alterar
  2. Biblioteca = Selecione o recurso da web criado
  3. Função = Utilize o nome da função do nosso código (valida_MascaraCPF)
  4. Habilite o evento (gatilho)
  5. Devemos passar o contexto da execução por parâmetro

Não esqueça de clicar em concluído e Salvar e publicar o formulário.

Agora é só abrir o registro e testar!

Não esqueça de limpar o cache para testar

Você pode gostar...

2 Resultados

  1. Mike Jackson disse:

    Hi there,

    My name is Mike from Monkey Digital,

    Allow me to present to you a lifetime revenue opportunity of 35%
    That’s right, you can earn 35% of every order made by your affiliate for life.

    Simply register with us, generate your affiliate links, and incorporate them on your website, and you are done. It takes only 5 minutes to set up everything, and the payouts are sent each month.

    Click here to enroll with us today:
    https://www.monkeydigital.org/affiliate-dashboard/

    Think about it,
    Every website owner requires the use of search engine optimization (SEO) for their website. This endeavor holds significant potential for both parties involved.

    Thanks and regards
    Mike Jackson

    Monkey Digital

  2. Marcelo Bassi disse:

    Parabéns! Faltou só mudar o nome para Validar CPF/CNPJ como tá no vídeo

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *