# Botón de Acción de Calculadora con Diálogo

Consideremos un ejemplo de un robot que muestra cómo se puede "agregar" su propio botón en la ventana de otra aplicación y realizar una acción específica al hacer clic en él, en este caso, mostrar un cuadro de diálogo con texto y un enlace. Antes de ejecutar el proyecto, se debe iniciar la Calculadora (verificado en Windows 10).

El proyecto del robot consta de un diagrama. Así, si se describe paso a paso, este robot funciona de la siguiente manera:

1. Crea un botón para la calculadora “Mostrar nuestra sugerencia” utilizando el [Editor de Ventanas](https://docs.sherparpa.ru/es/sherpa-rpa/sherpa-designer/rabota-v-sherpa-designer/osnovnoe-menyu/panel-razrabotka/menyu-dopolnitelno/redaktor-okon).
2. Después de hacer clic en el botón creado, muestra el cuadro modal creado en el “Editor de Ventanas” con una sugerencia y un enlace a la calculadora en Google Chrome.
3. Después de hacer clic en el enlace, inicia la calculadora en Google Chrome, y después de hacer clic en el botón “Cerrar”, cierra el cuadro modal.

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

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd9Q74m933XbFrtWtKk1KK-0Hsr2tAFTuniCK3AhkpLwFUsKrNkS0Hyq7ZZmCMkEbneBUfkVddvXSGCERfFAeM8ShP3YTBXOlWbe95SHwKHBzekf1qDJozuothAeEcHB0lmuAo8TeS_tNNnY1pGlCiRNydF?key=DhcpajRIrlTxITYaT99gBQ" alt=""><figcaption></figcaption></figure>

1. **Bloque “Inicio”** (desde este bloque comienza cualquier diagrama).
2. **Bloque “Mostrar botón para la calculadora”** permite crear sus propias ventanas (formularios) y mostrarlas en modo modal y no modal, incluyendo de manera asíncrona en relación con el flujo del guion. 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” en la barra de herramientas principal. Para este bloque se especifican las siguientes propiedades:

* Configuración (cadena de configuración);
* Objeto de ventana (variable con el objeto de ventana);
* Selector (identificador del elemento al que se vincula 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, al especificar un selector, el valor del ángulo de vinculación indica la vinculación de la esquina superior izquierda de la ventana a la esquina del elemento encontrado);
* Desplazamiento X (desplazamiento en la coordenada X al mostrar la ventana);
* Desplazamiento Y (desplazamiento en la coordenada Y al mostrar la ventana).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfQutQ7GnRKyv8ZDtj84oiqMndaEZT9guKsqv1q2mqpBNIPo0ODTtuF8EULskfCm_awVKWP4XY4n_UouPXFS3aXNAsWXlgERMu4ISdWzn9NcrpPO65563drrZFfVozWF_ovFj9tN9D-u13gXGAlbJDM9yU?key=DhcpajRIrlTxITYaT99gBQ" alt=""><figcaption></figcaption></figure>

El botón que muestra el bloque fue creado utilizando la herramienta “Editor de Ventanas”.

Puede verlo y editarlo haciendo clic en el botón “Editar…”, que se encuentra dentro del bloque.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfVdNey6Jpwvul2fu6ru4ybsCrwy5JcXtkHTLjocXT11PQWJrtS94i1AmN0a3Mks10F4Ij9N_djm-auc-bR--HJOMVw1Gapw2WEvJOBxaJc3DFsKlTtbFKLqrg2ydSGgtmrAbG9qbOCQuNpkwFIM1cGAbE?key=DhcpajRIrlTxITYaT99gBQ" alt=""><figcaption></figcaption></figure>

3. **Bloque “Condición”** verifica la condición especificada para su veracidad, después de lo cual la ejecución del guion continúa hacia la salida “Sí” (si se cumple la condición) o hacia la salida “No” (si la condición no se cumplió).

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 botón, estableciéndose como tal: $ControlEvent != "". Es decir, si la variable $ControlEvent no está vacía, entonces salida “Sí”.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc2KUtDKxeED8NSqAhXjxD0wiWA_ZC4MShKdOmQY3iocsjjKLAneWfeju2patKZGEyEyHdpC2TJj4NvoBDDOZ9m4X0TaTXVC-8k1rpP70Kb6cSPISSey7CVenTTVesz_DKGIqXVokr-XIbjMhO2Wr4fEtkd?key=DhcpajRIrlTxITYaT99gBQ" alt=""><figcaption></figcaption></figure>

4. **Bloque “Mostrar ventana con sugerencia y enlace”** permite crear sus propias ventanas (formularios) y mostrarlas en modo modal y no modal, incluyendo de manera asíncrona en relación con el flujo del guion. 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” en la barra de herramientas principal. Para este bloque se especifican las siguientes propiedades:

* Configuración (cadena de configuración);
* Objeto de ventana (variable con el objeto de ventana);
* Modal (al establecer la bandera, la ventana se mostrará como modal);
* 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, el valor “Predeterminado” indica el centro del elemento).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdSJ2yLkSHBunRTU64VmHr-ktK-mZ2cuYgjZux8Sggcf8LlOvuJqaz_wFxssqmlcYqfJInmKw1aaN5aXQgreasGULpKuR1tZpq8dvJlqE4qawMlXEdyLud-eYvc36P58_Lx5lz-cjn-kAwf-JvAIn_Hv7U?key=DhcpajRIrlTxITYaT99gBQ" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe0UVlMoXCCcXFnKGVNhNlaAnlJyJoe4wvj64kK4ZOw-UGr-tsb7LH86zhSP_uIHofnje_AfnvuY8dyBOnot5lB4-bd7fm8LltTycyQGQYANedVtC7c1yjX9CnWsW4KCFFUBH359xH229EEBKbkWSwA3YZM?key=DhcpajRIrlTxITYaT99gBQ" alt=""><figcaption></figcaption></figure>

