# Disparadores de Acción del Calculador

Consideremos un ejemplo de un robot que rastrea diferentes eventos en la interfaz de otros programas y, dependiendo del evento que ocurra, realiza diferentes acciones: mostrar un mensaje, una ventana, crear un documento, ir a un sitio web, enviar un correo.

**Nota:** *antes de iniciar el proyecto, es necesario abrir el Calculador (verificado con Windows 10) y escribir el número requerido en el calculador para que se active el evento correspondiente.*

El diagrama del proyecto se ve así (para mayor comodidad, los bloques del diagrama están numerados):

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf3WQsHGHYugUvPzu308yojZWkCRtRtJjOf_pJKoZR120a6Kd-imlpZk3Rnjhi2AGt4cSQz65iLbwBRB6PiMzu8qVfwSc4911Tj5Q-kv29WfT3UrOW9WPHbR96sXxfeUfJ8ilJgMXiObveND283ix-jABY?key=2Kw34UXGjHk-7PKjgLzXFw" alt=""><figcaption></figcaption></figure>

En este ejemplo se utilizan conectores. Son necesarios para que el diagrama del proyecto sea fácil de leer.

1. **Bloque “Inicio”** (cualquier diagrama comienza desde este bloque).
2. **Bloque “Selección Paralela”** permite ejecutar de manera pseudo-paralela uno de los bloques conectados a sus salidas, eligiendo aquel bloque en el que no ocurre un error, y después de la ejecución exitosa de dicho bloque, continuar con el flujo del script. El bloque conectado se considera ejecutado con éxito si no ha provocado un error (excepción). Para este bloque se ha especificado la propiedad “Tiempo de Espera” (tiempo máximo de espera para la ejecución de los bloques en segundos).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcEVFtvAnigyhArmIkbsRL1-CONtmHTLh8Nz3W6tDHLTWYrL76dUyDsQBdPEYYyY8l18XpEaVHEJgTr7jRByoQIZrnUBxxhoCY2PxXWmJUkLmQvxSGQ7FFYoNBjIjc553ZqHCJhV3ZcZwE0yyZRM7cqmcCT?key=2Kw34UXGjHk-7PKjgLzXFw" alt=""><figcaption></figcaption></figure>

3. **Bloque “Controlar Elemento”** verifica que el elemento con el selector especificado esté en uno de los estados indicados. Para este bloque se han especificado las siguientes propiedades:

* Selector (identificador del elemento de la interfaz de usuario);
* ID de Proceso (variable que almacena el identificador del proceso, indica con qué aplicación se debe trabajar);
* Estado (estado que se debe verificar; en este caso, se verifica un atributo);
* Tipo de Comparación (tipo de comparación; en este caso se especifica el tipo “Wildcard”);
* Valor de Comparación (valor con el que se comparará el valor obtenido del atributo, en este caso: 365);
* Respuesta Esperada (valor esperado después de la verificación);
* Atributo (nombre del atributo);
* Retraso Antes (retraso antes de la ejecución del bloque en segundos);
* Retraso Después (retraso después de la ejecución del bloque en segundos);
* Tiempo de Espera (tiempo máximo de espera para el elemento especificado en segundos).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfEysYNoslf0FqSna4dC3iv-eCMuNzSYYtjW_mcufmJrLNuZZPhrXfyANUtz1mCmAmXXeRNWNQ37x3q4dU2STcBvH7tMW3p1iFBKU6zc-N4-NSU54x2R2kfJwJiMSEYA4UzsyvIABJjThnvlhCNyoVI3B4n?key=2Kw34UXGjHk-7PKjgLzXFw" alt=""><figcaption></figcaption></figure>

4. **Bloque “Ventana con Mensaje”** muestra al usuario un cuadro de diálogo modal, con un encabezado, texto y un conjunto de botones especificados. Para este bloque se han especificado las siguientes propiedades:

* Mensaje (variable que se mostrará dentro del cuadro de diálogo, en este caso: “Se detectó el valor 365”);
* Botones (botones que estarán disponibles para que el usuario haga clic).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc1DMbMl9QcMqk_ouadOWWrCLCLD8xkOHkdIgZwlEMST3_D5Z0_5ulYTi8fVzg1_P1etVPtj_vNugtGtWXnhF7qMlhKur-EZca60_PSKxwZk16g-ikTzy80hm1qKAZnXu_05E3Yx8BVOYZ_LJDeB4Gusv66?key=2Kw34UXGjHk-7PKjgLzXFw" alt=""><figcaption></figcaption></figure>

