# Whatsapp

Consideremos un ejemplo de un robot que permite realizar envíos automáticos a través de Whatsapp.

El proyecto del robot consta de tres diagramas y dos archivos en formatos xlsx y txt.

El diagrama principal del proyecto se llama **“WhatsappSend”** y se ve así (para mayor comodidad, los bloques del diagrama están numerados):

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

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcMmAWlLRuggcNguIs6t-P5MWYfO4PsiHW7lZg6Zl1F3edaPgCRuwdZY0pntP63-2idRQeOwrfUQa008uUhJA7c5flfSmKR0hxoARVgfI4XORNlXovKMOzLvcLnsbtrCLVNamvsUA?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

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

<br>

1. **Bloque “Inicio”** (desde este bloque comienza cualquier diagrama).
2. **Bloque “Proceso”** permite crear escenarios que constan de varios diagramas. La ejecución del escenario continuará desde el bloque “Inicio” del diagrama especificado del proyecto. La ejecución del escenario volverá al bloque actual y continuará en el diagrama actual tan pronto como se alcance el bloque “Fin” en el diagrama externo. Para el bloque “Proceso” se ha especificado la propiedad “Nombre del diagrama” (nombre del archivo del diagrama en el que continuará la ejecución del escenario).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdcBkkMqVI-ggyu7OPXDRwkGHt1ltuYOod2y1RHMWP5Pa6amW687oBPbWPC75Mo0TRn7qrw-u411KWaRdnDmE8GVTRksqUjADiI5hN_Uc9vclg4MOMZcFzRYvsmXhGoU5wENyg-mQ?key=cSgHfCR5kYldViNwtblH6ZqL" 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 escenario 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 (==)/ mayor (>)/ menor (<) “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 ha establecido como condición: $ComenzarTrabajo. Es decir, si la variable $ComenzarTrabajo (que es una variable booleana) es igual a $true, entonces bajamos.

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

4. **Bloque “Iniciar Chrome”** permite iniciar Google Chrome. Para este bloque se han especificado las siguientes propiedades:

* URL (dirección de la página que se abrirá al iniciar Google Chrome);
* Pestaña actual (si se activa la bandera, la página se abrirá en la pestaña actual seleccionada del navegador);
* Tiempo de espera (tiempo de espera para iniciar la aplicación y cargar la pestaña en segundos).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeQIJ1BHlAqiLuLK4d38CSEvkDdEuS33rTpXvyhhmMJmjJn6D8YRrCr2s8Xu6SHAjM-TQASqkTbVxzCgzJX2cQiTI9obkOdzjb-90tVpWb2T-tTBvTZtNMFkdzYQz6IIErVlO7Puw?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

5. **Bloque “Esperar aparición”** espera la aparición de un elemento de la interfaz de usuario en la pantalla, añadido al diagrama mediante [la herramienta de 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).
6. **Bloque “Log”** permite registrar mensajes arbitrarios y/o valores de variables durante la ejecución del escenario del robot. Para este bloque se ha especificado 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, registra en el log el mensaje “Error de conexión. Puede que el teléfono esté fuera de alcance…”.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXesZqbEeS7-_CzDcs66rq0YWKTOdSa2NUr4BF6oZw2w82cqp2gRERXOwEsmlU1jPz5aF7NJlhmZUb3g_LNPBC7k5Ko597YciXRzw4BW-MyzrquMMvvnUACuKfkRfb1fVtQWlvSjhQ?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

7. **Bloque “Asignar valor a la variable”** establece nuevos valores para una o varias variables. En este caso, en las propiedades se han indicado dos valores que deben asignarse a dos variables, respectivamente.

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

8. **Bloque “Abrir documento”** permite abrir un documento de Excel. Para este bloque se ha especificado la propiedad “Ruta al archivo” (ruta al documento de Excel que se requiere abrir).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcvvIUHH7bWJz54q54-_EDZGu_g-h-LVmU1LErrH5_xt4s6tuVcQ8Sx1JI1JtbWnGAaPSAXOAZx7yIhHyP0QNHzA_1QOnDbggpCAUwnK7Cpsq8_fmwZGb-u-incIy7ZlW8sROpdOg?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

9. **Bloque “Asignar valor a la variable”** establece nuevos valores para una o varias variables. En este caso, en las propiedades se ha indicado un valor que debe asignarse a una variable, respectivamente.

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

10. **Bloque “Obtener valor de celda”** permite leer el valor de una celda del documento de Excel. Para este bloque se han especificado las siguientes propiedades:

