# Sherpa Designer: respostas para perguntas frequentes

## Qual é a razão pela qual o bloco "Verificar a presença do elemento" no projeto encontra o botão "Salvar", mesmo que ele não esteja presente no SAP?

**Pergunta:** No projeto, o Robô verifica a presença do botão "Salvar" no SAP. Se não encontrar, clica no elemento "Modificar".

Infelizmente, o bloco "Verificar a presença do elemento" encontra o elemento "Salvar" mesmo que ele não exista.

<div data-full-width="true"><figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfsXmokLMq8enrW6UPB3Pykrge_d7SB18zMNwjAJ_MQEZZUdOIm4Zsj7ODQpQ-C9D6NVUW6e0X6HOqCjv-WwW9POUGvW-LREcCGvM1egFQq5TikWqr4XkFeH_mF2YE6BKI6FraOFXW_LhRJRAvJrAkdBeG3?key=awdOn0AMGpq5YZ7h7uKe4g" alt=""><figcaption></figcaption></figure></div>

**Resposta:**

Provavelmente, esse elemento está no cache do componente COM do SAP. Tente se reconectar ao SAP antes da verificação. Por exemplo, usando os blocos "Conectar" ou "Selecionar janela".

## Existe a possibilidade de automação do 1C usando teclas de atalho?

**Pergunta:** Existe a possibilidade de automação do 1C usando teclas de atalho?

**Resposta:**

Sim, existe. Você pode usar o guia do site oficial do 1C: <https://its.1c.ru/db/v8std/content/430/hdoc>

Ou a dica para atribuição de teclas de atalho no link:

[https://1s-portal.ru/index.php/stati/configuration/3-form/76-knopke-naznachit-gorjachuju-klavishu.html#:\~:text=%D0%9D%D0%B0%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BA%D0%BB%D0%B0%D0%B2%D0%B8%D1%88%20%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE%20%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C%20%D0%BA%D0%B0%D0%BA,%D0%BA%D0%BB%D0%B0%D0%B2%D0%B8%D1%88%D0%B8%2C%20%D1%81%D1%80%D0%B0%D0%B7%D1%83%20%D0%B6%D0%B5%20%D1%83%D0%B2%D0%B8%D0%B4%D0%B5%D1%82%D0%B5%20%D1%80%D0%B5%D0%B7%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%82.](https://1s-portal.ru/index.php/stati/configuration/3-form/76-knopke-naznachit-gorjachuju-klavishu.html)

## Por que a lógica do bloco executar PowerShell funciona de forma diferente em comparação com o PowerShell embutido?

**Pergunta:** Por que a lógica do bloco executar PowerShell funciona de forma diferente em comparação com o PowerShell embutido? E como usá-lo corretamente nesse caso. Estou tentando usar uma função – a saída correta deve ser False. Ao chamar essa função através do bloco PowerShell, ele retorna True (no segundo bloco).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf02OmiACVUlAaFFR03L8oiKl8KP42Wl55OKhgHfBlZfzXifgedKRbkb4rADtcxEQBsvfXnGQqn9ykcejM6h4hBm056RvnVDiO-8vmGK9UPf023EF4ZOVMzqhGL5JAkekT7aU9NdbDu_AhtwczprCJ19iZN?key=awdOn0AMGpq5YZ7h7uKe4g" alt=""><figcaption></figcaption></figure>

A função é declarada aqui:

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeAVGlSO1vEun5adPRuC0VhVOXRaJkNLD36ha9-stL5aWPhbAZmGzHDGMHuXmC2lwWDGYkQhVJptlWkK1ArC9zepvp_W1tCEm7I2goU2vqVcqCc6Eeur_oPTU317w_8_pjoEMz3PEB-QEGJh7pW9cIMlEXR?key=awdOn0AMGpq5YZ7h7uKe4g" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeg5J-CFepwYo652piixmB_xEwdWHkMeCJMTJy-minqtVoiT-qrnd9L-IO-PHYiJdWINzzZm4jCNLWCvpbKEAkqbRVLcY788whlvysi2eadiB7mTH9eGSoWxjZ0z06qRsE9EnlfD6fDuL9G72dMDNmmKjg?key=awdOn0AMGpq5YZ7h7uKe4g" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXemoxj-TwvLKdQXWAaMPre0zILVpBQlpFwkuTZB2x7XB256_nqitnetTz0cJ6KjV3IViNRck3cxYvpFlN5xaQV4iTBl9GTm0exdyxLQjrS5Qu-PmFQkpSzAJwW7ErGiqBvizjuruNKQqSOXA70LIct99e8c?key=awdOn0AMGpq5YZ7h7uKe4g" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfcPZDMzRNFP8ExYmbufXIdesXxiFiyPci4hzA0qTr2hZapHM4NPl5RdUq2x2-bdbFhPYnRK8DlH74UNbWZZOe_HYhw4u146TliyJ1mRsQQtG2QfFqHkXILCsZsARnGqe0kOcLOZxe2PwXO3H9640v-MuIR?key=awdOn0AMGpq5YZ7h7uKe4g" alt=""><figcaption></figcaption></figure>

**Resposta:**

Use seus blocos para tais fins. É importante entender que tudo o que você escreve é executado dentro da função, pois cada bloco é uma função. Como resultado, tudo o que você atribuir a essa função será suas variáveis locais. Se você usar seu código, deve desativar o processamento de variáveis. Atualmente, todas as variáveis que você escreveu são convertidas em variáveis locais do script, especificamente dessa classe de diagrama.

## O bloco “Execução de código Python” não funciona

**Pergunta:** O que fazer se houver um problema ao usar o bloco “Execução de código Python”?

**Resposta:**

A ordem das ações é a seguinte:

1\) Feche o Designer.