<br>

5. **Bloque “Controlar Elemento”** verifica que el elemento con el selector especificado esté en uno de los estados indicados. Para este bloque se han especificado las siguientes propiedades:

* Selector (identificador del elemento de la interfaz de usuario);
* ID de Proceso (variable que almacena el identificador del proceso, indica con qué aplicación se debe trabajar);
* Estado (estado que se debe verificar; en este caso, se verifica un atributo);
* Tipo de Comparación (tipo de comparación; en este caso se especifica el tipo “Wildcard”);
* Valor de Comparación (valor con el que se comparará el valor obtenido del atributo, en este caso: 893);
* Respuesta Esperada (valor esperado después de la verificación);
* Atributo (nombre del atributo);
* Retraso Antes (retraso antes de la ejecución del bloque en segundos);
* Retraso Después (retraso después de la ejecución del bloque en segundos);
* Tiempo de Espera (tiempo máximo de espera para el elemento especificado en segundos).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfnkCN42N20wOJAy9fzlGBuHt8s6gYXUNd_3hyx3w8ok_5KxqkHvKTSx_k28irH8W4FvAS1MFJCnhSEZWV4mKOsOGJ6HtLGKi0CRiGQv-IRLaB_SxlQmdFiNfKJD-wQFT_S-9NAPZtd-E77iKND5B-xEQc?key=2Kw34UXGjHk-7PKjgLzXFw" alt=""><figcaption></figcaption></figure>

