# 1C Nota Fiscal de Entrada

Vamos considerar um exemplo de Robô que cria uma nota fiscal de entrada no programa 1C. Os dados de entrada para este projeto são o arquivo “Pedido ao Fornecedor”. Para o funcionamento correto do robô, é necessário iniciar o aplicativo 1C previamente.

Este projeto demonstra a carga de dados de um PDF ou de um Excel. Para ver como funciona o trabalho com PDF, você deve conectar os blocos "Iniciar Processo" e o bloco esquerdo "Obter Caminho do Arquivo".

Para verificar o funcionamento da carga de um arquivo Excel, você deve conectar os blocos "Iniciar Processo" e o bloco direito "Obter Caminho do Arquivo".

O projeto do robô consiste em quatro diagramas e dois arquivos: pdf e xlsx. Para carregar dados de cada um dos arquivos, há um diagrama específico.

**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_4nXfRuUaxDRdDisSHdfgoUxYfIUU9WgqJxDblhVkC2bf3OmNe9wn4AlrzAoUJ_6L0fJPkzUNgqLVALoRzz4rik0aRpBafFFdhcMGI3Jzw9GYAeflQpppP9xPdRxbv6Ddac5gLMebDqtb-cdNfr1zV4k071qA?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

1. **Bloco “Início”** (este bloco inicia qualquer diagrama).
2. **Bloco “Iniciar Aplicativo”** inicia o programa 1C. Para este bloco, as seguintes propriedades estão especificadas:

* Caminho para o aplicativo (caminho para o aplicativo a ser iniciado ou nome do aplicativo padrão, por exemplo, cmd.exe);
* Parâmetros (parâmetros da linha de comando necessários para iniciar o aplicativo);
* Aguardar início (pausa a execução do script até que o aplicativo especificado seja iniciado); Tempo de espera (especificado em segundos e ignorado se a propriedade “Aguardar início” não for selecionada).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfVpFUeaNW8Gp9ZYwVyL3qYxFkFICKiRMbjSKwYtireAh57QRasTYMfgOLa7bkQyJyDCrpIj6c3_t_Rc8bo_uslQHkvrYFqnw-Zl4sSukSKr_kZtg_nwSy3O3JhPAu3XurDn8_YhdZPvntDStTIWI4Enf4?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

3. **Bloco “Obter Caminho do Arquivo”** obtém o caminho completo para o arquivo com o nome especificado. Para esses blocos, as seguintes propriedades estão especificadas:

* Caminho para a pasta (caminho para a pasta onde o arquivo necessário está localizado; se a propriedade estiver vazia, será utilizada a pasta onde este projeto está localizado);
* Nome do arquivo (nome do arquivo junto com seu formato).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdvb_bo-7_hEsCc9eysT-S4JwU2XFm7D8Z4RHgRgfS46_2_SwZ1Z8f--xLqSMXGoAdkSvih7JKWwFO4gr2UiwC_r3toA0Q2CKUdV5v9KLa9Te4sGaPgiVUQxaAsoqw8iaBeQikthUcxNauMGJjfY06sZFUp?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeSw-8PoKHlz53v-UahlSZ8-xlkusgpOACvlOIeGdbh2EmWw9S7gUucCf9IhsEgRksW_ChlT9XnjiVYMGc6JqiHF9KHxqTCOOy_XI0almc5ZYA7wNQU1gSiqd7jdoE3qpaYmlqNdX7cByd0nJCzvr57Y2UV?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

Neste caso, foram utilizados paralelamente dois blocos “Obter Caminho do Arquivo”: um para o arquivo no formato pdf e outro para o arquivo no formato xlsx.

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

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXewVCwz9TQFahJkqgaiBsf6CpPcWLqqP66QRiZVMOubPRPL0HlPndl4hseSuIRxMtuWTSuLPSLrd6VYShcoChxkW2FJkDZXq9q26WAcuoXW7OeXmR-d9AR1kMkkbzrLECiVgV_PH1rV2uR4o_IF8TO-Sdsh?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXesoikbsgIihAOsLM8ObWxIAwxH1agH_2xK1mLlg7uJGS4711HGB7PuZKfWr7FuYvcYtmU782G_LSuRDSE5Sjie4u_nFhL13h_czS8_7KsTmlEczdJ8ku79OfreGhsKgP68cIZ0Rba7eZlKswamGLIBa-U-?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