* Enlace al documento (enlace al documento con el que se está trabajando actualmente);
* Hoja (número de orden de la hoja en la que se encuentra la celda requerida, la numeración comienza desde 1);
* Fila (número de fila en la que se encuentra la celda requerida, la numeración comienza desde 1);
* Columna (número de columna en la que se encuentra la celda requerida, la numeración comienza desde 1).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc7gctByGXE8fW82ClujQYCKSZ8-2g9-Ce1B_9_KlXMfFY010ao1WCtTtZK7iZViv9R2e6xbNgALKuOxHuJVVdu1T8eOt8DmIdZg7JrUK74L-MzG5nm0mtybuYUPdkhzRqQslRM_w?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

11. **Bloque “Obtener valor de celda”** permite leer el valor de una celda del documento de Excel. Para este bloque se han especificado las siguientes propiedades:

* Enlace al documento (enlace al documento con el que se está trabajando actualmente);
* Hoja (número de orden de la hoja en la que se encuentra la celda requerida, la numeración comienza desde 1);
* Fila (número de fila en la que se encuentra la celda requerida, la numeración comienza desde 1);
* Columna (número de columna en la que se encuentra la celda requerida, la numeración comienza desde 1).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfaYtZiwAcedj-fW42sOCKsueMiFlk8wsExISq42wzUgmT2v0oyGAayRV046OFzcJqrAT2FXbKtzJF-8OrOIst65zToTn4Zg8eKMQJM3xI5m4LiuosJBEoehX7TbuSUQGtJHi6R3A?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

12. **Bloque “Condición”** verifica la condición especificada para su veracidad, después de lo cual la ejecución del escenario 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 (==)/ mayor (>)/ menor (<) “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 establece la condición: $ValuePhone.Trim().Length==0. Es decir, la longitud de la cadena es igual a 0.

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

13. **El bloque “Condición”** verifica la veracidad de la condición especificada, después de lo cual la ejecución del escenario 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 (==)/ mayor (>)/ menor (<) “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 establece la condición: $ValueFIO.Trim().Length==0. Es decir, la longitud de la cadena es igual a 0.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdzwD6UtrjjPka8y3alzhzxWoslPgM92uDooafIexwz11puUAmvrkk17FSLbJg8VG6c2B-0KBwKWIqVQ25sjbpOGCJsAmI2b6ZE4Tq_w8s2BiEvlpFEb1CnuP002ijHe9P5mSbyLg?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

14. **El bloque “Asignar valor a la variable”** establece nuevos valores para una o varias variables. En este caso, en las propiedades se indica un valor que debe asignarse a una variable, respectivamente.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdrGKS3hL9YWhbqRxTsKAY9XQHnrSgBY3LWzGmmpnog_lpKdD5EwabILOzygJiRkhvgPaB4ehm8DMga38_MQErwdXNbRJlu_3Z4Nltqsmczhn-7mUYYBNgTArtEmvog1-tyScuDTQ?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

15. **El bloque “Condición”** verifica la veracidad de la condición especificada, después de lo cual la ejecución del escenario 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 (==)/ mayor (>)/ menor (<) “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 establece la condición: $countempty>5. Es decir, la cantidad de mensajes vacíos debe ser mayor que cinco.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXczMNhAChN81dmgDIrQDkOSwosEDxYBlAaY4z0KKqgnfUJpT87NeGibgpn6fDajAO-9SjfMi_rJhO_TmCSTaWKzw4mpjVrrh-uWL2KYGszNGgPk5Y6ArVNptSBhbeY_et_AgGt_Og?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

16. **El bloque “Guardar documento”** permite guardar un documento de Excel. Para este bloque se indican las siguientes propiedades:

* Enlace a Excel (enlace al proceso de procesamiento del documento de Excel. El nombre de la variable en esta propiedad debe coincidir con el nombre de la variable en la propiedad "Enlace a Excel", bloques "Crear documento" o "Abrir documento" del grupo Excel, que se utilizaron anteriormente para crear o abrir este documento);
* Enlace al documento (enlace al documento que se debe guardar. El nombre de la variable en esta propiedad debe coincidir con el nombre de la variable en la propiedad "Enlace al documento", bloques "Crear documento" o "Abrir documento" del grupo Excel, que se utilizaron anteriormente para crear o abrir este documento);
* Ruta al archivo (ruta al documento de Excel).

**Nota:** *para guardar el documento en el mismo archivo, deje el valor vacío. De lo contrario, ingrese una nueva ruta al archivo. Si el archivo especificado existe, será sobrescrito. Formatos disponibles: ".xlsx", ".xlsm", ".xls", ".csv", ".pdf", ".xml"*

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcs8cWopu0zyBt57fmSKvCHia3t0KCeVbZMzOa7UHrS0LiP7N5zBB6xpiFVzwSXENHWTa3Kk6QXmFDYmNVJzBUDOowpAdPlH39ea3CsOLW_tfOUH9QFRfJV0Frs-Qf-e1SoZnGi3Q?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

