> For the complete documentation index, see [llms.txt](https://ajuda.consistem.com.br/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ajuda.consistem.com.br/tecnologia/erp/componentes/funcionalidades/camada-de-personalizacao/criacao-de-campos.md).

# Criação de Campos Adicionais

A funcionalidade de **Criação de** **Campos Adicionais** permite **expandir** os programas padrão do Consistem ERP para que eles atendam 100% às particularidades do seu negócio.

Com ela, você pode acoplar uma **rotina auxiliar** a um **programa já existente**, inserindo novos campos, abas e regras de validação sem perder a integridade da rotina original.

{% hint style="warning" %} <mark style="color:orange;">**Importante**</mark>

Apenas programas identificados com o ícone <i class="fa-cubes">:cubes:</i> estão disponíveis para inclusão de campos adicionais.
{% endhint %}

### Tipos de Estruturas Disponíveis

A complexidade da personalização pode variar de acordo com a necessidade de dados que você precisa capturar. O sistema suporta desde formulários simples até estruturas hierárquicas complexas:

* **Cadastro Simples:** Ideal para formulários básicos e diretos (Ex: Cadastro de Operador).\
  É utilizado quando você precisa apenas de campos de preenchimento simples (texto, número, data).
* **Cadastro com Abas e Grids:** Permite organizar um grande volume de informações extras separando-as em abas ou listas.
* **Mestre-Detalhe (Hierárquico):** A estrutura mais robusta, utilizada quando há dependência entre os dados.

### Personalizando um programa

Para ilustrar, vamos utilizar o programa [Cadastro de Empresa (CCAPL000)](/cadastros-gerais/manuais-de-telas/cadastros-gerais/cadastro-de-empresa-1.md) . O objetivo é adicionar informações de contato que não existem no padrão.

#### Configurando a Rotina Auxiliar:

1. Acesse o programa [Camada de Personalização (CSW1CUSTOM010)](/componentes/manuais-de-telas/camada-de-personalizacao/camada-de-personalizacao.md), ícone <i class="fa-cubes">:cubes:</i> opção **Dados Gerais**.
2. Defina o **Tipo da Rotina**: neste exemplo, selecionamos "Cadastro Simples".
3. Insira o **Título da Rotina**: defina como "Complemento Cadastro de Empresa".
4. Crie os Campos Adicionais: inclua os campos "WhatsApp" e "Idioma".

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

Após preencher os dados, clique no botão **Gerar Rotina**. O sistema irá processar as informações e a personalização estará imediatamente disponível para uso no Cadastro de Empresa.

<figure><img src="/files/0z2OZRHst285XLZHXMFW" alt=""><figcaption></figcaption></figure>

#### Como acessar a personalização?

Uma vez configurada a camada de personalização em um programa, o botão **Personalizar** ficará visível na tela. Este botão é o portal para acessar os campos extras que foram criados.

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

#### Rotina personalizada

<figure><img src="/files/PpTwJhkjE6W1Mwf9vJba" alt="Complemento Cadastro de Empresa"><figcaption></figcaption></figure>

#### **Status Visual (Cores do Botão)**

Para facilitar a operação, a cor do botão Personalizar muda dinamicamente para indicar o status dos dados preenchidos naquela tela auxiliar:

<table><thead><tr><th width="116">Cor</th><th width="172">Status</th><th>Significado</th></tr></thead><tbody><tr><td><mark style="background-color:$info;">Cinza</mark></td><td>Sem Dados</td><td>Não há informações preenchidas ou salvas nos campos adicionais.</td></tr><tr><td><mark style="background-color:yellow;">Amarelo</mark></td><td>Dados Temporários</td><td>O usuário preencheu informações, mas elas ainda não foram efetivadas no banco de dados.</td></tr><tr><td><mark style="background-color:green;">Verde</mark></td><td>Dados Gravados</td><td>As informações adicionais foram salvas com sucesso e estão vinculadas ao registro principal.</td></tr></tbody></table>

***

### Regras de Negócio e Validações

Mais do que apenas guardar dados, a camada de personalização permite garantir a qualidade da informação através do botão Validações.

É possível criar "travas" ou regras lógicas que impedem a gravação se determinada condição não for atendida.

{% hint style="success" %} <mark style="color:$success;">**Exemplo**</mark>\
\
Imagine que você criou um campo personalizado e deseja impedir que o processo continue se o valor digitado for "99". O sistema exibirá uma mensagem de erro e interromperá a gravação.
{% endhint %}

{% hint style="info" %}
**Nota Técnica**\
\
A validação utiliza lógica condicional padrão.\
\&#xNAN;*Exemplo de código:* `if ID000001=99 quit $$$Error("Esta condição não é permitida")`
{% endhint %}

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

***

### Configuração Técnica

Esta seção é destinada aos analistas responsáveis pela configuração da rotina.

* **Persistência de Dados:** Para cadastros simples, lembre-se de definir a global de persistência correta (Ex: **^%CSMENOP**) e o título da janela.
* **Configurando Mestre-Detalhe:** Para ativar estruturas hierárquicas, navegue até a [Aba Propriedades (CSW1CUSTOM010TAB2) ](/componentes/manuais-de-telas/camada-de-personalizacao/camada-de-personalizacao/aba-propriedades.md)e selecione a opção **Objeto** no campo "Tipo Campo".

<p align="center">Esse conteúdo foi útil?</p>

<p align="center"><a href="https://movidesk.consistem.com.br/form/10395/" class="button primary" data-icon="thumbs-up">Sim</a> <a href="https://movidesk.consistem.com.br/form/10395/" class="button primary" data-icon="thumbs-down">Não</a></p>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://ajuda.consistem.com.br/tecnologia/erp/componentes/funcionalidades/camada-de-personalizacao/criacao-de-campos.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