Neste caso, assim como acima, foram utilizados paralelamente dois blocos “Processo”: um para carregar dados do arquivo pdf e outro para carregar dados do arquivo xlsx.

5. **Bloco “Processo”** localizado abaixo permite criar mais um script, que é comum para os dois scripts descritos acima. Este processo é responsável por adicionar a nota fiscal no 1C. Para o bloco “Processo”, aqui também está especificada a propriedade “Nome do Diagrama” (nome do arquivo do diagrama onde a execução do script continuará).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe8TspCJSjR_MtLFNO56t6bVD1MvoHvlmHco6dNnafxBWiOYobf0z7z0065bpPppX2ipVt2b2VsWhDq1exL1ue7UhwjRtDJkVgOdUMXfu__Ynu6OThHgNfH16tI8F7kXVqOxez7HczP70HpO-SNgxaD6Yrz?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

**Diagrama "Carga de Dados do PDF"**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeQnksFiB2Xnzz3IgA-l6ilUya-5i385SrEKJhrMXJg0iu4la8kPI2IyHAnY8rIkC8a3AWBYsc6g6qW9_1XlzK16x-Xi0FRUiAT8XK1I34cdqPL4p78a_1GaAg3cZpmdBDbOn7NgGAjAB_qCBL0Hf59rCwP?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXfkaoOiDjZ0pyWdTnixBKovBvKoePVBlfG_YRSRhRudG0EB1gV0FKvk_c0FH6p8tQpHTnCDPOtBZ7UapPE2GEwx-VPQQVaKOnQg0m-aN8dhajZ0z9gW9Emyswl2NQjgxQC0phdB2XA6wiVcSuR62_npAmKj?key=AmI7nHoqQRm-An8sktOWcA)

1. **Bloco “Início”** (este bloco inicia qualquer diagrama).
2. **Bloco “Log”** permite registrar mensagens arbitrárias e/ou valores de variáveis durante a execução do script do robô. Para este bloco, a propriedade “Valor” está especificada. Entre aspas, está uma constante de texto, e o nome da variável começa com o símbolo $. Ou seja, este bloco registra no log do robô uma mensagem sobre a carga do arquivo selecionado, especificado por meio da variável.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeDI6onnBIHYQNBK3g5ndVy2Bvw4hLFwuP1qS8_HjIrgRK3q5AHqx6B3RZNwwpRnTEIOxpRd3ojnkmmNVl-HNcIWj0CVqpt7MLbUJcobKlVGGMK3SnPRDkg0rIZmovoEbe5MD0mO69Z5AwqPdvT_-27iDeL?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

3. **Bloco “Executar Expressão”** inicia a execução de uma ou mais expressões em uma linguagem compatível com PowerShell. Neste caso, são utilizadas duas expressões.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcWIu8B4ZwR-tKLv-ai3Y7oAN4Dq2br3y_YVQM0gaj4YMDM4IEb-_dEoLi1l3lwoUuMzsEK57y7HfTS_f-Z0R2OzVjjxFnU73O08lI4ySl5zEx4aSA7kL5vN1OgyFyeb-biyex89EnyyKvp7HvGwriiYL-6?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

4. **Bloco “Extrair Tabela”** permite extrair a tabela especificada de um arquivo pdf. Para este bloco, as seguintes propriedades estão especificadas:

* Nome do arquivo;
* Número da página (número da página a partir da qual o texto da tabela será extraído);
* Número da tabela na página (número da tabela na página, da qual o texto deve ser extraído).<br>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfw9PtDoCtSOf2BkuqjRmPZCh9FpYtbdHetJD4PR9p15PiR4xJQ2WVZJxAuTTHRugqjlDN0tVyiQvXdN4OucIEzOhB7hufKIuvGglWm7r77Fj7reK9ZsYwhx07kXRPlHh2PZ7rpkRcVxCqWMqRDdJCZy4VE?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfrNWT_m5eIhe6A87X2gOjiysz2xJ5Ij-Tb-RHE9ldkzcC-id-sOqUeOQamJyTh6agHu01F9mWMuRArD5miMDMIfozLifN_WcN-1lQtwETNQqdBlliuhvBj0cokZfBWEzU_Ebz7ysGZMvUesq9iPAyjv4k?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

5. **Bloco “Obter Texto da Página”** permite ler o texto da página especificada do arquivo pdf. Para este bloco, as seguintes propriedades estão especificadas:

* Nome do arquivo;
* Número da página (número da página a partir da qual o texto será extraído);
* Resultado (retorna o texto extraído da página).

  <figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf8qVX9uwNvzTgVcNNFDfhaZSjfQdUKfxzZkqIRbiPEKVpmdS7Bs0TzQ7wz6IIk5js8a3wIeWXTczLCJG9wqNAeGr237va3eOGJSQFuxapopxRd0rA9VHa6ndz8At0mc0Z2FspRxfJQYk-4D6fN38TXPblD?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

7. **Bloco “Encontrar substring entre duas substrings”** permite encontrar em um texto uma substring que está entre duas outras substrings. Deve haver tantos blocos quanto substrings forem necessárias encontrar. Neste caso, são utilizados dois blocos “Encontrar substring entre duas substrings”: para a substring “Executor” e para a substring “Pedido”. Nas propriedades dos blocos estão especificados:

* Texto (string de entrada);
* Parte esquerda (substring esquerda procurada);
* Parte direita (substring direita procurada).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcZpjCwWcnmgU211YbgbAe5dK-dm-6ZozrVbmV5AeDf8WJDxAjh6QhCICQ2xwYCejof9ysbXfnWUsaZWm_mq2wiAjUHu9WbMi_wp7BKmKb5l4sbj1XrxwM3Zvpjt2RB0cFgZYKu0NGkRlsuJWt0ecYNEF4?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc7GqMV7ebqvR8UbYh0eC7Tn-hVoHSCKqBDxhzJ3VjUSksf2k_VT3_NUZtGTx6D_zF2Cpy6nK7_np3_zfcIByjFtDm2Egp5wyoZtQJBmDL7nnssUs1Tsb1QpZhFEn60zeOLoj4HecIAR1PsesxCiNSblKk?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

8. **Bloco “Condição”** verifica a condição especificada quanto à veracidade, após o que a execução do script continua na direção da saída “Sim” (se a condição for satisfeita) ou na direção da saída “Não” (se a condição não for satisfeita).

A condição é escrita no formato: “variável” é igual (==)/ maior (>)/ menor (<) “valor”.

Por exemplo: $a == “Olá”, ou seja, se o valor da variável $a for igual a “Olá”, então a saída é “Sim”, caso contrário – a saída é “Não”.

$Result > 5, ou seja, se o valor da variável $Result for menor que 5, então a saída é “Sim”, caso contrário – a saída é “Não”.

Neste caso, a condição estabelecida é: $Row \[0] == $index, ou seja, se o valor da célula 0 for igual à variável $index, então a saída é “Sim”, caso contrário – a saída é “Não”.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXequltaOe8VZlqkmgkMuH1JjBfRd6krz36JXW51JiXMeQ4jc6u4-TVdcxQrDfmDYjRxn8FUUCa8AmYm3tw-HpEQK1ViptlknwVcbEPScPZGyDNwjkTB6OQOMxjzIcPS2z55zkMN3lJeAA795tPyjEhBQkQI?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

9. **Bloco “Adicionar linha”** permite adicionar uma linha à tabela de dados. Neste caso, as seguintes propriedades estão especificadas:

* Tabela (tabela de dados à qual a linha é adicionada);
* 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_4nXcBl5iY6eXWcUbUoParysO8qGCsAZwMTtdryW6NwSNFQp9SYUPcs0sFVMXaaWFGLIHRYi2TvcnAHgf7A0cKI0U1Y6gF8r5hThy-mGXD-0xd3QP-Ipp9HANDhoK_QIJgaLHKH7lYZGdJm3C2-ff5ZX-tiLw?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