17. **El bloque “Asignar valor a la variable”** establece nuevos valores para una o varias variables. En este caso, en las propiedades se indican dos valores que deben asignarse a dos variables, respectivamente.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfcoqc8Uulj5CcKEDe9DxB_6ApJljp6hei12hv9_LM5hGPW4OF30Zlffz-68iNV-pMaxUT_4eZ7ZE6xuUW14wwXq_WvfWc6D7xXS3YEJamQZUcTrniMZAH6xmWPgWa8R-dXnamIKg?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

22\. \*\*Bloque “Proceso”\*\* permite crear escenarios que consisten en varios diagramas. La ejecución del escenario continuará desde el bloque “Inicio” del diagrama del proyecto especificado. La ejecución del escenario volverá al bloque actual y continuará en el diagrama actual tan pronto como se alcance el bloque “Fin” en el diagrama externo. Para el bloque “Proceso” se ha especificado la propiedad “Nombre del diagrama” (nombre del archivo del diagrama en el que continuará la ejecución del escenario).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXexdf6R3oVqdjTmsIlfVggy74_zX8RgQ5wE67ktxXV0xhUq88wQV80J0YH1UxdfNNm3BpJ-NvOGxhpz6iLHDREqDitCE0u2oIllX-MweJeBrM-2xTjp8oC1771SdNTxHR1wmezAKA?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

23. **Bloque “Condición”** verifica la condición especificada para su veracidad, después de lo cual la ejecución del escenario 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 ha establecido la condición: $IndexSaveResult>=0. Es decir, el índice de guardado de resultados debe ser mayor que cero.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdMxT_gWyTX5hTjyZ98lSKYQ8--GCTX4kQVsuh085gom_gGYK7mnPDffynlMej8T7PzK4Vsae8NPRFcjEMEmSPE-EHDXcdMN2SeNZ7Tqsjyaqgogl-OqzdlnaaHxG1m5bI0XmRrCQ?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

24. **Bloque “Condición”** verifica la condición especificada para su veracidad, después de lo cual la ejecución del escenario 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 ha establecido la condición: $SendSuccess. Es decir, la variable lógica = $true.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfTEtaql3p_FCdxwoLNto2Sph2fRSq32Q9rNbVbtme_zsC1TdfX7MZdC-dXL9jhiiHfm0V_kfxUwiW4eqWD73Qxu35jtJB5N9RQMdSz9hynkWLno55sMTkzw-VNLDqVFuGcYMRSmw?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

25. **Bloque “Escribir valor en celda”** permite escribir un valor en una celda de un documento de Excel. Para este bloque se han especificado las siguientes propiedades:

* Enlace al documento (enlace al documento con el que se está trabajando actualmente. 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 Excel, que se utilizaron anteriormente para crear o abrir este documento);
* Hoja (número de orden de la hoja en la que se encuentra la celda requerida, la numeración comienza desde 1);
* Fila (número de fila en la que se encuentra la celda requerida, la numeración comienza desde 1);
* Columna (número de columna en la que se encuentra la celda requerida, la numeración comienza desde 1);
* Valor (constante, variable o resultado de cálculos que se deben escribir en la celda requerida).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdP-JL5n9AfMBVxnXQ7W_o-Vdfsvy_KK-3HAMKMGv3ambTWGUPgbuY9zo9CfcLgpniUNeRJhdPqhGg6lTQWbJIGrPAalzKM-w0K6gMAXCB8u2fF01DgeDfpMJst49aPFn964LtL0A?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

26. **Bloque “Asignar valor a variable”** establece nuevos valores para una o varias variables.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeCHeoYg93Ocflgo2BaXYLqqkrdKE1QVOPySE-lD2sSFhnz9Ea6WwZvh2Gh_UyHO8GFFkwLTjvw7LyleS_LKS8PMo5qCkSObqQQGXhpbUraYixf-tj8x-JpqIL6PQEoSBzeS8HLhA?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

27. **Bloque “Escribir valor en celda”** permite escribir un valor en una celda de un documento de Excel. Para este bloque se han especificado las siguientes propiedades:

* Enlace al documento (enlace al documento con el que se está trabajando actualmente. 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 Excel, que se utilizaron anteriormente para crear o abrir este documento);
* Hoja (número de orden de la hoja en la que se encuentra la celda requerida, la numeración comienza desde 1);
* Fila (número de fila en la que se encuentra la celda requerida, la numeración comienza desde 1);
* Columna (número de columna en la que se encuentra la celda requerida, la numeración comienza desde 1);
* Valor (constante, variable o resultado de cálculos que se deben escribir en la celda requerida).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeZVeCc6fL2dPyUfRcmHoK5kglWQ7b54GjgRcA1u-fIi4-XwXkZO0D6Xx-dAtKJ5SIc7X9DXtCAseqsczwrkDXgeAkkiWKIANd4eYl3CcbcCDBzcS_4QFtjWpLP-SGFAdpjEjPXPw?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

