# Sherpa Designer: respuestas a preguntas frecuentes

## ¿Cuál es la razón por la que el bloque "Verificar existencia de elemento" en el proyecto encuentra el botón "Guardar", incluso si no está presente en SAP?

**Pregunta:** En el proyecto, el Robot verifica la existencia del botón "Guardar" en SAP. Si no lo encuentra, hace clic en el elemento "Modificar".

Desafortunadamente, el bloque "Verificar existencia de elemento" encuentra el elemento "Guardar" incluso si no está presente.

<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>

**Respuesta:**

Es probable que este elemento esté en la caché del componente COM de SAP. Intente reconectarse a SAP antes de la verificación. Por ejemplo, utilizando los bloques "Unirse" o "Seleccionar ventana".

## ¿Es posible automatizar 1C utilizando teclas de acceso rápido?

**Pregunta:** ¿Es posible automatizar 1C utilizando teclas de acceso rápido?

**Respuesta:**

Sí, es posible. Puede utilizar la guía del sitio oficial de 1C: <https://its.1c.ru/db/v8std/content/430/hdoc>

O la sugerencia para asignar teclas de acceso rápido en el siguiente enlace:

[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 qué la lógica del bloque ejecutar PowerShell funciona de manera diferente en comparación con PowerShell integrado?

**Pregunta:** ¿Por qué la lógica del bloque ejecutar PowerShell funciona de manera diferente en comparación con PowerShell integrado? Y, en tal caso, ¿cómo utilizarlo correctamente? Estoy intentando usar una función; la salida correcta debería ser False. Al llamar a esta función a través del bloque PowerShell, devuelve True (en el segundo bloque).

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

La función se declara aquí:

<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>

**Respuesta:**

Utilice sus bloques para tales fines. Es importante entender que todo lo que usted escribe se ejecuta dentro de la función, ya que cada bloque es una función. Como resultado, todo lo que usted asigne en esta función será sus variables locales. Si utiliza su código, debe desactivar el manejo de variables. Actualmente, todas las variables que usted ha escrito se convierten en variables locales del script, y específicamente de esta clase de diagrama.

## No funciona el bloque "Ejecución de código Python"

**Pregunta:** ¿Qué hacer si surge un problema al utilizar el bloque "Ejecución de código Python"?

**Respuesta:**

El procedimiento es el siguiente:

1. Cierre el Diseñador.
2. Elimine la carpeta Library de la carpeta del proyecto.
3. Descargue y actualice el Diseñador.
4. Asegúrese de que tiene instalada la versión de Python x64.
5. Verifique que la versión de Python no sea superior a 3.12.

## Error "Selector no encontrado"

**Pregunta:** Al automatizar un programa, hay una tarea: ingresar texto en el campo de filtro. Estoy utilizando el bloque "Presionar teclas", el selector identifica el campo de texto y lo resalta, pero al depurar el robot aparece el error "Selector no encontrado". ¿Podría indicarme qué se puede hacer en este caso?

**Respuesta:**

Es probable que esto esté relacionado con el hecho de que al presionar el botón "Depurar", usted activa la ventana del Diseñador, y al hacer clic, vuelve a la aplicación. Intente primero encontrar el ID del proceso necesario y escribirlo en el bloque de entrada de texto, así no será necesario hacer clic en el campo de filtro. También es posible que el mismo clic y el inicio de edición en el elemento cambien el árbol del selector de este elemento. Por ejemplo, puede aparecer una barra adicional o incluso un campo de edición que antes no estaba (o usted lo vio en la interfaz, pero técnicamente no era un campo de edición hasta que se hizo clic en él). Por lo tanto, los selectores del elemento "ya clicado" y "aún no clicado" son diferentes. Intente grabar el selector del elemento pasivo, en el que aún no se ha hecho clic y en el que no está el foco de entrada.

## ¿Cuál puede ser la causa del error al extraer un rango de una tabla, si se utiliza una variable que es igual a 1?

**Pregunta:** Necesito recortar la tabla (extraer un rango), pero si en el campo columna el número es 1, funciona. Si allí la variable es 1, da un error. ¿Cuál puede ser el problema? La variable se toma de la actividad "verificar existencia de valor". La conversión adicional “\_tonumber” no ayuda.

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

**Respuesta:**

En este caso, la variable tiene tipo double. Al especificar el indexador de columna, se puede indicar o una cadena o un número int32. Si se indica una variable con tipo double, el Framework intenta convertirla al tipo necesario. Dado que solo podemos tener dos tipos, elige el más adecuado sin pérdida de datos, que es la cadena (double => string). Como resultado, el Framework intenta indexar la columna con "1", en lugar de por número. Cuando usted convierte forzosamente al tipo \[int], el Framework elimina todas las ambigüedades. Por lo tanto, debe escribir \[int]$DocCol, es decir, convertir el valor a un número int32.<br>

## ¿Se puede ejecutar un script completo en Sherpa RPA, en lugar de un script PowerShell de una sola línea?

**Pregunta:** ¿Se puede ejecutar un script completo en Sherpa RPA, en lugar de un script PowerShell de una sola línea?

**Respuesta:**

Sí, se puede, para ello es necesario utilizar el bloque "Ejecutar expresión PowerShell", desactivar en él el manejo de variables, utilizando las constantes #StopRefactoring y #StartRefactoring de la siguiente manera:

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

Inserte el código dentro de ellas, pero luego para la entrada o salida de valores de variables ya fuera de estas constantes, es necesario asignar variables locales a las variables del script.

## **Error de codificación de caracteres\*\*\*\*Pregunta:** ¿Qué hacer si surge un problema de codificación de caracteres? En la codificación en la computadora es Windows1251 y todo está bien, pero en el servidor en el mismo archivo en la misma codificación - falla.

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

**Respuesta:**

La falla en la codificación de caracteres puede estar relacionada con la codificación para las versiones rusas de Microsoft Windows. Si se presenta tal problema, intente lo siguiente:

Vaya a la configuración regional en su computadora (Configuración => Hora e idioma => Región => Configuración adicional => Normas regionales => Avanzado => Pantalla de bienvenida y cuentas de nuevos usuarios).

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

En la ventana que se abre, marque las casillas "Pantalla de bienvenida y cuentas del sistema" y "Nuevas cuentas de usuario".

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

Después de esto, el idioma de la interfaz para la pantalla de bienvenida y nuevas cuentas de usuario cambiará a "Ruso" y el problema de la falla de codificación se resolverá.

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

## ¿Cómo ignorar el número después de la palabra "form" en el id del campo de búsqueda en la página web de 1C al actualizar la página?

**Pregunta:** Hay un problema, en la página web de 1C el id en el div del campo de búsqueda cambia al actualizar la página. ¿Hay alguna manera de ignorar el número después de la palabra "form" y seguir definiendo el selector?

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

Aquí hay algunos enfoques que pueden ayudarle a resolver este problema:

1. ***Uso de coincidencia parcial de ID:*** Puede utilizar un selector que busque elementos por parte de su ID. Por ejemplo, si el ID siempre comienza con "form", puede usar el selector `INPUT[id^='form']`, que encontrará todos los elementos cuyo ID comienza con "form".\
   Hay otros tipos de comodines, más detalles [aquí](https://docs.sherparpa.ru/es/sherpa-rpa/sherpa-designer/rabota-v-sherpa-designer/rukovodstvo-po-veb-selektoram/spravochnik-po-notacii-css-i-xpath-selektorov).
2. ***Uso de atributos:*** Si el elemento tiene otros atributos que no cambian, puede utilizarlos para crear un selector más estable. Por ejemplo, si el campo de búsqueda tiene un atributo class, puede usar el selector `INPUT[class='your-class-name']`.
3. ***Índices:*** Si hay varios elementos en la página con los mismos atributos, puede usar un índice para seleccionar el elemento deseado.
4. ***Uso del contenido textual:*** Si el elemento tiene contenido textual, puede usarlo para crear un selector.
5. ***Uso de elementos padres:*** Si el elemento tiene un padre único, puede usarlo para crear un selector. Por ejemplo, `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/es/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.