10. **Bloco “Gravar valor na célula”** permite gravar um valor em uma célula da tabela de dados. Neste caso, são utilizados três blocos desse tipo para diferentes variáveis: $Row\[2], $Row\[3] e $Row\[5].

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfDrH_WXvfCXTKe11UT29pGKJFwJcKLioed2vM2iBJNDKDI0lKqe1cs0_BAu1GPNi3fkurZGmUDJDJ9gWvCkjtzsTb3LFOJCEeMpNNB-83CaJ0WFotOCvtwN3FbyfkSrxqyyUuPEW44zE9Qu9FRWraPwUY?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf_2Txr5HdDENIARh2Ny58mjtePkIBuXXH5UorkSjVS3ugLzUCLRuhPMB6-C9VjY3TLITjP5bsE31VHA2pcyVJX5H_uhEx9n-ojoNhxcZaJOSBVuIoBQJPyF_nFZ3AZe92BpmsOc8imOXqzZeEzRtehexQK?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc52N7acGlE90pWhKFECVM7obah9GUXuDz39aMo8nnschfPTTJD0Ji0RtDoQB1W-V-KkfV9Oyhb4UmcylQAyCTMSc0rbXPdgXdmsIe9t6p8aiVKZ9wMgYq9Xo_9K50bid7gm2cuqy0Xgrtum7Vv5Y4BMyFT?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

11. **Bloco “Executar expressão”** inicia a execução de uma ou mais expressões em uma linguagem compatível com PowerShell. Neste caso, é utilizada uma expressão.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfZiNAyIML6b8IjXkDjUb9n5-Ox85CsyzwfL0QTpO7wp_zK6idOEyosEhYZgAtIWzENP4h6P-r6_5KH-q-4_LWVz2bYzxK6_mUFcPkP4rU2cd2_2e5Zz913gf_zvAX0GVbN_jIGBpCB24S4_F2UwY8bkaGa?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

12. **Bloco “Executar expressão”** inicia a execução de uma ou mais expressões em uma linguagem compatível com PowerShell. Neste caso, são utilizadas duas expressões.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeClTmGJBo1xztuOMQ-y2XxP3f84SV4Uu4PiYjesqykTWcewTuHWI-GyWY_SQm1P8hfG5-opTKIsFNxxam06Sxnrohib6XnKYwOc8LfsPDEj4r-sskyGwFqC7eeF4bgWvJMVKdcHcjfwBvZg3wGWGNJzKeg?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

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

Diagrama "Carregando dados do XLSX"

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdohXtRjpKtoBbc74ngbGmNyu3px0T9l6N9pZTUhM10xW2TWRAnm1s54ddHiMUAz4C8Cmiw5Esy8P8Izku8i9_6SpqQmqn1i6lvGIWl0k5YIRPVfCK72ynZWqFnK5n-rufd2L96vH7uSzb34QjXQuhRQz8g?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

<br>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdHrH25UBlyc0w0FX0g6O8FZNX--o7McX_9FgEsIRiLmrpo24H95OvkUn7BQ_B_5uO1gIpZt-TAr8lu2SJsBdbqRC3POdkwxqSjD9RGr2Pzu34zuwFTmyGdX0sO9QojFtBtCmjWALYdIZqMaFf2P08ts_Uu?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

1. **Bloco “Início”** (a partir deste bloco começa qualquer diagrama).
2. **Bloco “Log”** permite registrar mensagens e/ou valores de variáveis no log durante a execução do script do robô. Para este bloco, a propriedade “Valor” está especificada. Entre aspas está uma constante de texto, e o nome da variável começa com o símbolo $. Ou seja, este bloco registra no log do robô uma mensagem sobre o carregamento do arquivo selecionado, especificado por meio da variável.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfggmj4jMbO5FfkYcOfjGoGtdUtbhl-lvwjQTeCPlhT6JvWXxNGSNt7LzzMyYS5T3xcKE03RKtGK8CDTadKs55zcwFp-Y5fNtoi7iSbZdn0CJiiTpddAwTjVy-Z0b6AYc5pQQs2L5IQsK-6RINhNEYh9H8R?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

