> 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/geracao-automatica-de-documentos/como-configurar-um-template.md).

# Como configurar um template

A utilização da funcionalidade de Mail Merge (*Mala Direta*) no software Microsoft Word permite criar templates de documentos que, depois, serão automaticamente preenchidos com valores informados nos formulários de instâncias de solicitações.

## Requisitos de configuração de um template

Para o documento poder ser utilizado como um template junto ao sistema, é necessário:

1. Que o documento esteja no formato DOCX (não há suporte ao formato DOC);
2. O documento deve possuir marcadores que remetam diretamente aos identificadores dos campos do formulário da instância da solicitação;
3. Os marcadores deverão estar entre duas tags obrigatórias: a tag de início TableStart:form e a tag de fim TableEnd:form, **sendo permitido a inserção de vários marcadores (campos) dentro de um par de tags de início e fim.**&#x20;
4. O documento deverá ser armazenado no servidor onde está instalado o sistema.

### Como criar e configurar um documento com campos dinâmicos

Para criar um novo template de documento, siga os passos a seguir:

1. Abra o Microsoft Word e crie um novo arquivo em branco;
2. No teclado, digite CTRL + F9. Você verá que um conjunto de chaves, com conteúdo vazio, aparecerá. Significa que está pronto para ser configurado.
3. Posicione o cursor do mouse bem no meio do conteúdo vazio das chaves e escreva:\
   &#x20; MERGEFIELD TableStart:form \\\*MERGEFORMAT
4. Repita a operação, apertando CTRL + F9 novamente. Nesse conjunto, entretanto, escreva MERGEFIELD TableEnd:form \\\*MERGEFORMAT
5. O resto do documento deverá ser configurado entre essas duas tags. Para o documento ser preenchido com um valor informado na solicitação, digite o **identificador** do campo do formulário. O nome digitado deve ser exatamente igual ao identificador.<br>

   Seu resultado será:

```
{ MERGEFIELD TableStart:form \*MERGEFORMAT }

Nome completo: { nomeCompleto }
Endereço: { endereco }
Estado: { estado }

{ MERGEFIELD TableEnd:form \*MERGEFORMAT }
```

{% hint style="warning" %}
**Importante:** simplesmente digitar "chaves" no MS Word e escrever o identificador do campo no meio deles **não** irá funcionar. Você **deve** seguir o procedimento acima, criando os colchetes com CTRL+F9.
{% endhint %}

Visando te ajudar ainda mais na configuração do template, compartilhamos abaixo um modelo DOCX com os marcadores configurados:

{% file src="/files/hc9iHKfT46RL8LZDPXB7" %}

***

### Como configurar campos dinâmicos no cabeçalho e rodapé do template

Para inserir dados em um cabeçalho ou rodapé no template, siga os passos a seguir.

1. Clique duas vezes sobre o cabeçalho ou rodapé para editá-lo;
2. Repita a operação especificada no capítulo **Criar e configurar documento**, ou seja, você irá adicionar duas novas tags, de início e de fim, dentro do cabeçalho ou rodapé;
3. Entre as tags de início e de fim do cabeçalho ou rodapé, inclua novos campos dinâmicos seguindo o exemplo do capítulo  **Inserindo campos dinâmicos.**

```
{ MERGEFIELD TableStart:form \*MERGEFORMAT }

Cabeçalho { nomeCompleto }

{ MERGEFIELD TableEnd:form \*MERGEFORMAT }

- - - - - - - - -
{ MERGEFIELD TableStart:form \*MERGEFORMAT }

Nome completo: { nomeCompleto }

{ MERGEFIELD TableEnd:form \*MERGEFORMAT }

- - - - - - - - -

{ MERGEFIELD TableStart:form \*MERGEFORMAT }

Rodapé { nomeCompleto }

{ MERGEFIELD TableEnd:form \*MERGEFORMAT }
```

{% hint style="warning" %}
**Importante:** simplesmente digitar "chaves" no MS Word e escrever o identificador do campo no meio deles **não** irá funcionar. Você **deve** seguir o procedimento acima, criando os colchetes com CTRL+F9.
{% endhint %}

***

### Como configurar um campo de imagem em um template

Para inserir imagens que são anexadas ao formulário no seu template de geração automática de documentos, siga os passos abaixo:

1. No documento template, posicione o cursor onde você quer incluir o condicional;

{% hint style="info" %}
Para inserir um campo de imagem, você deve OBRIGATORIAMENTE selecionar um espaço fora de uma tag já existente. Ou seja, a tag com o campo de imagem deve ser exclusiva para este fim.
{% endhint %}

2. No Menu do Word, clique em "Inserir" > "Partes rápidas" > "Campo" e selecione a opção "INCLUDEPICTURE", selecionando as opções de "dados não armazenados com o documento", redimensionamento e preservar formatação;

<figure><img src="/files/dRcjwLN8yWuW5w3Df4hz" alt="" width="563"><figcaption></figcaption></figure>

O código gerado automaticamente será exatamente esse:

```
{ INCLUDEPICTURE \d \x \y * MERGEFORMAT }
```

