# Ações. Parte 1 - Reconhecimento de Nota Fiscal

Vamos considerar um exemplo de robô, que é a primeira parte do projeto e demonstra o trabalho com Ações no Orquestrador, como pode ser visto do lado do Orquestrador [aqui](https://docs.sherparpa.ru/pt/sherpa-rpa/sherpa-orchestrator/rabota-v-sherpa-orchestrator/ekrany/deistviya/primer-sozdaniya-deistviya-i-ego-nastroiki). Neste estágio, o robô reconhece os dados do documento pdf “Pedido ao Fornecedor 1.pdf”, após o que os dados obtidos são definidos como parâmetros da tarefa e essa tarefa é criada na fila especificada ($QueueGuid).

Ao criar a tarefa, é especificada a tag "1CNew" ($TaskTag). Além disso, nos parâmetros da tarefa, é fornecido um link para o arquivo pdf carregado no armazenamento ($StorageGuid).

A primeira parte do projeto do robô consiste em dois diagramas e um arquivo pdf.

Assim, se descrevermos passo a passo, este robô funciona da seguinte maneira:

1. Carrega o arquivo na pasta especificada, no armazenamento do Orquestrador.
2. Inicia o diagrama “ReconhecimentoDeDados”.
3. Cria uma tarefa no Orquestrador e a adiciona à fila especificada.

**O diagrama principal do projeto** é assim (para conveniência, os blocos do diagrama estão numerados):

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdsHqPG9wLH5ijAktbYb2nSOkgksiX8DNBBClhVnG3ROxWDQ3NTPFmgocj5G92KnUH7GV_7N-_l092y3VUYO4NRt2n5bCajzRSM-GNOwHxCdASBWgXbRGWgGoyO_Zl3Aweq3QOsqNGG_BPGXK4zL7ihkdel?key=seA-VcSXuVgZZHNoZg11MA" alt=""><figcaption></figcaption></figure>

1. **Bloco “Início”** (todas as diagramas começam a partir deste bloco).
2. **Bloco “Storage. Criar arquivo”** cria um arquivo pdf no grupo de arquivos selecionado. Para este bloco, as seguintes propriedades são especificadas:

* GUID/Nome do grupo de arquivos (GUID do grupo de arquivos (pasta) no Orquestrador, onde o documento pdf reconhecido será carregado);
* Nome do arquivo;
* Caminho para o arquivo (caminho para o arquivo no disco).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdjFcwwyRs1zkgIknpIUqD3BrW6JsKSfgDp2WJDxCl3vaIaNAATTGyw_RjhVcN_mAbmwTWZ_Yue817hlD5irsyW6juBewor4rw6-oNrSTcXohjdA63UQc1lKBH-kDA3dDY6amP6ZjwbcBzwCAwnzYmkhKc?key=seA-VcSXuVgZZHNoZg11MA" alt=""><figcaption></figcaption></figure>

3. **Bloco “Processo”** permite criar cenários compostos por vários diagramas. A execução do cenário continuará a partir do bloco “Início” do diagrama do projeto especificado. A execução do cenário retornará ao bloco atual e continuará no diagrama atual assim que o bloco “Fim” for alcançado no diagrama externo. Para o bloco “Processo”, é especificada a propriedade “Nome do diagrama” (nome do arquivo do diagrama, onde a execução do cenário continuará).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfizBIDUs5wsopSHda0hrSNPriAS7LorkuAuEKomcb60SrJDMpbVbQ1MnDQqxNWbrB3T92VT1PAmF1BUipXTKjhQQEYO-JR1z1Ul7atHEFqy8f1eNwL3O5GHwNGGGl3zxZ-ATNNKj-hEUXNZqjgbw0fmwer?key=seA-VcSXuVgZZHNoZg11MA" alt=""><figcaption></figcaption></figure>

4. **Bloco “Adicionar tarefa à fila”** cria uma tarefa e a adiciona à fila. Para este bloco, as seguintes propriedades são especificadas:

* GUID/Nome da fila (GUID da fila no Orquestrador, onde a tarefa será adicionada).
* Nome (nome da tarefa que será adicionada à fila selecionada no Orquestrador);
* Parâmetros (parâmetros da tarefa que serão definidos após o reconhecimento dos dados do arquivo pdf);
* Prioridade (prioridade de execução da tarefa);
* Lista de tags (tags da tarefa a ser adicionada à fila);
* Tempo de espera (tempo de espera pela resposta do servidor em segundos).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd_z1XMqoXAzc4CRcJFnWXZ7XyrE-Wl_uq0oCacMUrapFRUcFFknC6fMdJ0Sx9zPbLA9mvtbJTtPMNr4sCcV2eXNNEKXe4Itonz3QGqB3qum_hD_nJVhDWHRcUus9i_ItGYFcjGixVr-Jn6LuxrVXqqtnRB?key=seA-VcSXuVgZZHNoZg11MA" alt=""><figcaption></figcaption></figure>

5. **Bloco “Fim”** (este bloco encerra a execução do cenário ou retorna o diagrama do subprocesso ao processo principal).

**Diagrama “ReconhecimentoDeDados”**

<br>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcrLDZs83DoFtGLDKPf9kBJMfNtQs0fhk5A8UlS3c9i8i7i6izjgcEaP5uQVOIp2iNIx7M7U-s7r-rNXHxXGO2UmXvwTLpcrq03drQyIVY_dbsKpiYwRpA7xpa3Cp9uFJtraHmJMGZnYeZB62zwQYP7T34S?key=seA-VcSXuVgZZHNoZg11MA" alt=""><figcaption></figcaption></figure>

1. **Bloco “Início”** (todas as diagramas começam a partir deste bloco).
2. **Bloco “Reconhecer por modelo”** permite reconhecer o documento por um modelo previamente criado no [Modelador](https://docs.sherparpa.ru/pt/sherpa-rpa/shablonizator). Neste bloco, as seguintes propriedades são especificadas:

* Caminho para o arquivo;
* Caminho para o arquivo do modelo (caminho para o arquivo do modelo para reconhecimento).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfzrGz4zskniiUAmSjiSUOyBw1fHgSahdJIP8rXNg9pao-hHxpwDp9h6X_7cAqWa-XBDFAGCIDLl76Ui3n-quZRkJSowarvK8Bbn7qEsOFE9qOoFV1vRep5h1s8lfQmPQdfz3M0iJaDQDn5xATrdtM-xOU?key=seA-VcSXuVgZZHNoZg11MA" alt=""><figcaption></figcaption></figure>

3. **Bloco “Atribuir valor à variável”** define novos valores para uma ou mais variáveis. Neste caso, nas propriedades, são especificados dois valores que devem ser atribuídos às variáveis.

Neste caso, as variáveis especificadas são os valores das células “Fornecedor” e “Pedido”. O valor da variável “Fornecedor” é atribuído a partir do dicionário de atributos pela chave "Executor". O valor da variável “Pedido” é atribuído a partir da chave "Pedido".

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcjEIl2E_xYfw7ics1wWxAlgv5SJMd_JEMyC_zMv4b_vun1aczzJV0QdAckzm9b0AYw7vbS-P5agEvDbgDU-zv7cEb9MKnsZys4PJ8Fp6BWvedZpK0iMBdLm6anV_RRhGRu2kLjesrHdfpH--IFbnbx_OSH?key=seA-VcSXuVgZZHNoZg11MA" alt=""><figcaption></figcaption></figure>

4. **Bloco “Ciclo para cada”** itera sobre todas as linhas da tabela de dados.

   <figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe8L9rjRdOFnROXlZ8et_Lzx70w61uaOrPSf9TsYAQvjB8LbzWLHmMn7rgivvE7YimbN6L0FYYl-LR-fgEYPtgTGzEKRxyF1EPMGGuYf0oSlHpQUovUq1zs6RTd-bWfKPVyPBvF1XzUSLsz-lk1nXB15D7R?key=seA-VcSXuVgZZHNoZg11MA" alt=""><figcaption></figcaption></figure>
5. **Bloco “Log”** permite registrar mensagens arbitrárias e/ou valores de variáveis durante a execução do cenário do robô. Neste caso, são utilizados três desses blocos, para os quais é especificada a propriedade “Valor” (para cada um dos blocos, um próprio) e o nível da mensagem ao enviar o log para o Orquestrador. Entre aspas, é especificada uma constante de texto, e o nome da variável começa com o símbolo $, indicado pela variável. Ou seja, neste caso, o log do robô registra mensagens sobre o reconhecimento de dados do “Fornecedor”, “Pedido” e “Produtos”.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf3n0PaFWOFWPjoMkTuJgTaa-MflntCAKZspQPD2Xqes6NZTtEN1Ge-Osplpaj0jCI7cEd5ciNWdTzfuX67rAfbxgoUmO6p6BPb1aGRyf6dVVTsbtBGznd2NXjBCFzuKbfdg0sR7Dil25uKZmePRnumeNPY?key=seA-VcSXuVgZZHNoZg11MA" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcrU5Rbtq2rXYJ5l0MbipRy-2oq0za4zY0My1271r6CQk21aKLPaU2OWN_AFhpzkeuY_sreP1annWh7KP1nL0OGZJkIw0GpLdwlQ-YkJ9fwaj9gt1ZuFRyAWOpLP4VaaRfnRZdlRVGaPB_T4CSswFV9YktD?key=seA-VcSXuVgZZHNoZg11MA" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd_P-KwQyUvwIuGzyTyHeXvwViTGaQP86LdZCSzE75BmsWzMg0jHcP_wvYR5XvE1DXfg7PSCUU4ryNDNT6lqcvyAxYNaEvwPZUIwTrkM-zO1faEA187PgKJLhKEN3WB_xT6_eOTxTtgok7iy7_zARZKjLnN?key=seA-VcSXuVgZZHNoZg11MA" alt=""><figcaption></figcaption></figure>

6. **Bloco “Atribuir valor à variável”** define novos valores para uma ou mais variáveis. Neste caso, os valores das colunas são obtidos e atribuídos às suas variáveis.

   <figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcod0XjQKKYkWYVOlS4QtxEOA6nqhZcTaeSguJnT_coWouNIU_YVYjU8XB9bKEe34QSDWbpL3sD5WX_nFBeJHqnoX7x_ubZUbT5_y2KwLJsxGmJA1EElWXla87pTlfRWtB9uu7x8IqcvaHfIuSm7WrwfF78?key=seA-VcSXuVgZZHNoZg11MA" alt=""><figcaption></figcaption></figure>
7. **Bloco “Adicionar linha”** permite adicionar uma linha à tabela de dados. Neste caso, as seguintes propriedades são especificadas:

* Tabela (tabela de dados à qual a linha é adicionada);
* Valores (lista de valores da nova linha);\* Número da linha (retorna o número da linha adicionada, a numeração começa em 0).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXevzHQrKoH3DAf3oAclDKvp1g-2MlNaXKwLNcO_YIWtuz81Zppg-rBPm7SJB8fPDYX1SEExXDhxBkYKQZIJNnXULZrW_iyzMs0T-XoDHs74V6KN3lc1gWkfFtTVSaABXpRjIueFDSOqrW_kk27h1cmxNZWE?key=seA-VcSXuVgZZHNoZg11MA" alt=""><figcaption></figcaption></figure>

8. **Bloco “Fim”** (este bloco finaliza a execução do script ou retorna o diagrama do subprocesso ao processo principal).


---

# 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://docs.sherparpa.ru/pt/sherpa-rpa/sherpa-designer/primery-robotov/actions/actions.-chast-1-raspoznavanie-prikhodnoi-nakladnoi.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.