28. y 29. **Bloques “Fin”** (con estos bloques se finaliza la ejecución del escenario o se devuelve el diagrama del subproceso al proceso principal).

**Diagrama “Cargar configuraciones”**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeUIYs7r33_kKTfCFcsvDiIcbHL3XK-0YrZIlOHSevguR-bmuYnYWi6WSf-TLyo9lnynmBG7x0LS7ppmYoZxKZAomQS-KeAySO_JgoFGcjPDBqoOiAgF4iTTfbuVy1DlUPwOBPL8Q?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdM-B3eUdxojBlToR3TXgBG0JUuomuBZczOJkrYTB1_P8ZWjLTyW3v2CvyR0Owy4Kmll09wC5yS6coWReOz03lLHqTGqyBmNbXnWZP1bzIsF0perWl4Bq88YOs9DnK-5hJzR06oeQ?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

1. **Bloque “Inicio”** (desde este bloque comienza cualquier diagrama).
2. **Bloque “Abrir archivo”** muestra un cuadro de diálogo que permite al usuario abrir un archivo. Para este bloque se han especificado las siguientes propiedades:

* Título (Texto que se mostrará en el encabezado del cuadro de diálogo);
* Filtro (filtro de archivos para cada parámetro de filtrado, la cadena de filtro contiene la descripción del filtro, seguida de una barra vertical (|) y el patrón de filtro. Las cadenas para diferentes parámetros de filtrado se separan por una barra vertical).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXddmxfHpvbg0cw_TmizaH58xOD9oKqIuvKvwxE3H8sh7rrjrHv2FSR9bYW_7Rh1tJAN7w6dtYg_wzT7BarrlY7PqMNwdoUBEroo2nft-RZtkzoUPef7DpBCNyHBURySawpH1UDs?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

3. **Bloque “Ventana para ingresar texto”** muestra un cuadro de diálogo modal destinado a obtener información del usuario. Para este bloque se han especificado las siguientes propiedades:

* Título (texto que se mostrará en el encabezado del cuadro de diálogo);
* Mensaje (texto que se mostrará dentro del cuadro de diálogo).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcjMfpomTtlrTpW5avrlZ4dBVAo8k0bZVOYTP9uXriAty8DcFVu9cSFy00HYvPwVxMqTfMuH4SmJPTc5Bic5I5HZKzYvqfM4HZL6UWxxt4emoCHSbV8RjcUSHtUo3DDq-ZkwZenpQ?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

4. **Bloque “Condición”** verifica la condición especificada para su veracidad, después de lo cual la ejecución del escenario 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, la condición establecida es: \[int]::TryParse($Result, \[ref] $IndexPhone). Este método convierte el texto en un número y devuelve un resultado booleano, que se verifica como $true.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfJyb3GZrMX_RVCm8dMVwbk7NcY2wf7KuKpn6ZtEttYVh6tF2ckg8DmWZVSfXLZmcZWMuWvwJPXZyv6Yho5yWsPdEXvfxcOiltIPsTHv9N1CkeaJtHxHsMrIqcgma0zpd-6bbm1Cg?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

5. **Bloque “Ventana para ingresar texto”** muestra un cuadro de diálogo modal, destinado a obtener información del usuario. Para este bloque se han especificado las siguientes propiedades:

* Título (texto que se mostrará en el encabezado del cuadro de diálogo);
* Mensaje (texto que se mostrará dentro del cuadro de diálogo).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe2xiaYVY1EoMObSvmZ63lsazXETP0w8qLjVE7hktoOUF9VneluSYDEwd4Ek_CA5CLntev8I7rH7jaulkBFDTlke4oCcsRNRGR6MUMPJku3BuLP6r7ilCIql1msYI8dYzKWw5ZqyQ?key=cSgHfCR5kYldViNwtblH6ZqL" 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 script continúa hacia la salida “Sí” (si la condición se cumple) 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, la condición establecida es: \[int]::TryParse($Result, \[ref] $IndexFIO). Este método convierte el texto en un número y devuelve un resultado booleano, que se verifica como $true.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc8VBP38Q-PoATX_VUfS6Mmylb8lt6XUVf46X5mqnmdVg8tRaI-zl3kXvaNHM-QFesXsLDhaS6dY6a7beoSgBiB9N-j2yZMxETihTVm8UL5g9EHKRduUGiCBXXZIoUIVVyy0p3hMQ?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