6. **Bloque “Mostrar Ventana”** permite crear sus propias ventanas (formularios) y mostrarlas en modo modal y no modal, incluso de manera asíncrona con respecto al flujo del script. Si se especifica un selector, las coordenadas de la ventana creada estarán vinculadas al control en otra aplicación. Para crear y editar su ventana, utilice el botón “Editar…” del bloque, y para crear ventanas reutilizables, el botón [“Editor de Ventanas”](https://docs.sherparpa.ru/es/sherpa-rpa/sherpa-designer/rabota-v-sherpa-designer/osnovnoe-menyu/panel-razrabotka/menyu-dopolnitelno/redaktor-okon) en la barra de herramientas principal. Para este bloque se han especificado las siguientes propiedades:

* Configuración (cadena de configuración);
* Objeto Ventana (variable con el objeto ventana);
* Selector (identificador del elemento al que está vinculada la ventana al mostrarse);
* ID de Proceso (variable que almacena el identificador del proceso, indica con qué aplicación se debe trabajar);
* Ángulo de Vinculación (selección del valor del ángulo de vinculación de la ventana).

Aquí, el bloque “Mostrar Ventana” se ha agregado utilizando la herramienta [grabación de acciones del usuario](https://docs.sherparpa.ru/es/sherpa-rpa/sherpa-designer/rabota-v-sherpa-designer/osnovnoe-menyu/panel-razrabotka/menyu-zapis/zapis-deistvii-polzovatelya).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfovPINBmNv2WizUw987CcOMxFqTF_w6g5R6vHWF-gnknABs6ZlVmq-U7yEF0I-xqS4jVtJGexbZwOn4ub6Lsour8yZOhEN9NI48phDBUKy9yjDCyOzBQpN9liNfiTb1qbkVla_y0jiUDBJiZL-_-8PxUCv?key=2Kw34UXGjHk-7PKjgLzXFw" alt=""><figcaption></figcaption></figure>

La ventana que muestra el bloque fue creada con la herramienta “Editor de Ventanas”. Puede revisarla y editarla haciendo clic en el botón “Editar…” que se encuentra dentro del bloque.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfgQb11lVq88eTodgCkUg5D4oDKZ8cXokUSPf15sIEo_SAKjAawnDAQlub5dkgGix6wEt5mVoEvyZEA3DiZfwWar7aRYK1RwEFEteOrqUhRBxW2KZTwaRsaKh4eQjfkbUk3erMicKPZHG6lg2VlUc3JOeg3?key=2Kw34UXGjHk-7PKjgLzXFw" alt=""><figcaption></figcaption></figure>

7. **Bloque “Obtener Texto”** permite obtener el texto visible del elemento de la interfaz de usuario seleccionado (etiqueta, campo de texto, elemento de menú, etc.). Para este bloque se han especificado las siguientes propiedades:

* Selector (identificador del elemento de la interfaz de usuario);
* Tipo de Valor (tipo de valor extraído, en este caso, es el nombre);
* ID de Proceso (variable que almacena el identificador del proceso, indica con qué aplicación se debe trabajar);
* Tiempo de Espera (tiempo máximo de espera para el elemento especificado en segundos).
* Autoscroll (al activar la opción, se desplazará automáticamente la lista hasta el elemento que está fuera de la vista).

Aquí, el bloque “Obtener Texto” se ha agregado utilizando la herramienta de grabación de acciones del usuario.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc2Ds_2P6CsWXgZsdNvAu0fmGm70oD_qm0cE55eL8rx9L_bZOUugxRffoqAt8dVkr-4BkgZ00Vvy1EVy_Thdf2ipPGWnQxnZJV9S7De1lDt55_mK-5xIM3IZSutqpCLjYlTp8If5bNt3EPkgIo5_QHMNqOH?key=2Kw34UXGjHk-7PKjgLzXFw" alt=""><figcaption></figcaption></figure>

8. **Bloque “Convertir Cadena”** permite convertir una cadena al formato especificado. Para este bloque se han especificado las siguientes propiedades:\* Texto (cadena de entrada);

* Tipo de conversión (tipo de conversión, en este caso se seleccionó el tipo "Int" - deja solo números en la cadena).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXejEmpkn7KVjpJsVsdCg5DL4Xsw8_3RtmlkhYGnP8LsqNz3h_1Pl1JogBela5w3tXIGDhE7vFOYHeeowTg_mX6nAVIsl0Jq2NBSLKbp0KoTJsPrOIpaTUuoI-6tvtDx1X7-VcPCaz3n19Vblz6bmH7wI_RV?key=2Kw34UXGjHk-7PKjgLzXFw" alt=""><figcaption></figcaption></figure>

9. **Bloque "Condición"** verifica la veracidad de la condición especificada, después de lo cual la ejecución del script continúa hacia la salida "Sí" (si se cumple la condición) o hacia la salida "No" (si no se cumple la condición).

La condición se escribe en el formato: "variable" es igual a (==)/ mayor que (>)/ menor que (<) "valor".

Por ejemplo: $a == "Hola", es decir, si el valor de la variable $a es igual a "Hola", entonces salida "Sí", de lo contrario - salida "No".

$Result > 5, es decir, si el valor de la variable $Result es menor que 5, entonces salida "Sí", de lo contrario - salida "No".

En este caso se utiliza la condición de clic en el enlace, para ello se establece: $ControlEvent != "". Es decir, si la variable $ControlEvent no está vacía, entonces salida "Sí".

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfvkv3qB9wq9LiX5Vlu-dpyfD3WqpTBXJY5rvgdE4NW75WPMZclsJQQq0nQjz8opv7xs7TttCfnPVnMRd_5pn_fDrnKoKldIb1qVhtVvzCNtfMmrcJfO-2tDyc0A7sEl63RKkva9u2hdIkNgdWyK9_Akydu?key=2Kw34UXGjHk-7PKjgLzXFw" alt=""><figcaption></figcaption></figure>

10. **Bloque "Controlar elemento"** verifica que el elemento con el selector especificado esté en uno de los estados indicados. Para este bloque se especifican las siguientes propiedades:

* Selector (identificador del elemento de la interfaz de usuario);
* ID de proceso (variable que almacena el identificador del proceso, indica con qué aplicación se debe trabajar);
* Estado (estado que se debe verificar; en este caso, se verifica el atributo);
* Tipo de comparación (tipo de comparación; en este caso se especifica el tipo "Wildcard");
* Valor de comparación (valor con el que se comparará el valor obtenido del atributo, en este caso: 35);
* Respuesta esperada (valor esperado después de la verificación);
* Atributo (nombre del atributo);
* Retraso antes (retraso antes de ejecutar el bloque en segundos);
* Retraso después (retraso después de ejecutar el bloque en segundos);
* Tiempo de espera (tiempo máximo de espera para el elemento especificado en segundos).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdZR6CpQqCk0UBEKst4HKKswrC8bfzeoPSqstn2ZFY7GuQxa_t69InD0_LCqzkCE3e9N5O0vQ_gSJeZXtALwgRnaddeWoeymX9iQSlD58ire0j_yfNsiShVLzZu6TwaEww_eJzthjGQPv2tzPT1iGFo7gH5?key=2Kw34UXGjHk-7PKjgLzXFw" alt=""><figcaption></figcaption></figure>

11. **Bloque "Iniciar navegador"** inicia el navegador seleccionado. Para este bloque se especifican las siguientes propiedades:

* Tipo de navegador (navegador que se debe abrir);
* URL (enlace que debe abrirse al iniciar el navegador);
* Tiempo de espera (tiempo de espera para abrir el navegador en segundos).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcYC9rpkV6a8FDhndRZcPfPpjYMQAKROcuQkeTy6Rs17VIFuPrz93LOY-rzLl7tcjDcsky7Wcuyw2POAmsfKkIxt7R7FT_yfiAj_IXXayTh383WMi5RpH4MhlHJ3_rLCKvKzoMPyCKiL1MpZOxZZDrtrS_9?key=2Kw34UXGjHk-7PKjgLzXFw" alt=""><figcaption></figcaption></figure>

12. **Bloque "Controlar elemento"** verifica que el elemento con el selector especificado esté en uno de los estados indicados. Para este bloque se especifican las siguientes propiedades:

* Selector (identificador del elemento de la interfaz de usuario);
* ID de proceso (variable que almacena el identificador del proceso, indica con qué aplicación se debe trabajar);
* Estado (estado que se debe verificar; en este caso, se verifica el atributo);
* Tipo de comparación (tipo de comparación; en este caso se especifica el tipo "Wildcard");
* Valor de comparación (valor con el que se comparará el valor obtenido del atributo, en este caso: 2 000);
* Respuesta esperada (valor esperado después de la verificación);
* Atributo (nombre del atributo);
* Retraso antes (retraso antes de ejecutar el bloque en segundos);
* Retraso después (retraso después de ejecutar el bloque en segundos);
* Tiempo de espera (tiempo máximo de espera para el elemento especificado en segundos).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf5xTVUI8wLB09LpbdcB1RyNb8UlI1_vk0nChIY28stP3a9ftyAYumKvm8AqAX3PrTlEYbJfhdW-NXNiDcg_AXdI-SzlNvqx_EsPlxJq_ztNWT_RyfwRiyJQqdTgu-YBHXFGBGFj6rOuMaH_pgbZbopp23N?key=2Kw34UXGjHk-7PKjgLzXFw" alt=""><figcaption></figcaption></figure>

13. **Bloque "Crear documento"** permite crear un documento de Word. Para este bloque se especifican las siguientes propiedades:

* Usar COM (al activar esta opción, el trabajo se realizará mediante Word instalado);
* Visibilidad (al activar esta opción y la opción "Usar COM", la interfaz de Word se mostrará en la pantalla del monitor).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdTFMOXNn3aohsUPZtJr4jC62ZejV7jwEq2UYl1ZZZF-RNS1AGBlrmvPEFNiv8JT6_mibq2wUrFAvapQX2eFUgP9ZhMW-lRiCjlcVsVdd2iQNE_lYDWSDv7konqun3wbW8xZavDhOe0A76NYYhMrZBWKUi3?key=2Kw34UXGjHk-7PKjgLzXFw" alt=""><figcaption></figcaption></figure>

14. **Bloque "Escribir texto en documento"** permite escribir texto en un documento de Word. Para este bloque se especifican las siguientes propiedades:

* Enlace al documento (enlace al documento de Word abierto, con el que se está trabajando en este momento. El nombre de la variable en esta propiedad debe coincidir con el nombre de la variable en la propiedad "Enlace al documento", de los bloques "Crear documento" o "Abrir documento" del grupo Word, que se utilizaron anteriormente para crear o abrir este documento);
* Texto (texto que se debe escribir en el documento, en este caso el texto es: "Este es un documento de prueba que fue creado porque se introdujo el número 2 000 en la Calculadora").

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe7btpfWm1f5P15KY-OG6ItzunPSyNYsphkhM7byQ830w7g6kkLD3r1kZfc1rdvCw0Bh2oecpFZEUOKpkXCBKATWpNX0P30OeQulPZm6plTohYABjEHPhgjkNrHT9GDdZd9A9YMt0uijVNE438SwCA2cB5C?key=2Kw34UXGjHk-7PKjgLzXFw" alt=""><figcaption></figcaption></figure>

15. **Bloque "Controlar elemento"** verifica que el elemento con el selector especificado esté en uno de los estados indicados. Para este bloque se especifican las siguientes propiedades:

* Selector (identificador del elemento de la interfaz de usuario);
* ID de proceso (variable que almacena el identificador del proceso, indica con qué aplicación se debe trabajar);
* Estado (estado que se debe verificar; en este caso, se verifica el atributo);
* Tipo de comparación (tipo de comparación; en este caso se especifica el tipo "Wildcard");
* Valor de comparación (valor con el que se comparará el valor obtenido del atributo, en este caso: 3 000);
* Respuesta esperada (valor esperado después de la verificación);
* Atributo (nombre del atributo);
* Retraso antes (retraso antes de ejecutar el bloque en segundos);
* Retraso después (retraso después de ejecutar el bloque en segundos);
* Tiempo de espera (tiempo máximo de espera para el elemento especificado en segundos).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeoSx9Q1WYvkgiODg3RFUb2y29EaLq70wz48jIFF-9X3plZrfPCJ1q45pMS69Y-EcqWLMaflx-BBRyUpdfVpLh37pvIE0x8Bl57_t9qKy2Mq0gECexNT32u1byfMmK7yjpMyWKuljhNLuUUgZIgn-T_6KOH?key=2Kw34UXGjHk-7PKjgLzXFw" alt=""><figcaption></figcaption></figure>

16. **Bloque "Enviar correo"** permite enviar un correo utilizando el protocolo SMTP. Para este bloque se especifican las siguientes propiedades:

* Asunto del correo (asunto del correo, en este caso: "Nuevo evento en la Calculadora");
* Texto del correo (texto del correo, en este caso: "El usuario ingresó 3 000");
* Marcado HTML (al activar esta opción, el contenido del correo se enviará como una página HTML y puede contener etiquetas);
* Tiempo de espera (tiempo de espera para la respuesta del servidor en segundos).

  <figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcyMVJ1jsC5g5mLqqkoYN983zN9JyX3kpD_0NEhQYelKh8MYBtaPNVYjf6TW80ioeM9-8laaxAfO_4oJSbjs-8YiUl0MnTKlJ7bsVx7QMHpLQVDJ3Z6ndfVJBZGgEriR8yoCuz0MB12oSNt2-pUYYHOsAnB?key=2Kw34UXGjHk-7PKjgLzXFw" alt=""><figcaption></figcaption></figure>

17. **Bloque “Ventana de mensaje”** muestra al usuario un cuadro de diálogo modal, con un título, texto y un conjunto de botones definidos. Para este bloque se especifican las siguientes propiedades:

* Mensaje (variable que se mostrará dentro del cuadro de diálogo, en este caso: “Correo enviado”);
* Botones (botones que estarán disponibles para que el usuario haga clic).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcoWiWykzd3lj2lHC7tNCaz8V16CNe8TGomc-mZ6dC22IA5njTj7KeR8gPtmGVnddyKL0RPmjzsa158iUfse0A6tq-nxkJB20EOmulcx9mXSfET28LOV2QtLEuuYdMl6b-C3Y3_Fpum4d6CeIOIvZJ1Rqo?key=2Kw34UXGjHk-7PKjgLzXFw" alt=""><figcaption></figcaption></figure>

18. **Bloque “Clic del ratón”** emula un clic del ratón en el botón de reinicio. Este bloque se agregó mediante la herramienta de grabación de acciones del usuario.


---

# 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/primery-robotov/calculator-action-triggers.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.