2\) Exclua a pasta Library da pasta do projeto.

3\) Baixe e atualize o Designer.

4\) Certifique-se de que você tenha a versão do Python x64.

5\) Verifique se a versão do Python não é superior a 3.12.

## Erro “Seletor não encontrado”

**Pergunta:** Ao automatizar um programa, há uma tarefa: inserir texto no campo de filtro. Estou usando o bloco “Pressionar teclas”, o seletor identifica o campo de texto e o destaca, mas ao depurar o robô ocorre o erro “Seletor não encontrado”. Por favor, me diga o que pode ser feito nesse caso?

**Resposta:**

Provavelmente, isso está relacionado ao fato de que, ao pressionar o botão “Depurar”, você torna a janela do Designer ativa, e ao clicar – o aplicativo novamente. Tente primeiro encontrar o ID do processo necessário e escrevê-lo no bloco de entrada de texto, assim você não precisará clicar no campo de filtro. Também é possível que o próprio clique e o início da edição no elemento mudem a árvore do seletor desse elemento. Por exemplo, pode aparecer uma barra extra ou até mesmo um campo de edição que não existia antes (ou você o viu na interface, mas tecnicamente não era um campo de edição até que você clicasse nele). Consequentemente, os seletores do elemento "já clicado" e "ainda não clicado" são diferentes. Tente gravar o seletor do elemento passivo, no qual você ainda não clicou e no qual o foco de entrada não está.

## Qual pode ser a causa do erro ao extrair um intervalo da tabela, se uma variável igual a 1 for usada?

**Pergunta:** É necessário recortar a tabela (extrair um intervalo), mas se no campo a coluna número=1 – funciona. Se lá a variável=1 – gera um erro. Qual pode ser o problema? A variável é obtida da atividade "verificar a existência de valor". A conversão adicional “\_tonumber” não ajuda.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdh-5p6kiScMD9xNzDh4wupj6AnPyMju727rrJNTqFhaFj_V8AuwJvCgm13XxLv_qdb1eIgTWcxQN_yrydW7pw0XKJyLdMGygbLxLfxO_8kh5bDTUYQRN0yzgfVy9JghrnBZVRclQavBGXYVppySQq17tA?key=awdOn0AMGpq5YZ7h7uKe4g" alt=""><figcaption></figcaption></figure>

**Resposta:**

Nesse caso, a variável tem o tipo double. Ao especificar o indexador da coluna, você pode indicar uma string ou um número int32. Se uma variável do tipo double for especificada, o Framework tentará convertê-la para o tipo necessário. Como só podemos ter dois tipos, ele escolhe o mais apropriado sem perda de dados, que é a string (double => string). Como resultado, o Framework tenta indexar a coluna com "1", e não pelo número. Quando você força a conversão para o tipo \[int], o Framework elimina todas as ambiguidades. Portanto, deve-se escrever \[int]$DocCol, ou seja, converter o valor para um número int32.<br>

## É possível executar um script completo no Sherpa RPA, e não um script PowerShell de uma linha?

**Pergunta:** É possível executar um script completo no Sherpa RPA, e não um script PowerShell de uma linha?

**Resposta:**

Sim, é possível, para isso é necessário usar o bloco “Executar expressão PowerShell”, desativar o processamento de variáveis nele, usando as constantes #StopRefactoring e #StartRefactoring da seguinte forma:

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcrCCm24K0fCosN0yBpqYn02Nk8RKdtnIwRMsRT5JSK3QaHPodpQ24eU6GYlBu6xUVoO74Zqk7WZrZLIK5GT1tpFJJ7A0gAEBTEaCSfac5lZD0CAdugY1I4TRpIsO1-bWN85IEulAqkRWoCo2eAHmT9wT-G?key=awdOn0AMGpq5YZ7h7uKe4g" alt=""><figcaption></figcaption></figure>

Insira o código dentro delas, mas depois, para entrada ou saída de valores das variáveis já fora dessas constantes, é necessário atribuir variáveis locais às variáveis do script.