7. **Bloque “Ventana para ingresar texto”** muestra un cuadro de diálogo modal, destinado a obtener información del usuario. Para este bloque se han especificado las siguientes propiedades:

* Título (texto que se mostrará en el encabezado del cuadro de diálogo);
* Mensaje (texto que se mostrará dentro del cuadro de diálogo).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdaITMyi5cAdtPljJhLfVwGmHUM_dHD-vkZhWr5ZC-h917RV--3vvDLifQ82wFuE-RmlSIwgDLJI8Q1HXUSp-GLz6cRdILyvCnggviX9UCQI4JjPESpR6MRTEW9cGX1kIBvDVNSxw?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

8. **Bloque “Ejecutar expresión”** inicia la ejecución de una o más expresiones en un lenguaje compatible con PowerShell. En este caso se utiliza una expresión.

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

9. **Bloque “Abrir archivo”** muestra un cuadro de diálogo que permite al usuario abrir un archivo. Para este bloque se han especificado las siguientes propiedades:

* Título (Texto que se mostrará en el encabezado del cuadro de diálogo);
* Filtro (filtro de archivos para cada parámetro de filtrado, la cadena de filtro contiene la descripción del filtro, seguida de una barra vertical (|) y el patrón del filtro. Las cadenas para diferentes parámetros de filtrado se separan por una barra vertical).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdyzBFM0JrBie3QAcFF8bfbOOYDvrHwmPhkhoMwaDXCRpYkF9j3evoD0m1ijXiox_w4tsMUwCWXHK0krmu5pCiLcoTIyr3K1sKxY2w3ZsL5v-DF24SULVJr6Kkfcmq2P8Eh0T4Rag?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

10. **Bloque “Leer archivo”** permite leer el contenido de un archivo de texto en una variable. Para este bloque se han especificado las siguientes propiedades:

* Nombre del archivo (nombre del archivo de texto cuyo contenido se requiere leer);
* Codificación (codificación del archivo).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXflxg5G6PJXpYWekVcBuJoOOINFZsZ6aHSE3lSWFa5TQLGi3nDQ4EV0pMMJhVbdC6nJqPYHSEe-V1_PDHAvDc_tGG4fn1CR6GF1ecK4Qv1HVKeYsu2TwtstPUSSbdhn7UMIw9DVog?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

11. **Bloque “Asignar valor a la variable”** establece nuevos valores para una o varias variables. En este caso, en las propiedades se ha especificado un valor que debe asignarse a una variable, respectivamente.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdUVEqRnPFD110iUChKkk27aaL4ENjl35cQmja72qRSgkS5JmWaXYtH70foiOJUrMy2L7OKQDDEwmV_eJirDVpKvklK9veztC-_ieit7IPvWCNjhjkpsU8pPnTNlWoMNmyT8tmiaw?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

12. \- 16. **Bloques “Fin”** (con estos bloques se finaliza la ejecución del script o se devuelve el diagrama del subproceso al proceso principal).

**Diagrama “Enviar mensaje”**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXda80xwG9zyddeUe9jBviiqNfrantE56q5K9Ma2-ASRxRI9SJgjr4ounUQK971rpXgqxLmOhw0mP3DievnlqYPswuOfUSBJrmrVtsq6s577tNimfUuPc78vKL8cDixfJRcVIwg1EQ?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe3ZfhfmXkLEzmxAbVNwNGzBmy4iXVEQ3wycl-ReDIvirBrffmxodjk59O17Wk2kVYoYiKAbfeaUaVr2WVsoG3NCnHPld0FFly1wgzP2k_2dqP0bqVYA2-2P2vyqfkq_shaJUejbA?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

1. **Bloque “Inicio”** (desde este bloque comienza cualquier diagrama).
2. **Bloque “Asignar valor a la variable”** establece nuevos valores para una o varias variables. En este caso, en las propiedades se han especificado dos valores que deben asignarse a dos variables, respectivamente.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeAnpTBL3WaqIZjF8Y1SfMVGEtgN3FoBXSkJiZKMRpLDAZbU3OcW-VQeXBFy-gjEVH8DwlyygyQj_H4t5PKfRhKxOU7jwFHv8WbC_M_ahwnZWHVC56ctHq4iKWnFzSoy-cpzlScZA?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