3. **Bloco “Abrir documento”** permite abrir um documento Excel. Para este bloco, as seguintes propriedades estão especificadas:

* Caminho do arquivo (caminho para o documento Excel que deve ser aberto);
* Referência ao Excel (retorna uma referência ao processo de manipulação do documento Excel);
* Referência ao documento (retorna uma referência ao documento Excel aberto, no qual o trabalho está atualmente ocorrendo).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfyyZSjSQ3l6KPemc6BoktmIwSi8oNhHKWLJP9zLZ4cl5camfpwbSrDMwJXSJu3rsZTluZVG_xzzY4QWO-E7W39iuvRDQ-2VGOLBGkweiGyT2cSdSTW1oQZA1XNOsWD1A9rjM7QW1UiHTQ0cDrgHemtw4I?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

4. **Bloco “Obter valor da célula”** permite ler o valor de uma célula do documento Excel. Neste caso, são utilizados dois blocos “Obter valor da célula” para diferentes linhas e colunas. Para este bloco, as seguintes propriedades estão especificadas:

* Referência ao documento (retorna uma referência ao documento Excel aberto, no qual o trabalho está atualmente ocorrendo);
* Planilha (número sequencial ou nome da planilha onde a célula requerida está localizada);
* Linha (número da linha onde a célula requerida está localizada);
* Coluna (número da coluna onde a célula requerida está localizada);
* Resultado (retorna o conteúdo da célula do mesmo tipo de dado que no documento Excel).

  <figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfFlFDvuPBWgSwsAQwLK-BWI4yvoPOgY3RoeeltsO4LeduQYJZRSXLYQ1Vo5ZSqjT1iM0CLKQedq2uT33IAVYfZEGR0_nbP5BgzWi7vUKPmst47YoKfbvlzo5ISdQ9qZxTSyB9cNBfqCrxRlf4Uc0eDUQCl?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfExO_doZQrNcWXKEksbJlADAWBzvvOo1ic96fqjxzKjLyh3Px8Py0_V82NbClITF-YQTH2SAtp7zQh5ISuVlOmIjxDQlJ3kW_HFKLNdM3EqoQqyOLZ7amSjep-Nn7HVICAuBT6-oFdmYQPTMJ36M4f7tIa?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

5. **Bloco “Encontrar substring entre duas substrings”** permite encontrar em um texto uma substring que está entre duas outras substrings. Deve haver tantos blocos quanto substrings forem necessárias encontrar. Neste caso, são utilizados dois blocos “Encontrar substring entre duas substrings”: para a substring “Executor” e para a substring “Pedido”. As propriedades dos blocos são:

* Texto (string de entrada);
* Parte esquerda (substring buscada à esquerda);
* Parte direita (substring buscada à direita).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdMUooE7iMdKalA6NN4cdv1lSEiwX4RpOH1htZ7CN21Ki4LKYFRl-HVF1RGNCOxMyrC3fQa0FY7jr_5A22ZNlWPsuBBucUbSWwLIBQM7jRUNPKwrIccLoEC0OhIILfAyQdpgoxP4lmP8bJe2GutdaxKFmcu?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

6. **Bloco “Executar expressão”** inicia a execução de uma ou mais expressões em uma linguagem compatível com PowerShell. Neste caso, é utilizada uma única expressão.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf-esMaUiOm6TOyWVZWfu5k1G5TVpxztR03yptV4JsRUPnJQUexhyZyp9XpOLgjOdT7sem5NmCnKnzxYsJk4UqygiFG-Zxec-9Cnnc8ySqcIWZ3dOxBB9n1ol0PrssWwQbnHZ0L1DkhM5lmnRAI_A_T-7tI?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

7. **Bloco “Obter valor da célula”** permite ler o valor de uma célula de um documento Excel. Para este bloco, as seguintes propriedades são especificadas:

* Link para o documento (retorna o link para o documento Excel aberto, no qual o trabalho está sendo realizado no momento);
* Planilha (número ou nome da planilha onde a célula requerida está localizada);
* Linha (número da linha onde a célula requerida está localizada);
* Coluna (número da coluna onde a célula requerida está localizada);
* Resultado (retorna o conteúdo da célula do mesmo tipo de dado que no documento Excel).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXch_YEs2dfFWsPdzmF_KbUvYc5DXnVYq2YZ-2Qg7AmgLsK7TYKh6hdA-5m6Wt2XaqCwOdbK0TgtLfit1f55f1jp36tdUKCbhvKNGKLw0lX7L5-YKGpam9uM4FoD1RVSh-UG41dzTN6Qs7oaKKBEK2RnDrzL?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

8. **Bloco “Condição”** verifica a condição especificada para ver se é verdadeira, após o que a execução do script continua em direção à saída “Sim” (se a condição for atendida) ou em direção à saída “Não” (se a condição não for atendida).

A condição é escrita no formato: “variável” igual a (==)/ maior que (>)/ menor que (<) “valor”.

Por exemplo: $a == “Olá”, ou seja, se o valor da variável $a for igual a “Olá”, então a saída é “Sim”, caso contrário – a saída é “Não”.

$Result > 5, ou seja, se o valor da variável $Result for menor que 5, então a saída é “Sim”, caso contrário – a saída é “Não”.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeayu-5i9yGVmnDtXEakJzvpnYH4oBQVCF8xKGRD9yZvNtd7f7ydLi-8N5qj7LHYaDfhgCvYULGo2_JeFDnxnw1Enn6MR74gfhYTVSQh7GIvwelOFWE5nFQiPyOsb0m-v5fA-CBrKpNbq940v778uigB9t5?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

9. **Bloco “Fechar documento”** permite fechar o documento Excel. Para este bloco, as seguintes propriedades são especificadas:

* Link para o Excel (retorna o link para o processo de manipulação do documento Excel);
* Link para o documento (retorna o link para o documento Excel aberto, no qual o trabalho está sendo realizado no momento).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe_UTU7rY1QL0_fBSbD7K9Ak2mHAjaQrnLEowTCIrlzCx4r2gomWb-bihMUhX86pyqv0SDMxcfaBCOb_AOoGEH-DX9TOliIKvB4kGGcelvdY7M7G6nKzwgkSVT49AX671BaGHtAse2oTeYrpWXadToqY5AX?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

10. **Blocos “Obter valor da célula”** permitem ler o valor de uma célula de um documento Excel. Neste caso, são utilizados dois blocos “Obter valor da célula” para diferentes linhas e colunas. Para este bloco, as seguintes propriedades são especificadas:

* Link para o documento (retorna o link para o documento Excel aberto, no qual o trabalho está sendo realizado no momento);
* Planilha (número ou nome da planilha onde a célula requerida está localizada);
* Linha (número da linha onde a célula requerida está localizada);
* Coluna (número da coluna onde a célula requerida está localizada);
* Resultado (retorna o conteúdo da célula do mesmo tipo de dado que no documento Excel).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc50JOZDttMgpgFfFxBPKvKUrQcyQch6et-dpGlzYDjGcaBZFtNHr5LWheQOYFhfwASAUgoB-xbJizTgtnmyoDEaI_bGPf5iBY3QY9DeOO5GEgE82eHWmQpflynYx9THY0M3fvzEw6QPHqWnKHspkfxYa5w?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeUKwVeYKIpH8-hXSM4rYzh7zpyVPMPEXj798DzeKpnIVozcuHBw5fSfVDBy2mEiF7EH4K3qOpMR4uyr3CpwLSw19Xeln4dKJQtHsKrR0UkAwFz-pub7BSJSdheRnRSMtDYJ_8ejLHGUX-8VxObh5tSDfU?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

11. **Bloco “Adicionar linha”** permite adicionar uma linha a uma tabela de dados. Para este bloco, as seguintes propriedades são especificadas:

* Tabela (tabela de dados à qual a linha é adicionada);
* Número da linha (retorna o número da linha adicionada).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeLaavLdfRggj_rs5XC-9uDALYPkNu4S7lKLucXCz4BAXiFUtsue9r3dg3wqV12snuACXgyrucTCeZRgQWnqrN4JrFiUw1BtkVGIft2xKulo959iPY9tg-GoSa9ltT30Mq1MCXhw_ngZGssEdeVhGWP9Tsb?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

12. **Bloco “Gravar valor na célula”** permite gravar um valor em uma célula de uma tabela de dados. Neste caso, são utilizados três desses blocos para diferentes colunas e valores. Para este bloco, as seguintes propriedades são especificadas:

* Tabela (tabela de dados na qual o valor deve ser gravado);
* Linha (número da linha);
* Coluna (número da coluna, a numeração começa em 0);
* Valor (valor que deve ser gravado).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdrc-1p7pQuZHiuSmrTRicPlWfBF3CCN9fc4se6fI4HZYX_KGMFAgpFJjeFZv1-5BEyOz4bVnSig61PgLoXi4eJL--95NHiSq3sBaqp0w9NNU8-N_BONIICynXmtcSckT7ImEm5zAVj2UrWMOCkgI-yjT4?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcPLIz7Ezm_Aw-w_eCtYlkUlOji0Lh4651iMfLf3WxOV4KlzJlHkV8ot3IE1cgeXq5jqCzCFl2fq_I8dOn6AQdhuOdKsZMhaX7Ejbnnr1G7mVO7kdmwAz1CX66WYM5xFVwiwm4M_EqdV2OcswwZq0e1wPZR?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfY5AsyqLgV0wawslXvHtDi4KCyUCP-Akl9vQWvQbk7I3O_VBRzWKV-EHlY1CyliaecBxKCPmYNGKb8td6ltKMMp3bPwvyNlC89hG_8JUSTRR0N18zbQh7QvZ8-u9zy7vi2zE2zkQpgR8mxXtcixOszx-Br?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

13. **Bloco “Executar expressão”** inicia a execução de uma ou mais expressões em uma linguagem compatível com PowerShell. Neste caso, é utilizada uma única expressão.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdXM0DXMuMucAxZYiluq820iyeIOFxz_xFYXbWwHMLGmROuVlXPdso_hduI55XK62w8lzeRBL1ctA5lO_PTU1he8wrzKhGKa-xL8ppqFLYmHq9uo8RMTr85wiO6R6ZZz2taD9bWOB-EpKr8N71OoOiksP0q?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

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

