> For the complete documentation index, see [llms.txt](https://kb.stoque.com.br/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kb.stoque.com.br/zeev/como-construir-processos/como-criar-formularios/como-configurar-a-automacao-de-campos.md).

# Como configurar a Automação de campos

## Visão geral

A automação de campos é uma funcionalidade poderosa do Zeev que proporciona uma melhor experiência na criação e uso dos formulários.&#x20;

Ela permite criar um relacionamento entre campos ou grupos de campos, exibindo ou ocultando-os a partir de regras previamente configuradas.

Suponhamos que você tem um aplicativo "Solicitação de compras", e deseja que o formulário respeite a seguinte regra:

* Se o campo "**Valor**" for maior que "**2.000,00**", <mark style="background-color:green;">então</mark> o campo a seguir deve ser exibido:&#x20;
  * Motivo da compra
* <mark style="background-color:red;">Senão</mark>, o campo "Motivo da compra" deve ser oculto.

{% hint style="danger" %}
Note que, ao utilizar esta funcionalidade, se um campo for ocultado, o valor preenchido no campo é perdido.
{% endhint %}

{% hint style="success" %}
Após a versão 4.97.0.0, além da automação ser realizada por campos, pode também ser realizada por Grupos de Campos, trazendo mais agilidade na automação dos formulários.
{% endhint %}

## Entendendo a estrutura de configuração da Automação

1. Defina um título para a sua automação de fácil entendimento, onde ao ler, você saiba qual regra está configurada.&#x20;
   * Exemplo: Se o valor total for maior que 2.000,00
2. Configure a condição que deve ser atendida.&#x20;
   * Exemplo: Se o campo **valor** for **maior que** 2.000,00&#x20;
3. Configure a ação a ser realizada quando a condição acima <mark style="background-color:green;">**for**</mark> atendida (Então):
   * Exemplo: **Exibir** o campo "Motivo da compra"
4. Configure a ação a ser realizado quando a condição acima <mark style="background-color:red;">**não for**</mark> atendida (Senão):
   * Exemplo: **Ocultar** o campo "Motivo da compra"

<figure><img src="/files/60P8MtrTOU7rJq9xWXYE" alt=""><figcaption><p>Exemplo de configuração de automação</p></figcaption></figure>

<figure><img src="/files/sf4Z6iq3l6rqWhmfzguW" alt=""><figcaption><p>Automação funcionando na prática</p></figcaption></figure>

{% hint style="info" %}
**Dica**: no exemplo acima, se não fosse configurado o "Senão", o campo "Motivo da compra" seria exibido mesmo se o valor total fosse menor que 2.000,00, pois o Zeev não teria uma orientação sobre o que fazer caso a condição não fosse atendida.
{% endhint %}

### Operadores existentes

1. **Igual**: é o mais popular entre os operadores e valida se o valor preenchido no campo é **igual** ao definido na automação;
2. **Maior que**: valida se o valor preenchido no campo é **maior que** o definido na automação;
3. **Menor que**: valida se o valor preenchido no campo é **menor que** o definido na automação;
4. **Maior ou igual a**: valida se o valor preenchido no campo é **maior ou igual** ao definido na automação;
5. **Menor ou igual a**: valida se o valor preenchido no campo é **menor ou igual** ao definido na automação;
6. **Diferente de**: valida se o valor preenchido no campo do formulário **é diferente** do definido na automação;
7. **Contém**: valida se o valor preenchido no campo do formulário **contém** o termo definido na automação. O valor preenchido no campo pode ter uma frase, por exemplo, e a automação tentará localizar um termo/palavra nessa frase.
8. **Não contém**: valida se o valor preenchido no campo do formulário **não contém** o termo definido na automação. O valor preenchido no campo pode ter uma frase, por exemplo, e a automação tentará localizar a **ausência** de um termo/palavra nessa frase.

### Principais regras da automação de campos

#### Os campos devem estar corretamente habilitados na tarefa

Todos os campos que serão manipulados pela automação sendo exibidos/escondidos devem estar marcados como "Visíveis" ou "Habilitados" na tarefa humana/ evento de início, caso contrário, a automação não funcionará. Além disso, a coluna "Manipulável" deve estar sempre marcada.

&#x20;                                 ![](/files/PFbJcOkRvzhEQOr7K5cS)

#### As automações são executadas em ordem alfabética

Sendo possível configurar diversas automações no mesmo formulário, é importante saber que o Zeev as executará em ordem alfabética, respeitando cada regra configurada. Por isso é importante pensar em como organizar suas automações para elas não conflitarem.

{% hint style="info" %}
**Dica**: enumere suas regras para facilitar a organização e ordenação.
{% endhint %}

<figure><img src="/files/Fd7IYsn5ADsftmmdsT30" alt=""><figcaption><p>Automações ordenadas</p></figcaption></figure>

#### Comportamento de alguns tipos de campos nas automações

**Campo do tipo "Lista de seleção":** este campo permite marcar mais de um valor através de *checkboxes*, sendo assim, ele deve possuir pelo menos um valor que atenda a regra configurada.&#x20;

<figure><img src="/files/W8UKDnT0uWmRgqcnhOMK" alt=""><figcaption></figcaption></figure>

**Campos com máscara**: se você está utilizando um campo com máscara, na configuração da automação, o valor a ser validado também deve conter a máscara. Exemplo:&#x20;

<figure><img src="/files/NbECDHwYjUwDUORTJdl2" alt=""><figcaption></figcaption></figure>

**Campos do tipo "Arquivo" e "Arquivo visualizador":** não serão exibidos na configuração da regra por não existir um valor para comparação, já que eles armazenam um arquivo.

{% hint style="info" %}
**Dica**: apesar do Zeev não permitir identificadores de campos iguais, é possível ter mais de um campo com o mesmo nome **amigável (que é exibido na visualização do formulário)**. Sendo assim, evite criar mais de um campo com o mesmo nome amigável. Como em um processo de compras, onde é comum existir mais de um campo "Valor", tente diferenciá-los.\
\- Exemplo: "Valor da unidade", "Valor total", "Valor com desconto". \
Isso facilitará a criação da automação e manipulação desses campos.&#x20;
{% endhint %}

### Demonstração prática

Veja na demonstração abaixo como criar uma automação de campos:

{% embed url="<https://www.youtube.com/watch?v=L8J5RdQkRPQ>" %}