3. **Bloque “Ciclo”** permite repetir una cadena de acciones (bloques) varias veces y al mismo tiempo contar el número de iteraciones del ciclo, registrando el número actual en una variable especial (especificada en la propiedad “Ciclo”), que se puede utilizar luego en otros bloques. En la primera entrada al bloque, el valor de la variable de la propiedad “Ciclo” se iguala a “Valor inicial” (en este caso es cero), y luego la ejecución del script continúa hacia la salida “Ciclo” de este bloque (en lo que se llama “cuerpo del ciclo”). Tan pronto como la ejecución del script vuelva a este bloque, el valor de la variable “Ciclo” aumentará en el valor de “Paso” (en este caso, es 1), y nuevamente ocurrirá la transición hacia la salida “Ciclo”. Tan pronto como el valor de la variable “Ciclo” sea mayor o igual al “Valor final” (en este caso, se ha establecido como la variable $Teléfono.Length), la ejecución del script continuará hacia la salida inferior del bloque. No olvide conectar la salida del último bloque en el cuerpo del ciclo con la entrada de este bloque o de alguno de los bloques anteriores.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcA1XiJ5sw32p6Eep08Ij7NZS5RGZYKEm3BJs4a-AssobJFedi4sYydNRejZasUb7O69a5veKH8QsHanUc5rU_jWmpauHYX2Tce5GS-XFx3XlXBPWRpI12u64ukr0lTNHlN6GBQLg?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

4. **Bloque “Condición”** verifica la condición especificada para su veracidad, después de lo cual la ejecución del script continúa hacia la salida “Sí” (si la condición se cumple) 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 “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, como condición se establece: \[char]::IsDigit($Teléfono\[$indchar]). Es decir, se verifica que en la cadena cada carácter sea un número.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeVlaVzxYQlFo7WB8KcBAWL-1Px4iISfnnXHjOWdc96nYE_Z8g7NKydJpiZzx8x4DiIEOrm0eA1Q0QGXXvWlwougP7EJQNIhSztusWN6kZk4DyQbwK2TFZZdb4twvkZzYieMLzCug?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

5. **Bloque “Asignar valor a la variable”** establece nuevos valores para una o varias variables. En este caso, en las propiedades se indica un valor que debe asignarse a una variable, respectivamente.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcDTOtjtSYhnYvo_Zlt4pp9saTwMd74p6DmT1qdLeiIEvO-7HFHBadyGHDuRaU2ZMVOV2VPz7ElOxTYhYJx8sTBlmi6EhI-qYwRVuh2b6V0_uHFzlRr_e9iroBwjLOt61jwVBIdXA?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

6. **Bloque “Obtener subcadena”** permite extraer una subcadena del texto original. Para este bloque se indican las siguientes propiedades:

* Texto (cadena de entrada);
* Índice de inicio (índice del carácter inicial, la numeración comienza desde 0. Al indicar un valor menor que cero, el índice inicial se cuenta desde el final de la cadena);
* Cantidad de caracteres (cantidad de caracteres. Al indicar un valor vacío o una cantidad igual a cero, la cadena se extraerá desde el índice indicado hasta el final de la cadena).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdF8KePdpJRqOUgsr5S0ch18kpWFHLsnTBFxhg5ATuhK1MnuPye0D8pWchidtr_mEbKc-5971gZz03taRHURBkse-XVNueCXko3cglOp22dlYYdShHdGuDI69xmVxZq5veFbN7Z-A?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

7. **Bloque “Obtener subcadena”** permite extraer una subcadena del texto original. Para este bloque se indican las siguientes propiedades:

* Texto (cadena de entrada);
* Índice de inicio (índice del carácter inicial, la numeración comienza desde 0. Al indicar un valor menor que cero, el índice inicial se cuenta desde el final de la cadena);
* Cantidad de caracteres (cantidad de caracteres. Al indicar un valor vacío o una cantidad igual a cero, la cadena se extraerá desde el índice indicado hasta el final de la cadena).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdLkeqKitL4EZXdYyf1nds1BiMWpKbLnNVcyj-ZztUkBkECxu9yyVndBaQ5aCPflLf83JBDP5BCeqqMdg4jilrd0VsBXZsJGiLUdDAWUFYgub_1V2odAXjlxcSU064d3sylcoAAQQ?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

8. **Bloque “Asignar valor a la variable”** establece nuevos valores para una o varias variables. En este caso, en las propiedades se indican tres valores que deben asignarse a tres variables, respectivamente.

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

9. **Bloque “Condición”** verifica la condición especificada para su veracidad, 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 la condición no se cumple).

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

Por ejemplo: $a == “Hola”, es decir, si el valor de la variable $a es “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, como condición se establece: $normalizednumber.Length==11. Es decir, la longitud de la cadena debe ser igual a 11.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcB32eiKh_L_su3dtWLb9J8EUMGLWTwe7wbrgWxqgzSFiyiPFJvhvlA6vsgzQNQ57D1owvCMN3RvEwlS5paBUbm-JmNc86_R9j1vdklLEzpuzcE-2XyuNorqCN5xqpfpl6OKrCR?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

