> For the complete documentation index, see [llms.txt](https://docs.roboteasy.tech/studio/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboteasy.tech/studio/geral-1/rotinas.md).

# Rotinas

As rotinas são uma forma de organizar o código do robô em grupos, de forma que fique mais fácil a manutenção e o entendimento do que cada grupo faz.

Elas ficam no canto inferior esquerdo da tela, logo abaixo da lista de objetos:

| <img src="/files/aHyHNKM69b6Bbg6kHiKl" alt="" data-size="original"> | <ol><li>Modo de Visualização de Rotinas</li><li>Importar Rotinas Externas</li><li>Adicionar uma nova Rotina</li><li>Exclui uma Rotina Selecionada</li><li>Rotina selecionada (fica com o nome em azul).</li><li>Mais opções</li></ol>                                                                                            |
| ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <img src="/files/mZukPXHHohVy8fEzfZcj" alt="" data-size="original"> | <p></p><p>Em mais opções:  </p><ol><li><strong>Editar</strong>: edita a rotina selecionada.</li><li><strong>Adicionar subrotina</strong>: adiciona uma subrotina a rotina selecionada. </li><li><strong>Exportar</strong>: exporta a rotina selecionada </li><li><strong>Excluir</strong>: exclui a rotina selecionada</li></ol> |

## Adicionando uma Rotina

Veja como adicionar e preencher corretamente as informações de uma rotina:

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

1. É o identificador da rotina, não pode ter caracteres especiais e espaços.
2. O título é um identificador amigavel, pode conter caracteres especiais e espaços.
3. É o tipo de retorno da rotina, caso ela possua um.
4. Marcar caso o retorno da rotina seja uma lista.
5. Marcar caso o retorno da rotina seja uma tabela de dados.
6. Descrição é utlizada para anotar o que a rotina faz.
7. Serve para adicionar parâmetros de entrada para rotina.
8. Serve para adicionar parâmetros de saida para rotina.
9. Salva a as alterações.

### Inclusão de Parâmetros

<figure><img src="/files/7pSmuaqdZyWt3a986Hcn" alt=""><figcaption></figcaption></figure>

1. Adiciona um parâmetro.
2. Nome de identificação do parâmetro. Não pode conter espaços e/ou caracteres especiais;
3. Tipo do parâmetro que deseja receber ao chamar a rotina;
4. Valor padrão para um parâmetro. Quando utilizado, deve ficar em último na listagem e quando chamado na rotina, [não é obrigatório a passar esse parâmetro;](#user-content-fn-1)[^1]
5. Marcar caso o parâmetro seja uma tabela de dados.
6. Marcar caso o parâmetro seja uma lista.
7. Marcar caso o parâmetro seja obrigatório.
8. Exclui o parâmetro.
9. Os parâmetros podem ser reordenados

{% hint style="info" %}
As configurações para os parâmetros de saída são iguais ao de entrada, exceto pelo check "Obrigatório".
{% endhint %}

## Numeração de Rotinas e Sub-Rotinas

Veja como numerar e reordenar as rotinas e sub-rotinas

### Configuração:

<figure><img src="/files/Mja5f18pCmIXNdvMrCob" alt=""><figcaption><p>Aba IDE -> Configurações</p></figcaption></figure>

| <img src="/files/vk1g4A5a7O7EKWHaz7xK" alt="" data-size="original"> | <p>As rotinas sempre serão indicadas por números inteiros e as sub-rotinas, por níveis. </p><p>No caso da imagem, o item 1. possui os níveis 1.1 e 1.2 </p> |
| ------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |

### Reordenar Rotinas e Sub-Rotinas

Para reordenar as rotinas, basta arrastar a rotina ou sub-rotina para onde deseja&#x20;

<div align="center" data-full-width="true"><figure><img src="/files/DSWJAZMLXpuWKwvrDIOh" alt=""><figcaption></figcaption></figure></div>

{% hint style="warning" %}
Não é possível fazer com que uma rotina se torne uma sub-rotina e vice-versa.
{% endhint %}

{% hint style="warning" %}
As sub-rotinas da rotina 0- Inicio não podem ser movidas para outras, da mesma forma que sub-rotinas de outras rotinas não podem ser movidas para a Inicio.&#x20;
{% endhint %}

## Utilizando Rotinas

* Para utilzar uma rotina ou subrotina criada basta utilizar os objetos [Chamar Rotina](/studio/geral-1/objetos/blocos-de-comando/chamar-rotina.md) ou [Chamar Rotina com Validação](/studio/geral-1/objetos/blocos-de-comando/chamar-rotina-com-validacao.md).

## Importar e Exportar Rotinas

As opções de Importar e exportar rotinas servem para reutilizar as rotinas entre projetos.

**PASSO 1**: Exportar uma rotina, a exportação cria um arquivo do tipo "FunctionRobotEasy".

<figure><img src="/files/hiy1i56pgAazLxxf9TWm" alt=""><figcaption><p>Exportanto a rotina</p></figcaption></figure>

**PASSO 2:** Abrir outro projeto, e importar a rotina exportada anteriormente através do botão de importar rotina.

<figure><img src="/files/oNjKEXPRkGmgqRZ1HTfq" alt=""><figcaption><p>Importando a rotina</p></figcaption></figure>

[^1]: Não entendi isso