5. **Bloque “Log”** permite registrar mensajes arbitrarios y/o valores de variables durante la ejecución del guion del robot. Para este bloque se especifica la propiedad “Valor”. En las comillas se indica una constante de texto, y el nombre de la variable comienza con el símbolo $. Es decir, este bloque registra en el log del robot el valor de la variable.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcurrCc842ZXeenJxinhWZcUKxoBHmCPY8hg9v-DUIhOFO4rgDtW86ZblBG-Z8egsSZvH6boBlxNTXVTEdQBY6bbt1yQAQ-Cn9F-qLf0COz69TqTbigsuq2vu_FscWfYb2kr398wU08G4ATlgMgxZznnYE8?key=DhcpajRIrlTxITYaT99gBQ" alt=""><figcaption></figcaption></figure>

6. **Bloque “Condición”** verifica la condición especificada para su veracidad, después de lo cual la ejecución del guion continúa hacia la salida “Sí” (si se cumple la condición) o hacia la salida “No” (si la condición no se cumplió).

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, estableciéndose como tal: $ControlEvent.Contains("LinkLabel"). Es decir, si la variable contiene el texto "LinkLabel", entonces salida “Sí”.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdOYoI-awn6I4dqEsuP6h1NgQs96U0wm68p29srr7kAB_BYntQ3NJeoELLYygNINYolne9HqUjDQy59Hl9blAJmFgK2vg3dlB18nbeA0qEZ4Y1-XDNv3pXHVJyGlgZs8MgDHFD953arre4sG_-uobHWbqrH?key=DhcpajRIrlTxITYaT99gBQ" alt=""><figcaption></figcaption></figure>

7. **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_4nXf8EdDnlYa69F7R6mFaOVJuVcYfCOWtRIsQqeqO9ShxtCD3nCcL2D6032j8X2RR4Fw4Mx-lqwt6OuOF63-hUsV81nHuYZUK5A4ypXXjXdgXFXJH_daF7SFYEmVYhHqjomccfLY2I4aL4qdxeGKBlGi7rcDd?key=DhcpajRIrlTxITYaT99gBQ" alt=""><figcaption></figcaption></figure>

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

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 la salida es “Sí”, de lo contrario – la salida es “No”.

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

En este caso se utiliza la condición de clic en el botón “Cerrar”, para lo cual se establece: $ControlEvent.Contains("CloseButton"). Es decir, si la variable contiene el texto "CloseButton", entonces la salida es “Sí”.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf1akdUiw2omDtGBYb1qmaTC8-s9fHNawllfIr_v10D8mkGtfbcN4_6EV9JidXs10WTly9c59qIZXMutsfbwi1nwy51joRZsWiRURj1wbPnH8V8mdMXD5Qx21Pp9Li86ptNsuDtiSUlbPB5Uu33vckdCd4?key=DhcpajRIrlTxITYaT99gBQ" alt=""><figcaption></figcaption></figure>


---

# 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-button-with-dialog.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.