10. **Bloque “Log”** permite registrar mensajes arbitrarios y/o valores de variables durante la ejecución del script del robot. Para este bloque se indica la propiedad “Valor”, así como se establece la bandera “Mostrar en estado”. En las comillas se indica una constante de texto, y el nombre de la variable comienza con el símbolo $. Es decir, registra en el log el mensaje “Enviando mensaje al número:” y el propio número y muestra este mensaje en el estado.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfpjgVE0SkC-Vq3ix07z-cOAwyJpw6Rr_pvd5JizwTJUls32_82BI38f4V7OCLPsLtraWjkzyiIuDzPuwycA_v3J0qmcBbA5y9szjxsx5eRv3u6lDkQUoSojT7GfZYJcajLM3iqpg?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

11. **Bloque “Codificar cadena de URL”** codifica una cadena para su transmisión en una URL. Para este bloque se indica una propiedad “Texto” (cadena de entrada).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd7KOIC16Q0R1A9lQPvwxxt6nosiLP0Eno5PmlnKDOPi7cQ7kgQsUlovkBFsQ2UfZeMZdoYj1y61OUZk2Zc8SYjWWO5qsV6_jDyiw95Ye2PlXJLBenST1S-iDk-AqrbtUkZkJE8?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

12. **Bloque “Iniciar Chrome”** permite iniciar Google Chrome. Para este bloque se indican las siguientes propiedades:

* URL (dirección de la página que se abrirá al iniciar Google Chrome);
* Pestaña actual (con la bandera establecida, la página se abrirá en la pestaña seleccionada actualmente del navegador);
* Tiempo de espera (tiempo de espera para iniciar la aplicación y cargar la pestaña en segundos).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcIIwpR3DnxCAiSrcpGCPv0iNUAoneMckgUMRbE8ModsH_4RNa9yP_bnR9qWT3mB2dzy-SihZf5jHrr8-wb3VPFwSAPAlVqTQg5Y-94VKy_zXncD55xEOP0isKXaKiVwkQehxtHlw?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

13. **Bloque “Esperar aparición”** espera la aparición de un elemento de la interfaz de usuario en la pantalla, añadido al diagrama mediante la herramienta de grabación de acciones del usuario.
14. **Bloque “Verificar existencia de elemento”** verifica la existencia de un elemento dado en la página web. Si se encuentra el elemento, la ejecución del script continuará a través de la salida “Sí”, de lo contrario - a través de la salida “No”. Para este bloque se indican las siguientes propiedades:

* Selector (identificador de la ventana del navegador y del elemento de la página web);
* ID de proceso (variable en la que se almacena el identificador del proceso y la pestaña del navegador utilizados por este bloque).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf2TO2buskySMi704OvIkyXCuWCEunCVMIxP0e3-Pp6Mycp_puQUFuDDRmlF2ac-2dA4rduK1NRIsBnBYNJ-XUyR2LU36CSJ6B8kgqDPlE-UlPH-p4FQ1Sodc5A9FWeEzdy6WVfFQ?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

15. **Bloque “Clic con el ratón”** realiza un clic en el elemento dado de la aplicación, añadido al diagrama mediante la herramienta de grabación de acciones del usuario. Más detalles sobre él \*aquí\*.
16. **Bloque “Log”** permite registrar mensajes arbitrarios y/o valores de variables durante la ejecución del script del robot. Para este bloque se indica la propiedad “Valor”, así como se establece la bandera “Mostrar en estado”. En las comillas se indica una constante de texto, y el nombre de la variable comienza con el símbolo $. Es decir, registra en el log el mensaje “Mensaje enviado” y lo muestra en el estado.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcnvmKBlyvOLvyBhTbFU5uh6kXMqQVymtiAYgvDN1a0-PuG94TN4xSoZzz8tyZOmtpv9Cmkp-JEvAxn2MUh4ekHOjJ7m-1dSqI5NgZ8aCTSSagKwef5aUPqxoq35DMNLNaUuhvXzw?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

17. **Bloque “Asignar valor a la variable”** establece nuevos valores para una o varias variables. En este caso, en las propiedades se indica un valor que debe asignarse a una variable, respectivamente.

    <figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe_QlVK_sX9Jio0uniFdrYfCGM8T0r7U_ERxL71MRcB2wQvy5j5UhPEe98jIaO7u0X97wMLHxhk8OwWpcEJWCg-5QZD_1PKMN2WZ_rMDdAxqx6zBh_7wWFKT561e-16oydsuJZwZA?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>
18. **Bloque “Verificar la existencia de un elemento”** verifica la existencia de un elemento específico en la página web. Si se encuentra el elemento, la ejecución del script continuará a través de la salida “Sí”, de lo contrario, a través de la salida “No”. Para este bloque se especifican las siguientes propiedades:

* Selector (identificador de la ventana del navegador y del elemento de la página web);
* ID del proceso (variable que almacena el identificador del proceso y de la pestaña del navegador utilizados por este bloque).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd4bKwOzHWpIB33DN9vPPdvxaBBcDdIVRDY0EgepQZ24n5hyHSfIulqIO4ddyv6WWj1Xu7lVo0PmXiWyb2LsWFoYeOigpSfKwBDTWYACKQ34IRkxs-Unq6Cb3sFycrr2gl4SHXB?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

19. **Bloque “Log”** permite registrar mensajes arbitrarios y/o valores de variables durante la ejecución del script del robot. Para este bloque se especifica la propiedad “Valor”, así como se establece la bandera “Mostrar en estado”. En comillas se indica una constante de texto, y el nombre de la variable comienza con el símbolo $. Es decir, registra en el log el mensaje “No se puede enviar un mensaje al número” y lo muestra en el estado.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcwGEJwCJTwIOdqjZ-jZxQQt3GRgEnVikSCj37_5lcNeHg7ZoNbtzgeFEzrm1DxdZr5s1ud7i0OdG_QHXSoyL1XWZ4uh24EkkJX_2eVvCVcLcVgyIepikkUxXNQ_mdWHJIwi1Bhgg?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

20. **Bloque “Asignar valor a la variable”** establece nuevos valores para una o varias variables. En este caso, en las propiedades se especifica un valor que debe asignarse a una variable, respectivamente.

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

21. **Bloque “Log”** permite registrar mensajes arbitrarios y/o valores de variables durante la ejecución del script del robot. Para este bloque se especifica la propiedad “Valor”, así como se establece la bandera “Mostrar en estado”. En comillas se indica una constante de texto, y el nombre de la variable comienza con el símbolo $. Es decir, registra en el log el mensaje “Error al enviar el mensaje.” y lo muestra en el estado.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdbiJhaU0f0U-hv5FjrlSuN5IFIOv3fL8W1InziCUrxfFjY8EjWrnZijwCMejrsOG6s9Y4LUukd827K1bAXm8W3bFq6ELX74qIJnitRGMmtGYPgPUqAsMORi___iPNArmptidBRxw?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

22. **Bloque “Asignar valor a la variable”** establece nuevos valores para una o varias variables. En este caso, en las propiedades se especifica un valor que debe asignarse a una variable, respectivamente.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfEf6AC0jfDPPrdnn4R5vW4nuFr7Y7DQxFSR2V1cmYtKcHsnm1t_WIG3dcc-177KFM7ofGAPwhNiv6UYEGeG1zZhK6g6JSowJVROtFAB2mdhqxBZCoram2F597cDVWxlYH9zU5g2w?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

23. **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 la condición no se cumple).

La condición se escribe en el formato: “variable” es igual (==)/ mayor (>)/ menor (<) “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 establece como condición: $attempts<4. Es decir, el número de intentos debe ser menor que 4.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeSwFQXXv8dEFq6xmil4UzR9SFLvmQFojRuHoYr0cJvPWSAq5lS1BWZtGlUR3zztoq-CPy2fbvK6t_MbijKqrDap-1oCG-C2p3CP30GnyXX_wKTsa8p2AUrI10dvNubphew8CKWhw?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

24. **Bloque “Log”** permite registrar mensajes arbitrarios y/o valores de variables durante la ejecución del script del robot. Para este bloque se especifica la propiedad “Valor”, así como se establece la bandera “Mostrar en estado”. En comillas se indica una constante de texto, y el nombre de la variable comienza con el símbolo $. Es decir, registra en el log el mensaje "Reenvío. Intento № " y el número de intento y lo muestra en el estado.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdZxh2EQz_HCNj8f23uoeQuTRDksDsMFYzONVeeXUXS6myPy5HComtz_fy5nfFSuB7hY4B2sg7WiP-_uqwPPy3PeAaOGRCNy11PlohkIAmzV88lAIsZ3anSR75-834I6y6T3fASlg?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc3geEavsddbuagGi7R1Q8H4MDKgLeLtQBujxNeOlCsbxfDt0A8-oJQr_FWZdMH5S2m5IWgLJCLVPmlyUeBpMYw9JxQRVy-mwWMGNAsulGRdwyFfs3uHp2-W4oR8GIoXHLBSBW8ug?key=cSgHfCR5kYldViNwtblH6ZqL" alt=""><figcaption></figcaption></figure>

26. \- 28. **Bloques “Fin”** (con estos bloques se finaliza la ejecución del script o se devuelve el diagrama del subproceso al proceso 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/es/sherpa-rpa/sherpa-designer/primery-robotov/whatsapp.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.