## **Falha na codificação de caracteres\*\*\*\*Pergunta:** o que fazer se houver um problema de codificação de caracteres? Na codificação no computador, a codificação é Windows1251 e tudo está OK, mas no servidor, neste mesmo arquivo, nesta mesma codificação - falha.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXclqsM9TBi4d4PU4p-5ibEJcQfwvyHkbS0Al13pPo4W4uoFXNOvSELbD38o0i6433G-YIK3VTJ59ITWiz9_zYXJC_R_tDkzSJLhOthJIT3txiHZUYXRepLVfQGKgedUpzxASqAv9Vw_fv-pUaViXvPPFwHM?key=awdOn0AMGpq5YZ7h7uKe4g" alt=""><figcaption></figcaption></figure>

**Resposta:**

A falha na codificação de caracteres pode estar relacionada à codificação para versões russas do Microsoft Windows. Se você encontrar esse problema, tente fazer o seguinte:

Acesse as configurações de região no seu computador (Configurações => Hora e idioma => Região => Configurações adicionais => Padrões regionais => Avançado => Tela de boas-vindas e contas de novos usuários).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcphWjUcbiYjYVlgCfrS4Q8RcbqLPa-y9-shTQXocsozzMA36O5tefWP354ThPLA8AVT3ML0WseSprMVGL_5ndNYvlNhr9UoqY1LEvPfus5lK-_29XRUZn6hb_z2pI8ttRLdijfhyuNPL684KfPn3oFwXdy?key=awdOn0AMGpq5YZ7h7uKe4g" alt=""><figcaption></figcaption></figure>

Na janela que se abre, marque as opções “Tela de boas-vindas e contas do sistema” e “Novas contas de usuários”.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe4F67Sm9GfdNh8NNf87-RRA1G3OGrdFDKxC-bynJkZXgRys1MP1Kct0vDj05EWLHOkcMqjFn796s36Hdml89eLiso9C6JH6sskt9c4vyz4VSYjPd9o8r703kObSlIk6og02jAKiVv3tG4H4m3RZb9KUVSr?key=awdOn0AMGpq5YZ7h7uKe4g" alt=""><figcaption></figcaption></figure>

Depois disso, o idioma da interface para a tela de boas-vindas e novas contas de usuários será alterado para “Russo” e o problema de falha na codificação será resolvido.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdzAT2-z8vdM9xrBkKrYfMbrCBjtVrdFyzyjnS4f9C-Jl0SV_uAA5vQVqM2Rq6JSUYSwtRf9OFn5rrgWW8UlPz8G3URZ5U7lrOt0LC3Bqb6V-N0C-adXbvp3hooxa-FVv3iMTrLaArJ0wS5VxtB3zunypQ?key=awdOn0AMGpq5YZ7h7uKe4g" alt=""><figcaption></figcaption></figure>

## Como ignorar o número após a palavra "form" no id do campo de busca na página da web 1C ao atualizar a página?

**Pergunta:** Há um problema, na página da web 1C, o id no div do campo de busca muda ao atualizar a página. Existe alguma maneira de ignorar o número após a palavra "form" e continuar a definir o seletor?

Por exemplo: `INPUT[id='form1(?)_ВыходныеИзделияКоманднаяПанельВыходныеИзделияСтрокаПоиска_i0']`\
\
**Resposta:**

Aqui estão algumas abordagens que podem ajudá-lo a resolver esse problema:

1. ***Uso de correspondência parcial de ID:*** Você pode usar um seletor que procura elementos por parte de seu ID. Por exemplo, se o ID sempre começa com "form", você pode usar o seletor `INPUT[id^='form']`, que encontrará todos os elementos cujo ID começa com "form".\
   Existem outros tipos de substituições, mais detalhes [aqui](https://docs.sherparpa.ru/pt/sherpa-rpa/sherpa-designer/rabota-v-sherpa-designer/rukovodstvo-po-veb-selektoram/spravochnik-po-notacii-css-i-xpath-selektorov).
2. ***Uso de atributos:*** Se o elemento tiver outros atributos que não mudam, você pode usá-los para criar um seletor mais estável. Por exemplo, se o campo de busca tiver um atributo class, você pode usar o seletor `INPUT[class='your-class-name']`.
3. ***Índices:*** Se houver vários elementos na página com os mesmos atributos, você pode usar um índice para selecionar o elemento desejado.
4. ***Uso de conteúdo de texto:*** Se o elemento tiver conteúdo de texto, você pode usá-lo para criar um seletor.
5. ***Uso de elementos pai:*** Se o elemento tiver um pai único, você pode usá-lo para criar um seletor. Por exemplo, `DIV[class='parent-class'] > INPUT[id^='form']`.


---

# 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/sherpa-designer-otvety-na-chasto-zadavaemye-voprosy.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.