4. Por não haver certeza do tamanho da imagem que o usuário anexará ao formulário, vamos inserir uma tabela 1x1 para que a imagem fique contida nesta delimitação. Faça da seguinte forma:
   1. Leve a tag para dentro da tabela;
   2. Ao lado de `INCLUDEPICTURE` pressione CTRL + F9, abrindo uma nova tag e insira o \
      `{ MERGEFIELD TableStart:form \*MERGEFORMAT }` ;
   3. Ao lado dessa tag, pressione novamente CTRL + F9 e cole o IDENTIFICADOR do campo com o link da imagem. **Aqui é importante salientar que o campo precisa conter o link do OpenUrl da imagem**;
   4. Após inserir o link da imagem, aperte CTRL + F9 e feche a Table com um \
      `{ MERGEFIELD TableEnd:form \*MERGEFORMAT }` ;
   5. Certifique-se de que todo o código está organizado e dentro da tabela. O código final será próximo a:

{% code overflow="wrap" fullWidth="false" %}

```
{ INCLUDEPICTURE { MERGEFIELD TableStart:form \*MERGEFORMAT } { identificadorLinkImagem } { MERGEFIELD TableEnd:form \*MERGEFORMAT } \d \x \y * MERGEFORMAT }
```

{% endcode %}

6. Configure a tabela deixando suas bordas transparentes, centralizando e dispondo o texto ao redor

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

Caso você deseje inserir novos campos do formulário no seu template, basta inserir as buscas dos campos após a tabela.

{% embed url="<https://youtu.be/p91D-tv-ZGU>" %}

{% hint style="info" %}
Note que as chaves só funcionarão com o uso do CTRL + F9. Se você inserir as chaves manualmente, **o template não funcionará corretamente**.
{% endhint %}

{% hint style="success" %}
Você PODE criar um template sem o uso da tabela. Aqui utilizamos a tabela para redimensionar a imagem.
{% endhint %}

***

### Como configurar um condicional IF em um template <a href="#como-configurar-um-condicional-if-em-um-template" id="como-configurar-um-condicional-if-em-um-template"></a>

Para configurar se um determinado texto ou objeto deve aparecer, ou não no documento, siga os passos abaixo:

1. No documento template, posicione o cursor onde você quer incluir o condicional;
2. Aperte CTRL + F9 no teclado. Você notará que os parenteses surgirão;
3. Dentro dos parenteses, escreva exatamente:\
   \
   `{ IF CAMPO OPERADOR VALOR VERDADEIRO FALSO \* MERGEFORMAT }`<br>
4. Vamos agora substituir cada uma das partes dessa fórmula.
   1. No lugar da palavra **CAMPO**, incluiremos uma referência ao identificador do campo do formulário. Ao contrário do que foi visto antes, dentro de um teste IF não é possível somente apertar CTRL + F9 e incluir o identificador do campo, como fizemos antes. A sintaxe é um pouco mais complexa. Aperte CTRL + F9, dentro dos novos parenteses que irão surgir, escreva MERGEFIELD identificador \\\* MERGEFORMAT. Se seu identificador é "nome\_cliente", o resultado será algo como:\
      \
      `{IF {MERGEFIELD nome_cliente \* MERGEFORMAT} OPERADOR VALOR VERDADEIRO FALSO \* MERGEFORMAT }`<br>
   2. No lugar da palavra **OPERADOR**, coloque o operador de teste que você quer usar. Por exemplo:\
      \
      `{IF {MERGEFIELD nome_cliente \* MERGEFORMAT} = VALOR VERDADEIRO FALSO \* MERGEFORMAT }`<br>
   3. No lugar da palavra **VALOR**, escreva, entre aspas duplas, o valor que você irá testar. Por exemplo:\
      \
      `{IF {MERGEFIELD nome_cliente \* MERGEFORMAT} = "ZEEV" VERDADEIRO FALSO \* MERGEFORMAT }`<br>
   4. No lugar da palavra **VERDADEIRO**, escreva, entre aspas duplas, o valor que você quer que apareça no documento caso o teste seja verdadeiro. Por exemplo:\
      \
      `{IF {MERGEFIELD nome_cliente \* MERGEFORMAT} = "ZEEV" "É A EMPRESA" FALSO \* MERGEFORMAT }`<br>
   5. No lugar da palavra **FALSO**, escreva, entre aspas duplas, o valor que você quer que apareça no documento caso o teste seja falso. Por exemplo:\
      \
      `{IF {MERGEFIELD nome_cliente \* MERGEFORMAT} = "ZEEV" "É A EMPRESA" "NÃO É A EMPRESA" \* MERGEFORMAT }`

Se você desejar, pode usar o mesmo recurso acima para, por exemplo, mostrar ou esconder imagens. Nesse caso, simplesmente substitua as palavras VERDADEIRO e FALSO pelas imagens que você deseja mostrar. É importante que as imagens estejam entre aspas. Veja exemplo abaixo:<br>

<figure><img src="/files/M2MmSmrUrRJIlvxgACxH" alt=""><figcaption><p>Exemplo de marcador IF para exibir imagem conforme dado preenchido em campo.</p></figcaption></figure>

### Demonstração prática

Confira nos vídeos abaixo uma demonstração da configuração e uso de um template:

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

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