# 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>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kb.stoque.com.br/zeev/como-construir-processos/como-criar-formularios/como-configurar-a-automacao-de-campos.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