\*\*Diagrama "Adicionar fatura"\*\*Após a extração de dados de um documento PDF ou Excel, o robô cria uma nota fiscal de entrada no 1C. Este diagrama foi criado parcialmente com a função “Gravar” do Sherpa Designer. Mais detalhes [aqui](https://docs.sherparpa.ru/pt/sherpa-rpa/sherpa-designer/rabota-v-sherpa-designer/osnovnoe-menyu/panel-razrabotka/menyu-zapis/zapis-deistvii-polzovatelya).<br>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXek15vPpqa9UbCU-EBCErxQP0bgXHKMxTDa8oS0ykg45LWnltd3-zRzSAEzo-tLop8T44wUCW8Xm5adGRFmgp-PKyCiFD3XTxoJarEyUFCv3FhDL7xaHtZG_vwjR83Gz4XzZmXjl4NNOYu9qvJH7fLORrg4?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdGy5Cn2_lpkFhP5RHj34sX-AZZtFJvi5WceULPN0ckVmR2Mt6bkp5lc2s8OCHHURBjfZQbglrn-ZXZKwt8NdLhj8weTqQPlAlwCtIamTl-LRjW05RgzfAW5U18kZCQhbGhZDjfW_piAbMaYi1V-_6XgmTO?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

1. **Bloco “Início”** (este bloco inicia qualquer diagrama).
2. **Bloco “Log”** permite registrar mensagens e/ou valores de variáveis no log durante a execução do script do robô. Para este bloco, a propriedade “Valor” está definida. Aqui, este bloco registra no log do robô a mensagem “Criando nomenclatura”.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXffFQedeULJNhTkhBeyGWyrJ4a-_Ri1vxqFTGJ8A324vzb3PT0sYeve0lv2fL83MVGUPwKkxLV7RHZk4JnduNWIUMov2b4mIuvkaJIgLwlVje1IEHPkYhL8EZFOn_4G2zhzK46-mxfpHer1Gt_5xF-P0QKL?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

3. **Blocos “Verificar presença de elemento”** (verifica a presença de um determinado elemento da interface do usuário na tela), **“Clique com o mouse”** (realiza um clique no elemento especificado do aplicativo) e **“Pressionar teclas”** (emula a pressão de teclas no teclado) foram adicionados ao diagrama com a função “Gravar”. Cada um dos blocos utiliza um seletor. Mais detalhes sobre o trabalho com seletores [aqui](https://docs.sherparpa.ru/pt/sherpa-rpa/sherpa-designer/rabota-v-sherpa-designer/paneli-svoistv-i-peremennykh-i-rabota-s-nimi/panel-svoistv/nastroika-selektorov).
4. **Bloco “Atribuir valor à variável”** define novos valores para uma ou mais variáveis. Neste caso, nas propriedades, está definido um valor que deve ser atribuído a uma variável específica.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdLmHA539yA604y6xXWqQMHBoN1NuQKXgD__xzdbz19XW68a3NQcGG-u4Kru-sbM6KWSIqNaVMAhuRaNgEHW-GEq66C9q-Mym13bAhuV6Iy05s1LrKg0SgTZNAWlXtKFrR8Af13-z2mbYaeAMZHDKcEgmgI?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

5. **Bloco “Laço para cada”** itera sobre todas as linhas da tabela de dados.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeytt-dsnGWRT07ZPdFS4bGD0_3N1ifmizn471LbxQbYUY-_aj9d5vsVgr_N8Epen7XbEFFuwQqq3QW6zYhiZ3pJzmhZh1aYAJ-i_7jaJY2J7FJQAd3tUKP6cLpbKTRGYpGvf9YUsSjIBek83jNb_N7z-I6?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

6. **Bloco “Clique com o mouse”** (realiza um clique no elemento especificado do aplicativo) foi adicionado ao diagrama com a função “Gravar”.
7. **Bloco “Pausa”** suspende a execução do script por um tempo determinado. Para este bloco, as seguintes propriedades estão definidas:

* Unidade de medida (unidade de medida na qual a duração da pausa está definida);
* Duração (número de segundos que a execução do script será suspensa);
* Iniciar imediatamente (a flag definida ativa a aplicação da pausa imediatamente na primeira passagem deste bloco desde o início do script do robô).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc8VLMRXBHKsWrlNsn27mr8xVu5X4b8pNauRtbkg2ICr0JKHB9KKgRoWbQKr8xXyWqUl0Se1nwvdOSdwoSgnNJo8EJdUTAdZuhZWkDyyN7KlrRtl9Vv-4tifKAYzKoHFLSTvWGAIB42O2HBK-nzGIraIZD-?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

8. **Blocos “Clique com o mouse”** (realiza um clique no elemento especificado do aplicativo) e **“Pressionar teclas”** (emula a pressão de teclas no teclado) foram adicionados ao diagrama com a função “Gravar”. Cada um dos blocos utiliza um seletor.
9. **Bloco “Executar expressão”** inicia a execução de uma ou mais expressões em uma linguagem compatível com PowerShell. Neste caso, uma expressão é utilizada.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfINt0-_aS5EZpceAcisv-VhaByz6kXMWbyt4G-74ORfHaHu8KgYa880g0Hth_c09f0Eszc6yw4TRXlLSy3zewLPorLmyhXidZCdtiuOT-13ejc4FByMryUeP6nfLG5q5J7fn0zrJsWHc-KKo7VL_lUtDFc?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

10. **Bloco “Fim”** (este bloco encerra 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/1s-prikhodnaya-nakladnaya.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.
