> For the complete documentation index, see [llms.txt](https://wedocs.gitbook.io/wedocs-5.1/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wedocs.gitbook.io/wedocs-5.1/cliente-desktop/cadastros-gerais/metadados/regras-de-formatacao.md).

# Regras de formatação

Para aprimorar a usabilidade do editor de metadados do Weknow, foi criado um botão de regras de formatação que automatiza a configuração de títulos e campos, substituindo o processo manual que antes desestimulava muitos usuários a realizar ajustes adequados. A funcionalidade inclui uma tela de configuração onde é possível definir padrões de formatação, permitindo que o sistema aplique regras automaticamente, como por exemplo tratar campos com o prefixo vl\_ como valores monetários.

Além da automação, o recurso mantém a flexibilidade para ajustes manuais em casos específicos. Essa combinação reduz o esforço operacional, agiliza o fluxo de trabalho e permite que os desenvolvedores concentrem seus esforços em tarefas mais relevantes, contribuindo diretamente para o aumento da produtividade.

Antes de aplicar qualquer regra de formatação, é necessário realizar a criação dessas regras no sistema. Para isso, utilize o menu superior, selecione a opção **"Metadado"** em seguida use o botão **"Regras de formatação"**, que direciona para a tela de criação de novas regras. Somente após esse passo será possível utilizar as regras cadastradas nas formatações desejadas.

<div align="left"><figure><img src="/files/aChlcQGPhIbPri5zMR10" alt="" width="563"><figcaption></figcaption></figure></div>

### TELA REGRAS DE FORMATAÇÃO

Esta página é destinada à configuração das regras de formatação. Observe que os **campos sinalizados** com um asterisco (**\***) são de **preenchimento obrigatório**.

\
A seguir, apresenta-se uma descrição detalhada de cada campo disponível, com o objetivo de orientar seu correto preenchimento e assegurar o cumprimento dos critérios estabelecidos.

* **Código**

Caso deseje alterar alguma regra de formatação, utilize o **ícone de reticências** ou pressione a tecla de **atalho F7**. Se esta for sua primeira vez realizando um cadastro, é possível utilizar o **ícone de estrela** ou simplesmente pressionar a **tecla "*****Enter*****"**.

<div align="left"><figure><img src="/files/t7Yxk9gJIDFnxusRBY7v" alt="" width="470"><figcaption></figcaption></figure></div>

{% hint style="info" %}
Feito o passo anterior, os campos ficam disponíveis para edição.
{% endhint %}

* **Nome**

É de **preenchimento obrigatório**. Informe um nome para identificar a regra de formatação criada.

Abaixo dele, há uma caixa de seleção que permite definir essa regra de formatação como **padrão**.

* **Padrão**

Marque essa opção para definir essa regra de formatação como padrão no Weknow, exceto quando em um determinado metadado for informado outra regra de padrão.

<div align="left"><figure><img src="/files/hYcLiYvryzMos9BjXofj" alt="" width="470"><figcaption></figcaption></figure></div>

#### Aba **Automatizar o título**

Permite configurar automatizações para os títulos dos campos, sendo possível combinar as opções existentes, automatizando conforme a necessidade.

Há duas opções de caixa de seleção:&#x20;

* **Trocar \_ (*****underline*****) por (espaço)**
  * Trocará \_ (underline) por espaço, ideal para quem segue a convenção de nomenclatura SNAKE CASE, em que palavras são separadas por um underline.

<div align="left"><figure><img src="/files/W7KlWiMYnoeHv4HauNAd" alt="" width="464"><figcaption><p><em>Teste exemplo da opção “Trocar _ (underline) por (espaço)”.</em></p></figcaption></figure></div>

* **Separar blocos numéricos**
  * Identificará os blocos numéricos e separará em palavras.

<div align="left"><figure><img src="/files/nOI8OMiksCO8mViMJtNB" alt="" width="488"><figcaption><p><em>Teste exemplo da opção “Separar blocos numéricos”.</em></p></figcaption></figure></div>

* **Detecção de palavras**

É de **preenchimento obrigatório**, permite configurar para detectar palavras conforme as opções abaixo:

* **"Nenhum"**

<div align="left"><figure><img src="/files/vWIKw5DNjpoqjoSJVVe4" alt="" width="494"><figcaption></figcaption></figure></div>

* **"Primeira letra maiúscula"**
  * Detecta através da primeira letra maiúscula as palavras. ideal para quem segue a convenção de nomenclatura CAMEL CASE.

<div align="left"><figure><img src="/files/ZzIYGwaLdV5SUCXoeF1U" alt="" width="464"><figcaption><p align="center"><em>Teste exemplo da opção “Detecção de palavras” usando “Primeira letra maiúscula”.</em></p></figcaption></figure></div>

* **"Alterar maiúsculas e minúsculas"**&#x20;
  * Detecta as palavras conforme blocos de letras em maiúsculas e minúsculas

<div align="left"><figure><img src="/files/coubnWVjsx05hvFZfwT6" alt="" width="458"><figcaption><p><em>Teste exemplo da opção “Detecção de palavras” usando “Alternar maiúsculas e minúsculas”.</em></p></figcaption></figure></div>

{% hint style="warning" %}

#### Importante!

Ao usar a opção detecção de palavras, conforme cada SGBD, poderá retornar todas as letras maiúsculas ou minúsculas, diferente do padrão adotado no script. Sendo assim, faz o uso de acrescentar aspas duplas no início e fim do apelido.

![](/files/vF54uEQl5jPWgTeFlj0o)

*Exemplo de consulta no PostgreSQL, nota-se que codigoPaciente retornou codigopaciente.*
{% endhint %}

* **"Caixa da primeira palavra" e "Caixa das demais palavras"**

É de **preenchimento obrigatório**, após aplicar as configurações anteriores para identificação das palavras, defina em “Caixa da primeira palavra” e “Caixa das demais palavras” as opções: “Não alterar”, “Primeira maiúscula e demais minúsculas”, “Todas maiúsculas” e “Todas minúsculas”.

<div align="left"><figure><img src="/files/aczGKsJy7FuQM5bOymkf" alt="" width="498"><figcaption><p align="center"><em>Teste exemplo da opção marcada “Trocar _ (underline) por (espaço)” + “Caixa da primeira palavra” usando “Primeira maiúscula e demais minúsculas” + opção “Caixa das demais palavras” usando “Primeira maiúscula e demais minúsculas”.</em></p></figcaption></figure></div>

<div align="left"><figure><img src="/files/0n6m3EnPXXzYOASYKH6x" alt="" width="476"><figcaption><p align="center"><em>Teste exemplo da opção marcada “Trocar _ (underline) por (espaço)” +  marcado “Separar blocos numéricos” + “Caixa da primeira palavra” usando “Primeira maiúscula e demais minúsculas” + opção “Caixa das demais palavras” usando “Todas minúsculas”.</em></p></figcaption></figure></div>

* **Detectar siglas e Caixa das siglas detectadas**

A detecção de sigla só vai ser efetiva com nomes seguem a convenção de nomenclatura CAMEL CASE, permite identificar que caracteres maiúsculos em sequência sejam entendidos como uma sigla, após marcada, será possível definir como exibir a siglas em: “Não alterar”, “Primeira maiúscula e demais minúsculas”, “Todas maiúsculas” e “Todas minúsculas”.

<div align="left"><figure><img src="/files/bSup3nl2MPxd8cUDM0mc" alt="" width="476"><figcaption><p align="center"><em>Teste exemplo da opção “Detecção de palavras” usando “Primeira letra maiúscula + “Caixa da primeira palavra” usando “Primeira maiúscula e demais minúsculas” + opção “Caixa das demais palavras” usando “Todas minúsculas” + marcada “Detectar siglas” + “Caixa das siglas detectadas” usando “Todas maiúsculas”.</em></p></figcaption></figure></div>

#### Aba de **Regras Específicas**

É possível implementar mais algumas automatizações específicas para o título, como também aplicar automatizações de “Formatação”, “Privacidade”, “Categoria” e “Tipo do dado”.

<div align="left"><figure><img src="/files/lsyRTYY7VaJP4natxnEj" alt="" width="563"><figcaption><p align="center"><em>Teste exemplo da regra específica “Nome Começa com “VL_””. Nesta configuração irá ignorar a caixa do título durante a pesquisa, irá aplicar a formatação usando o modelo pré-definido de valor monetário e irá inserir a categoria ‘03.Dado analítico’.</em>  </p></figcaption></figure></div>

* **Adicionar/remover regras**

É possível criar uma ou mais regras, e definir a prioridade delas, isto é, será aplicado apenas uma regra conforme a ordem de prioridade, sendo a primeira da lista a regra mais prioritária.

<div align="left"><figure><img src="/files/ng05qcoyayuKSlgMZG0o" alt="" width="563"><figcaption><p align="center"><em>Teste exemplo da regra Nome É igual à NM_PACIENTE, como ela está como prioritária, logo não aplicará a regra “Nome Começa com NM” que está abaixo.</em></p></figcaption></figure></div>

* **Modo**

Aqui você deve informar o modo de pesquisa: “É igual à” ou “Começa com”.

* **Procurar por**

Conforme o modo escolhido, o conteúdo aqui informado, será pesquisado nos apelidos do metadado.

* **Marcar quais regras serão aplicadas**

Ao lado de cada opções de regra possui o check-box para marcar qual regra deseja aplicar.

<div align="left"><figure><img src="/files/8OMsfpHuVhmWSD2FJKsb" alt="" width="515"><figcaption><p align="center"><em>Teste exemplo da regra Nome Começa com “MD_TM”, marcada opção para ignorar caixa ao pesquisar + substituir as inicias MD_TM por TM_ + Aplica formação + Inserir  a categoria 01-Medida.</em></p></figcaption></figure></div>

* **Ignorar caixa**

Ao ignorar a caixa, pesquisará em letras maiúsculas e minúsculas, desmarque caso desejar pesquisar exatamente igual.

* **Substituir por**

Para automatização do título, informe como deseja substituir o conteúdo pesquisado.

Se não informar nada nesta opção, o conteúdo pesquisado será cortado do título, caso não queira cortar, basta repetir o mesmo conteúdo pesquisado.

* **Tipo do dado**

Permite definir o tipo de campo desejado para o campo encontrado na pesquisa.

O tipo do dado é usado pela ferramenta em vários recursos e serve para definir vários comportamentos. Um exemplo é na parte de filtros:

* Identificar que tipo de dado é esperado quando um usuário informar um valor para ser filtrado;
* Ao abrir a tela de filtros, em qual das opções de filtro abrir.

{% hint style="info" %}
Exemplo:&#x20;

Em um dashboard, ao procurar um campo de data (ftDate) do metadado e clicar para filtrar, será aberta a tela de filtro na opção “Intervalo”, se procurar um campo texto (ftString), será aberta na opção de “Lista”.
{% endhint %}

O campo retornado de SELECT, é detectado automaticamente pela ferramenta, somente em casos bem específicos será necessário definir uma opção.

Em filtro inserido dentro do código SQL se faz necessário definir manualmente o tipo do dado.  *(exemplo:  where atedimento.dt\_entrada >= :pdtinicial, será necessário definir o tipo do dado ftDate)*, logo uma regra de formatação para esses casos pode ser adicionada.

<div align="left"><figure><img src="/files/uaonJprnTARQ1W2NfoGW" alt="" width="563"><figcaption><p align="center"><em>Teste exemplo da regra Nome Começa com “pdt_”, está sendo substituído as iniciais por dt_ + definido o tipo de dado ftDate + formatação no formatado Data.</em></p></figcaption></figure></div>

* **Formatação**

Permite automatizar aplicando uma formatação para o campo encontrado na pesquisa.

<div align="left"><figure><img src="/files/zcmR4az4Cz2AtIGLXp3i" alt="" width="399"><figcaption></figcaption></figure></div>

* **Privacidade**

Permite automatizar aplicando uma privacidade para o campo encontrado na pesquisa.

<div align="left"><figure><img src="/files/8xz9G1PdmNxSyAmfq5W9" alt="" width="563"><figcaption></figcaption></figure></div>

* **Categoria**

Permite automatizar informando uma categoria para o campo encontrado na pesquisa.

* **Ignorar automatizações de título**

Após a definição de regras personalizadas, será realizada as automatizações de título, caso não queira essa aplicá-las, basta marcar essa opção.

#### Aba **Testar**

O usuário pode inserir o nome do campo desejado e visualizar o resultado final, conforme as configurações de formatação previamente definidas.

<div align="left"><figure><img src="/files/4OjwyAQ6z7yEdFiCu2Gl" alt="" width="452"><figcaption></figcaption></figure></div>

#### Utilizando Regras de formatação

Após concluir todas as configurações, clique em **"Salvar"** para que as regras de formatação fiquem disponíveis para utilização, podendo ser aplicadas conforme a necessidade, em conjunto com outras regras definidas.

* Para prosseguir com o uso das regras de formatação, acesse o menu inicial, clique em **"Metadado"** e, em seguida, selecione a opção **"Metadados"** No cadastro de metadado, escolha o dado previamente disponibilizado, que servirá como base para a aplicação das regras de formatação posteriormente. Vale destacar que, ao selecionar o dado, os campos **"Descrição", "Área de Negócios"** e **"Código"** serão preenchidos automaticamente.

<div align="left"><figure><img src="/files/DPDf5unyOkpWhLBTjNwM" alt="" width="563"><figcaption></figcaption></figure></div>

* Selecione o botão **"Configurar"** para entrar no editor de metadado.

<div align="left"><figure><img src="/files/bKbsnnXUrHqd1fNWvzIN" alt="" width="522"><figcaption></figcaption></figure></div>

* Dentro do editor de metadado, clique na seta situada ao lado do botão **"Regras de Formatação"** para abrir o menu exibido na imagem. Neste menu, serão apresentadas as opções para selecionar as regras de formatação. Ao clicar no botão **"Editar"** é possível modificar a regra de formatação criada anteriormente. Também estará disponível a opção de aplicar as regras de formatação imediatamente. Além disso, é possível criar um novo conjunto de regras ou gerenciar os conjuntos existentes.

<div align="left"><figure><img src="/files/dBd4TIEUVOQ7v13EXb9y" alt="" width="563"><figcaption></figcaption></figure></div>

* Outra forma de aplicar as regras de formatação é expandindo a pasta **"Campos"** e selecionando o campo desejado. Em seguida, as propriedades do objeto selecionado serão exibidas. Nessa aba, será possível aplicar as regras de formatação. Ao clicar no botão destacado na imagem, uma mensagem de confirmação será exibida, informando que as regras de formatação foram aplicadas.

<div align="left"><figure><img src="/files/EE9nhnxZW05Np8Owz2Jz" alt="" width="563"><figcaption></figcaption></figure></div>

* É possível clicar na *seta* ao lado do botão "Aplicar conjunto de Regras de formatação" e será exibido um **menu suspenso** com várias opções que permitem escolher exatamente o que deseja aplicar.
  * As duas primeiras opções — “Aplicar tudo” e “Aplicar nada” — funcionam como **atalhos** para marcar ou desmarcar todas as demais opções de forma rápida.
  * Por padrão, **todas as opções vêm marcadas**, o que significa que todos os atributos serão aplicados.

{% hint style="info" %}
É importante destacar que **clicar nas opções do menu não realiza a aplicação imediatamente**. O usuário está apenas selecionando quais atributos serão aplicados. A aplicação em si continua acontecendo quando clicar diretamente no botão principal "Aplicar conjunto de Regras de formatação" (sem usar a seta).
{% endhint %}

<div align="left"><figure><img src="/files/zW524aHrtMoK3dcZKwsw" alt="" width="563"><figcaption></figcaption></figure></div>

* Ao selecionar a opção de executor rápido é possível utilizar as regras de formatação.

<div align="left"><figure><img src="/files/obSmJ0hMncjzr4u6bIm8" alt="" width="563"><figcaption></figcaption></figure></div>

#### Comportamento na Ausência de Regras Definidas

{% hint style="warning" %}
Caso **nenhuma regra de formatação esteja definida** e **não exista uma regra padrão configurada**, o sistema aplicará automaticamente uma **regra interna**.

⚠️ **Importante:** Essa regra interna **somente será aplicada**:

* Em **novos campos criados** após a ausência de regras;
* Ou quando o usuário clicar no botão **"Aplicar regra de formatação"** manualmente.
  {% endhint %}

Os valores dessa configuração seguem as mesmas sugestões exibidas na tela de criação de uma nova regra de formatação:

<div align="left"><figure><img src="/files/nTlegEkqKqla7wCJNKBY" alt="" width="540"><figcaption></figcaption></figure></div>

Essa configuração interna garante que os títulos e campos sejam sempre formatados corretamente, mesmo que nenhuma parametrização explícita tenha sido feita pelo usuário, mantendo a consistência visual e funcional em todo o sistema.
