# Inscripción Completa

Consideremos un ejemplo de un robot que está diseñado para la automatización de la documentación al finalizar un curso académico por parte de estudiantes (oyentes). Los datos de entrada para este robot son el registro de estudiantes (oyentes) previamente inscritos. Además de la orden de finalización del curso y el certificado de finalización del curso, el robot prepara para cada estudiante el formulario normativo del registro FRDO, establecido por la legislación. Este proceso se utiliza a menudo en instituciones educativas y agencias de empleo.

El proyecto del robot consta de cuatro diagramas y cuatro archivos, dos de los cuales están en formato xlsx y los otros en formato docx. Si se describe paso a paso, este robot funciona de la siguiente manera:

1. Carga la plantilla “P1\_Formación\_plantilla.xlsx”
2. Recorre las celdas con el número de la orden.
3. Pasa al escenario del diagrama “CompleteEnrollmentProcessCreateWord”, que introduce los datos en "P1\_Plantilla de orden de finalización.docx"
4. Pasa al escenario del diagrama “CompleteEnrollmentPrintCertificate”, que completa "P1\_Plantilla de certificado.docx" y lo envía a imprimir.
5. Pasa al escenario del diagrama “CompleteEnrollment\_CreateFRDO”, que completa "P1\_Formulario de registro FRDO.xlsx" y lo envía al correo electrónico indicado.

**Diagrama principal del proyecto**

El diagrama principal 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_4nXc4mza7KawzH7GKyk0AZBkpau0Ph9Cu4LbtQEV2-Tzv38QXyWCFc1e5f97L9sljKAcHwNrCMUAshFjsg66w-9_kMKiBK_Na3LqMRpPxx9Ac8ofF7_kqOowEby7F6glQ-bXk1G4_5xXsTcwJ8EBFC9lAZCAY?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

1. **Bloque “Inicio”** (desde este bloque comienza cualquier diagrama).
2. **Bloque “Cargar Tabla de Datos”** permite cargar la “Tabla de Datos” desde un documento de Excel. Para este bloque se especifican las siguientes propiedades:

* Ruta del archivo (ruta al documento de Excel desde el cual se debe cargar la información en la Tabla de Datos);
* Encabezado (si se activa la bandera, la primera fila se utilizará como encabezado);
* Hoja (número de la hoja, cuyos datos deben leerse en la Tabla de Datos).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdov69fBQb3iTFeJHWM38fO41hKtTYy_r3pd7Sh2DOemiScW6d6rszJqoSf47KQz2Mj94LrRemXRD9SKB8CRCkhVyc7aphjJSfXxcOlcZS2CsDo9ThIUtckQiVpUF90Vl2KEJqVguDgPJtIoyhLcydPyga0?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

3. **Bloque “Ciclo para cada (Tabla de Datos)”** recorre cíclicamente todas las filas de la tabla de datos.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeIHr5aTgvQYPhkX7dQimANWi-D-mquG-xcdJB_DQldODftemLhIYJ7MKvIjPqd33hHER7sSU5NMuz_oFXyi0XDyPFTk0oeVmwe8LKZdkS4BkMWSPE0-TkqjgPptQlL3pLC90a6aLU-eS_UO8oJfO4VVqFJ?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

4. **Bloque “Proceso”** permite crear escenarios que constan de varios diagramas. La ejecución del escenario continuará desde el bloque “Inicio” del diagrama del proyecto indicado. 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 especifica la propiedad “Nombre del diagrama” (nombre del archivo del diagrama en el que continuará la ejecución del escenario, en este caso: CompleteEnrollmentProcessCreateWord).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdtdYgaQtsrScrXnWYaozLtd9jB-XGjsBIj-QNL_xGqc8OwJz60jNjrsjNJ-BS_DpheBvXd6vwnMwVRChTH_VvTFRspuutnYSxlTKOn-2c4XuGc01CGDSoOoTAEocbj7dcHxLqBvSxUFMGRgFFD9q1lBi8?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

5. **Bloque “Proceso”** permite crear escenarios que constan de varios diagramas. La ejecución del escenario continuará desde el bloque “Inicio” del diagrama del proyecto indicado. 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 especifica la propiedad “Nombre del diagrama” (nombre del archivo del diagrama en el que continuará la ejecución del escenario, en este caso: CompleteEnrollmentPrintCertificate).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdBlv73Tn-q4actgKD_JtvgK0ZhK4-SZPFkJYINNWxfdLax1co_5kNnjpjPC0vL0UPR3aUC9UXIu-5wG0SvzsvdyQcKbMN_AYxkAEllDaA2FfCrVhjCIWAUWbccB8F7Fhm_wLEOyfFO3cMwdeTvfLzbaIk?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

6. **Bloque “Proceso”** permite crear escenarios que constan de varios diagramas. La ejecución del escenario continuará desde el bloque “Inicio” del diagrama del proyecto indicado. 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 especifica la propiedad “Nombre del diagrama” (nombre del archivo del diagrama en el que continuará la ejecución del escenario, en este caso: CompleteEnrollment\_CreateFRDO).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXegB_AXIC8TfnsShatPkWyLqhXJ5Dh93W_-2cgAtcAoGB3SKHX5bkjhD1rQsC-isOxXPKXWBY63NszQLmZmudizCb8hu2H_z8zev-Z59Ujhu4WejgCQ1JVCfdYLUDMWHs7SSJdHr_hhQAsSrGPcPKbXCtZR?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

7. **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 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 (==)/ 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 – salida “No”.

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

En este caso, se establece la siguiente condición: -Not \[string]::IsNullOrEmpty($Row\[0]). Es decir, verifica que el valor de la celda cero en esta fila no esté vacío.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcby1AQs9klLc3bvfTwo6CJzQpGC-UZRNxNdI_rlmA9GcfQtKVIkBRRV6hAXxQk2keOg2xoMEf8HLtYOIoULzp2y7A68tw0vuOCcA65lleokMnyRLn1Jgq2ZrO6KlceaQuJN8so5jHa8fJVS00zkeNAJXk?key=8s9Yh27gdK-ptPiMIt6tWA" 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 especifican tres valores que deben asignarse a tres variables, respectivamente.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdX0GvSdlv8eURMnesOzmAYie3C2YG8THqrkiNi_VcnihXMTdMlPFpBLu4EePaVdF8CC1zF4Ulcw8vyVM04l4q7o3ua1rB-2F85be4IFmG9-6qRghNjIebAvF_-x4dpc0vt6HNY11ZuZVal3ildWOPFU0y_?key=8s9Yh27gdK-ptPiMIt6tWA" 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 especifica un valor que debe asignarse a una variable específica.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfO7WST7F9n9zXIQVvA7FL4GEitPWXr7zYgTX1P_zmKgOJj_Y_w61Kzdoij8qG_aKvu3cPyiruNM7VZoS3E_3_lzsIeRgX9a9tjZiVcVWSIHaK7yemBPdaCgD8Rk1RRP7ZgztNvMGgybO-gV1emqJBIxAAg?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

10. **Bloque “Ejecutar expresión PowerShell”** inicia la ejecución de una o varias expresiones en un lenguaje compatible con PowerShell. En este caso se utiliza una expresión: $ListFIO.Add($fio). Esta agrega al listado $ListFIO el valor $fio.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfIIwQiTFPEArGLUjFdJb9pdTKfogQnFLzCjufc1RhCytaUIcPtOFVZ-XXvNhGvk6a1IQbXScj0PBpeOF4n5-JOV9WE0kKYhI3UfW6yzejilOVrsFfKMcumpHVCwQTABnkI7sXYWX0FKx6dtCp4lYtALUGT?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

11. **Bloque “Fin”** (este bloque finaliza la ejecución del escenario o devuelve el diagrama del subproceso al proceso principal).12. **Bloque "Log"** permite registrar mensajes arbitrarios y/o valores de variables durante la ejecución del script 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, este bloque registra en el log del robot un mensaje de error.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXey_03bottcveDiCgqXkvVMo9oUFFuEeFDFB1Eljia7befl_vJdGtdQMMxzafewNIWCot4mmLt4fgFU9mQ_s_I-qnsvnNiBJDX5duJzzBsYXgyeKj72PlGmU52dOSZkw0_5FBrfbORzOKwwRc0EJgsMMSMj?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

13. **Bloque "Fin"** (este bloque finaliza la ejecución del script o devuelve el diagrama del subproceso al proceso principal).

**Diagrama "CompleteEnrollmentProcessCreateWord"**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeZr2dutjQe8SiEAxeUQdD31IVKi1bhVpQUGnFt2lWanzsNUDVb8uelAuOPPASDGPMgk3KRKrBWHJavV7v5D5PGXkO3X5YFOiIJRnynxqj68nYg0jhYWaWGLFeFUZH0i9tCAunJz_K6GUR3nzY0WdwapT1V?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

1. **Bloque "Inicio"** (cualquier diagrama comienza desde este bloque).
2. **Bloque "Ciclo"** permite repetir una cadena de acciones (bloques) varias veces y contar el número de iteraciones del ciclo, registrando el número actual en una variable especial (especificada en la propiedad "Ciclo"), que luego se puede utilizar en otros bloques. En la primera entrada al bloque, el valor de la variable de la propiedad "Ciclo" se iguala al "Valor inicial" (en este caso es 0), y luego la ejecución del script continúa hacia la salida "Ciclo" de este bloque (en el llamado "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 se producirá la transición hacia la salida "Ciclo". Una vez que el valor de la variable "Ciclo" sea mayor o igual al "Valor final" (en este caso, está definido por la variable $ListFIO.Count), 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_4nXduVQ40JN8fMhlmCJwRDMQCRFRX80ctqvtmfEPuIRTlk-aXyyb_sDgBlaOB63L59QLFI8Z9Wg4H_NPU9w9dA_v7NUOYtkBtl4J4jjFBessgVMH1_1w3r6qABrqybp-9zVtbBgeBUI6q7nhS_LjeZ4tUqXo?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

3. **Bloque "Obtener ruta al archivo"** obtiene la ruta completa al archivo con el nombre especificado. Para este bloque se ha especificado una propiedad "Nombre del archivo" (nombre del archivo junto con su formato).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcA5vt5TwRg8V7ozFV63gKrtYh-juQkZm_o17qxIIvZ27LrN3RHvnJi7YCu_lS2rpBLIthTjPtZfN0bAD72pAQKOE2wsUEPsGf7hmp-R9FDgPykwAfJXq2xpNHInH9A8vyplVEkS-G5LxIOwPll9DvpkRV9?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

4. **Bloque "Abrir documento"** permite abrir un documento de Word. Para este bloque se han especificado las siguientes propiedades:

* Usar COM (si se activa la bandera, el trabajo se realizará mediante el Word instalado);
* Ruta al archivo (ruta al archivo de Word que se debe abrir).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc1G1WfHULIeuQrU1aBJU_dxVilkI3AJb1lpqyMNqwtfYMCypa9SLoifvD9AmiBeqSiXaD8TZDfh11fd6VBnHb3mdjgpf1PDfva-FkwCucPY_Cgx50LwawQU8DrhtAJuixvkIWbA2vZYSJabUdxBbrLbbcN?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

5. **Bloque "Reemplazar todas las variables en el texto"** permite realizar el reemplazo de todas las variables %variable% en el documento de Word. Para este bloque se han especificado las siguientes propiedades:

* Enlace a Word (enlace al proceso de procesamiento del documento de Word. El nombre de la variable en esta propiedad debe coincidir con el nombre de la variable en la propiedad "Enlace a Word", de los bloques "Crear documento" o "Abrir documento" del grupo Word, que se utilizaron anteriormente para crear o abrir este documento);
* Enlace al documento (enlace al documento de Word abierto, en el que actualmente se está trabajando. 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).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdLEZCB8xKjybOmc7Jq9aFu1h73kvwBh7itZxQbMKpKla8Iln_3KNN-4ArsmNHuhlLHIc22Z2EppaGI7qebYNV2wNguzTxBE3AkVvDpXUyeIwT0PycJMv7rsBmF-sOCGGWrhrWtRlfpRuqY7Zf0gphPI03E?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

6. **Bloque "Obtener ruta al archivo"** obtiene la ruta completa al archivo con el nombre especificado. Para este bloque se ha especificado una propiedad "Nombre del archivo" (nombre del archivo junto con su formato).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXetaCApxUqIAz8kjQWSk4QGd-eRVhJqhW1nNNLFNeXSb8tG_1rGn0f68VYBzQ9uvsHRAR8vRlIw8C-O9Qgo98iXxMV4DvZZcr0Ba1_OawevX20OiWcKBrgC-yyszs9GH1EP15Zmhvru0fvYHKCp0j7-_Px5?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

7. **Bloque "Guardar documento"** permite guardar un documento de Word. Para este bloque se han especificado las siguientes propiedades:

* Enlace a Word (enlace al proceso de procesamiento del documento de Word, el nombre de la variable en esta propiedad debe coincidir con el nombre de la variable en la propiedad "Enlace a Word", de los bloques "Crear documento" o "Abrir documento" del grupo Word, 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", de los bloques "Crear documento" o "Abrir documento" del grupo Word, que se utilizaron anteriormente para crear o abrir este documento);
* Ruta al archivo (ruta al documento de Word).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfI6u9q5qNwXsW4y1BaYDvMOoTAC9689PpRm34Hdkjp5d0HDFn_JnGszXoYUS5MEP3CiuS1jdRQ8EaPWAr2IeiRgIBqDy-DBlC5WXTgmXDkgYCC4FOZhnoP9IlCgTNpXEE3r3irjYpq2jJkilBqRB20VAvQ?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

8. **Bloque "Imprimir documento"** permite enviar a imprimir un documento de Word. Para este bloque se han especificado las siguientes propiedades:

* Enlace a Word (enlace al proceso de procesamiento del documento de Word. El nombre de la variable en esta propiedad debe coincidir con el nombre de la variable en la propiedad "Enlace a Word", de los bloques "Crear documento" o "Abrir documento" del grupo Word, que se utilizaron anteriormente para crear o abrir este documento);
* Enlace al documento (enlace al documento de Word abierto, en el que actualmente se está trabajando. 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).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd5XUsgSdI8jMafPAEq4tOjhkmVzQgEWuXnv7BeXQrChugwwBp2zSFLI5RSWZRLgCK65MgMDDatrxTkGqJjIlOGNmr6BcP9nbf-aM0va1Tw4-ZXnoqaNdj34i8qH3PYxi2CzqkAITEDy4fGMZpCqlA-Uq8w?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

9. **Bloque "Cerrar documento"** permite cerrar un documento de Word. Para este bloque se han especificado las siguientes propiedades:

* Enlace a Word (enlace al proceso de procesamiento del documento de Word. El nombre de la variable en esta propiedad debe coincidir con el nombre de la variable en la propiedad "Enlace a Word", de los bloques "Crear documento" o "Abrir documento" del grupo Word, que se utilizaron anteriormente para crear o abrir este documento);\* Enlace al documento (enlace al documento que debe cerrarse. 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 Word, que se utilizaron anteriormente para crear o abrir este documento).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeE6VJEd6CRLd9YkCwwh1YTawwC6jpmScTyXrfPxb-KLu5U_bVCSILFwLGdreR5CTwuhWfjfrQtRJl6WVQ5KVvrB7h1kr_o4XYOnJbxhMo2GgX-APl3tMMG_gaT_1W1dnB4RZPGxoCLu1II-PGNoy_mO0k?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

10. **Bloque “Ejecutar expresión PowerShell”** inicia la ejecución de una o varias expresiones en un lenguaje compatible con PowerShell. En este caso, se utiliza una expresión: $ListFIOString += ($Index+1).ToString() + ". " + $ListFIO\[$Index] + \[Environment]::NewLine. Esto agrega a la cadena una nueva línea del tipo “1. Ivanov Ivan Ivanovich\r\n”.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeem4jXFX5zxIKS795aGESX3avBx7rHrySC2PFPo4DU9c9sMkBbKBSVQmlcUwu7Xl7tsyCxGrxck72egRtK6eLKx7VorLxeDl_dwt0C0OgEbxxxcwrE3soJqyWwE0bnPq7B09LMI6juXBsPwoX-TnAVjMrl?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

11. **Bloque “Log”** permite registrar mensajes arbitrarios y/o valores de variables durante la ejecución del script 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, este bloque registra en el log del robot un mensaje de error.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfBngd6Ihy5ClZ_nT8hTkFyC7PHCl2045wiUZizIrI00xy_ap3Qd98cOeun-gX_dXXpkj1ZvH9_jzZVfE1UvlW9DTFOub5HgTT4xwrl98ZMTT0aGSz6EebE2fIhZ2mSA_PEryLPI9B5gHwYxjpn-rieQZE?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

12. y 13. **Bloque “Fin”** (este bloque finaliza la ejecución del script o devuelve el diagrama del subproceso al proceso principal).

**Diagrama “CompleteEnrollmentPrintCertificate”**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdSng4BpbBQ15GN6MFIHyXae0bcWggSn3XtqmJwic5U3rJrqwFIilzELkD4j1ckOZWV5_EEBfFfrSbFdNLN8XG00W6qFaFJDE3sIdAxETQ7mD6GlpydczoSmvThjk_dBNr52waAYLHOOIEZZ-KhPuFPFjk?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfPpcj-1ygRYnfbkmuF8UXeJCp_dqIfrDWCEOgiMfm4_WiAxqZnf4Rpf7Qg_OyHjWbYKpDX9odLEp6XOZUK6Ci1XSJmWW-jgjJ6Za6nll9_nst5Y8xYgwi0Rh5MBnvEq2gHH6DL2RyBbujTLCLkUHIjWmgi?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

<br>

1. **Bloque “Inicio”** (cualquier diagrama comienza con este bloque).
2. **Bloque “Ventana de mensaje”** permite mostrar al usuario una ventana modal con un título, texto y un conjunto de botones especificados. Si se utiliza una ventana con varios botones, el bloque permite registrar en una variable una constante de texto correspondiente al botón presionado por el usuario. Para este bloque se han especificado las siguientes propiedades:

* Título (texto que se mostrará en el encabezado de la ventana de diálogo);
* Mensaje (texto que se mostrará dentro de la ventana de diálogo);
* Botones (botones que estarán disponibles para que el usuario los presione);
* Imagen (imagen que se mostrará en la ventana de diálogo).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcM_5803ZP9HxSjAlkpZKrmH3qeily8H4uWwTItmlSWBKfccppxB96-RGA3UCldlA15brbSzHaNznCgqrEzHhJ4kEM9ewLsoGAzxU8F0jLiVUtkr-sSNjV7pUh_8NnKjansKKD24TKP_aS9tmd7QdyarOMx?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

3. **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 (==)/ 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 ha establecido como condición: $Result == "Sí". Es decir, el valor de la variable $Result, que estará en la salida del bloque anterior, debe ser igual a “Sí” (es decir, en la ventana de mensaje que se abre, el usuario debe presionar el botón “Sí”).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeFk03wvwhdQcwV8T0SCbOjaGqw9LzkXKosP9aU2L9d1ySk1gz9A-TutE2ER7eHe1xU6E0DJw6mc0moj-9qvxvgkJtOZW-H3khKVP7DiX7UyzqGWvvpp-ZS-lc7l75u0vM57P5UmRgI5nnHEYLqnl2v8dFt?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

4. **Bloque “Fin”** (este bloque finaliza la ejecución del script o devuelve el diagrama del subproceso al proceso principal).
5. **Bloque “Ciclo para cada uno (Tabla de Datos)”** itera cíclicamente sobre todas las filas de la tabla de datos.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXenQWTG9Dt6ypJRsm5YenomsXGMRRk5XKeJmMLazh1lkBOIlA4aUbd5fOCgZCWNfkb_e3YZgIqzgPJFYUMGnivpzKichB0IBQ82BP71BfuipvFh2v9WYHjQMdaie4IwQgt-g8i-mXy1zFPiZbuHjJBVhWAn?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

<br>

6. **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 (==)/ 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 ha establecido como condición: -Not \[string]::IsNullOrEmpty($Row\[0]). Es decir, verifica que el valor de la celda cero en esta fila no esté vacío.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdLtd2eOg19V6KjSJZJwILxXbN1hLdiciVdv81RF_vbLLaj6ttD5Mbtqw7V_eqZFV-f6__9ZSNz_5Hfbe6wQDoZp-TP9CW1Vh9WrdPRnD02ny_Si4dkhM2RZkJifN8lbhu8HCNCWnzXDWQYKSkUneKGgTSs?key=8s9Yh27gdK-ptPiMIt6tWA" 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 especificado tres valores que deben asignarse a tres variables, respectivamente.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeofvqINxLv5i4XMKGF6S2OeSXirpzJFjb6wBK4HIYbZTo0fZjfEC1jFNRMiOnKOjoFODJ1E9YTT1J2oRlK6EK1ys33H_ZiI0JVCrEov-Cy88Y8iG81Z90_Qq-UNNkfeILj87WHcqxZ8GcF50FDDn2Jwavv?key=8s9Yh27gdK-ptPiMIt6tWA" 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 han especificado tres valores que deben asignarse a tres variables, respectivamente.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcq9jrF5Dscex9CYgDKCFE0nc2tLmnmvXPoF9-gtid0BxAYcCt3wu55gu1hzwazROG67mEhWnmR-1eTkP9RJFYwTv2NmI_pJn1gCrVGmFIwi9h80Zs6IRa_k4BB1SgRvHcKkeNjWYAhCTHWfzirdb5XYTvt?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

9. **Bloque “Obtener ruta al archivo”** obtiene la ruta completa al archivo con el nombre especificado. Para este bloque se ha indicado una propiedad “Nombre del archivo” (nombre del archivo junto con su formato).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe_frG9d0QYigMoYTOGzE-4FNV9f35BtPJQxfro1vqZO4N2_74wmyCycrgAh4Qh-nI9M2LHsUvWsUZYkHGVEGdavx2oOH18HwNgHQj9Dd643LMKfrL40NB569MonEcDtJntrbOtHVs8ZdjxjNGgGJqnXhpn?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

10. **Bloque “Abrir documento”** permite abrir un documento de Word. Para este bloque se han especificado las siguientes propiedades:\* Utilizar COM (si la bandera está activada, el trabajo se realizará utilizando Word instalado);

* Ruta al archivo (ruta al archivo de Word que se debe abrir).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeB0h3ixgmKL8VwoRlEvgae4S-RjwNQhI9mcBKXFwlKfcUWwhLePRnz2cHIS1u-1gasMjDmUtuOINtXX-WNsW8ztTRcq5znoR4-Y5W2jP3TwPhixebk_MgclY7r9eH0N29-scCvphwD81qtulMu9-y7_mMr?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

11. **Bloque “Reemplazar todas las variables en el texto”** permite reemplazar todas las variables %variable% en el documento de Word. Para este bloque se especifican las siguientes propiedades:

* Enlace a Word (enlace al proceso de procesamiento del documento de Word. El nombre de la variable en esta propiedad debe coincidir con el nombre de la variable en la propiedad "Enlace a Word", bloques "Crear documento" o "Abrir documento" del grupo Word, que se utilizaron anteriormente para crear o abrir este documento);
* Enlace al documento (enlace al documento de Word abierto, en el que actualmente se está trabajando. 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 Word, que se utilizaron anteriormente para crear o abrir este documento).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeocfN7-dFQpMqfU8aGJ-XTHfJErtWKRfYNreWqQAHHgymZ-KoH6q4OYJ-ATQGwrXTtfW0QR8yses_SWavgjF7GIcuuipB5Wtk8duMobsohZtt5jOYPHX_iqWfmtZpYJClsS9HfNA0dPySXzYEbT-Ix4l0?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

12. **Bloque “Nuevo Archivo”**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXewznWWSuOAjmRcqF3nEND2MiQPGnCLrKOQ5Zr2yVgD_vle0nzMdOySkVOcY1Q3nKOsA6qbwvFSoeMpyTWxBMlEGczPXbPjEhnEPW2lI3gCDa1YYRJ4ctHNVd3g99ESWrgo8rFwyrYEUuE31Xm8pTbGbJg?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

13. **Bloque “Guardar documento”** permite guardar el documento de Word. Para este bloque se especifican las siguientes propiedades:

* Enlace a Word (enlace al proceso de procesamiento del documento de Word, el nombre de la variable en esta propiedad debe coincidir con el nombre de la variable en la propiedad "Enlace a Word", bloques "Crear documento" o "Abrir documento" del grupo Word, 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 Word, que se utilizaron anteriormente para crear o abrir este documento);
* Ruta al archivo (ruta al documento de Word).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdFXYb4iQmFrrGxTzNwzGlb6Su0mEXzDEZJqlTA1Tc-Qeb1ysjRunQE81b_HgJ_L9b3Zyt70DcyRUxkCi6fi0RndQyUG-KFvB0U0t-owfl_oN-QcpLVf7Hl30rdhC7X2ubxKmchuGAIDblc95h0rFwLUEuP?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

14. **Bloque “Imprimir documento”** permite enviar el documento de Word a imprimir. Para este bloque se especifican las siguientes propiedades:

* Enlace a Word (enlace al proceso de procesamiento del documento de Word. El nombre de la variable en esta propiedad debe coincidir con el nombre de la variable en la propiedad "Enlace a Word", bloques "Crear documento" o "Abrir documento" del grupo Word, que se utilizaron anteriormente para crear o abrir este documento);
* Enlace al documento (enlace al documento de Word abierto, en el que actualmente se está trabajando. 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 Word, que se utilizaron anteriormente para crear o abrir este documento).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf4x7ullHOdVRmTWepRs06sRyRlR9KTBcF-pfsjxE5MO-8YJz9VsHZDgm6xqq6S9DHyCo3mDoCsGh7cZKg6hvr4RYdWKQJCNr2oMe2_1Fhf7ljmGi0W4MSKDwLZWf0P5lalrQc1ZC6mapgZvb_kU-u1M0bm?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

15. **Bloque “Cerrar documento”** permite cerrar el documento de Word. Para este bloque se especifican las siguientes propiedades:

* Enlace a Word (enlace al proceso de procesamiento del documento de Word. El nombre de la variable en esta propiedad debe coincidir con el nombre de la variable en la propiedad "Enlace a Word", bloques "Crear documento" o "Abrir documento" del grupo Word, que se utilizaron anteriormente para crear o abrir este documento);
* Enlace al documento (enlace al documento que se debe cerrar. 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 Word, que se utilizaron anteriormente para crear o abrir este documento).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcdx3FrPwta7yqRYpR10tiSf4DrOkW7GiwHLso1phhNWPCTO78Z5w3XD76JUkiWpiQ0oQLhfR2PhV5icWp8oAiE55eQ6KILG6T4A2LcEoC_ukUwdo8AMa7V9w_ILK4Fx8TUzdJbsSow3K5Uh08DVqoTWFcQ?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

16. **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, este bloque registra en el log del robot un mensaje de error.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXczsAyYNdpzHTcTiMSKq-wbaluL92Sm-p5874SkEassfzb1bA2MyXuSwCcqJoZAyErd4iaUIKjyNsspzgTyE5AlenumOoNFFP-2T8OdiSx2yZyswzFTqKuAGqv0HK2_8QSmYt3C4nq1E1bNdKj_NKJtmkRQ?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

17. y 18. **Bloque “Fin”** (este bloque finaliza la ejecución del script o devuelve el diagrama del subproceso al proceso principal).

**Diagrama “CompleteEnrollment\_CreateFRDO”**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeac7Mcqm72j1jj3bHVXBw96O-KYaGL7kWy5x6sHxopEI9ozIh8dOWoOZayEjd02GtimciXnRiXDFZECJyM84VKQP1q6spOR1pDSwCZj10ESh7Wn79nslT90o4Zst2DtGVcPh6_oKjrcr4lORQMSVlEge_o?key=8s9Yh27gdK-ptPiMIt6tWA" 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 especifica un valor que se debe asignar a una variable específica.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeY6UJGsC70kaW5DkBF6SwJIwLUUM3tnuDAQB0HuD2EPfV_uQzKmzI94fRntycDA7psM8vWpxaGIlKVSUTBE1dctHdE9l0tgjqX9MIXFiZy1AhAMYepK9MxAOsmAJUhrA3VDgBoky_XXu-xIyNd0VNOSrge?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

3. **Bloque “Obtener ruta al archivo”** obtiene la ruta completa al archivo con el nombre especificado. Para este bloque se especifica una propiedad “Nombre del archivo” (nombre del archivo junto con su formato).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXclirGH4ONcGWGfDc6Vi0ikqVc-r1d7a6wVdSCQ8mvVvBcSHaW9VV67H8QUy75xJJ_C25mgMq8eISqHc8GiVH5t_aXafDSro9MjJBbzOq1wDr2S_TbrMHxA59ya61YobtrST31RJPdXn_kpKmZPPempxGBx?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

4. **Bloque “Abrir documento”** permite abrir un documento de Excel. Para este bloque se especifica la propiedad “Ruta al archivo” (ruta al documento de Excel que se debe abrir).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdnAcSkvmns-qPISVTLyzoekddszqX6lH63NN5X8tHLRP3syo5CHCUs5IuQQagdYwc6QPlOWYnc6YLqjlaYixZA6odr_Jz10I9LrLxtXkTloaTnPfm1TT3E82jBKQ8zQLXBSg3vz_fr5lfuMNJXg9ZnGk8h?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

5. **Bloque “Ciclo para cada (Tabla de Datos)”** itera cíclicamente a través de todas las filas de la tabla de datos.

   <figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfhpBHMN5o-_zc-x9ge6U_pmyO_QzQK7GVWCSqOJEa2TLbfcX5-S6mR5YpzsHYImuiazFrGRgzNyqH_CxrTdhFIueiQLoNN1lZEBTmgZuRTxIhOugx_m84studv7G4WhhVSsBKWxrlpJKbVnKLUowu2B_yq?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>
6. **Bloque “Obtener ruta al archivo”** obtiene la ruta completa al archivo con el nombre especificado. Para este bloque se ha indicado una propiedad “Nombre del archivo” (nombre del archivo junto con su formato).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf0mKMpu4fLl1-cw0lmfaVYB14i8lPwLd23OzOtfhWR7nyxlV6XBs-4c_QN_EaTHM5lHUM_als8X8bW7msGD_saIHj9sfLntolHAyYJG-lkqbqrFrpOraKLmEzYvbe-A7---ehfeXZ9zAuVR_LlTMiSBhVH?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

7. **Bloque “Guardar documento”** permite guardar un documento de Excel. Para este bloque se han indicado las siguientes propiedades:

* Enlace a Excel (enlace al proceso de procesamiento del documento de Word, 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).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeKtDSxHNebsDPHvkHGrkdyTdd1a3pHhDU-pUm4M0m7piPPwBVWP9D2YDHZA-yJIeQ6JeEpGCAEtSA73brSKMRKWa5uLhE8RdriyjYKxK4d04n1Ed_DA66GZTyfF5RWkCBVjweeDCNqGA-z_o6T4-7P4KxS?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

8. **Bloque “Cerrar documento”** permite cerrar un documento de Excel. Para este bloque se han indicado 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 cerrar. 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).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdjArGf8-ZzDiEeJztzE5UnxH_yOlJhLuX1ENo123UeJejulCWEde2GCYRTtrQdm-mYOnnzydW9cveYg1748KQ3hEY9XiJ392R-Dlrn5qqexaB9yzhg6iHf9ox32yUt0UhYB3BeeJcnI9HPM1o5MMk7XIHJ?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

9. **Bloque “Agregar elemento a la lista”** agrega el elemento especificado al final de la lista. Para este bloque se han indicado las siguientes propiedades:

* Lista (lista a la que se requiere agregar un nuevo elemento);
* Elemento (elemento, indicado en este caso como variable, que se debe agregar a la lista).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXciKuemL96_s7Te0MMFtx8z9YYyGYrQ01kPRwl3WFKJNsKOZ2SmkqY9lk850KfSOt32F11I_imtX9ILwi0hY7qZXvuBJVJdU-uQBXJGSYz8Bwar8u0eg0PBCH_4HBzzJBwNotbgdoh5Ig0gsYs2ANHTvy_F?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

10. **Bloque “Enviar correo”** permite enviar un correo utilizando el protocolo SMTP. Para este bloque se han indicado las siguientes propiedades:

* Servidor;
* Login (login necesario para la autorización en el servidor);
* Contraseña (contraseña necesaria para la autorización en el servidor);
* SSL (el flag establecido activa el uso de una conexión segura);
* Email del remitente (se indica el E-mail desde el cual se enviará el correo);
* Email del destinatario (E-mail del destinatario al que se debe enviar el correo);
* Asunto del correo (asunto del correo);
* Texto del correo (contenido del correo);
* HTML (el flag establecido activa la función de enviar el contenido del correo como una página HTML, que puede contener etiquetas);
* Adjuntos (lista de rutas a archivos que se adjuntarán al correo);
* Timeout (Tiempo de espera de respuesta del servidor en milisegundos);\
  Nota: en versiones posteriores de Sherpa Designer, esta propiedad se llama “Tiempo de espera” y se indica en segundos.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc45r-lzI2DrDrS8MM3ZDrmQov6VqIDlcBa8QfJAT9cMWZdj1-6KM73BZuwUol4kUq5hSF9B-v7HbaeR8XVy-mdVP-m_N7fCiNbUxokuB1-DN-Aq9rdCi72FZg7rcYWFk1Z7GZ5fBkdNKL1stKkHyAL5EGj?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

11. **Bloque “Log”** permite registrar mensajes arbitrarios y/o valores de variables durante la ejecución del script del robot. Para este bloque se ha indicado la propiedad “Valor”. En 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 los archivos adjuntos, indicados mediante la variable.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcjMc2Niq23uUJzKUG20qvUYOV5s8AmgQ8Vj_qgHyoXpKnLr9Rd9YXlFHlYxhK3l3ekvk9Gq62t6G4rpruw4dqI8rBsaNlcSMcTVi1A-rXllzJp8nMTZeR4qoVQCzMjW1rjIdT--ocOfS1ZAqMvmaQ6g0_s?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

12. **Bloque “Log”** permite registrar mensajes arbitrarios y/o valores de variables durante la ejecución del script del robot. Para este bloque se ha indicado la propiedad “Valor”. En 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 un mensaje de error.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfziuJqMbV6zqZgtQ1d6R1xvL_Z5HmYf-Ag-euMp_ppny8QRpYPtMbnc_7EXpzspBrVLNnibmNNvBemVrEfZ2PD-c5Lati83tGTBvjQb_fhil7UI_6CBSU3Xep9z-O9Uo-BzmLfkz_XVMDeulExSY22K2O1?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

13. **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 (==)/ 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: -Not \[string]::IsNullOrEmpty($Row\[0]). Es decir, verifica que el valor de la celda cero en esta fila no esté vacío.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdyBSLPP3unN5p3PVdaejHxsrhviVpLf7NCiVgAFHxgwgtdXpXOu-uXgq_hBpT16WUgqOPSwNlH1sttKa3uw5PP6sy8F33WiPtb46C2N6b5mosgaYjjCBoGWg7KEZ_KPoVyJVaZQwbKalQL6x_ejEHWOx9M?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

14\. \*\*El bloque “Ciclo”\*\* permite repetir una cadena de acciones (bloques) varias veces y contar el número de iteraciones del ciclo, registrando el número actual en una variable especial (especificada en la propiedad “Ciclo”), que luego se puede utilizar en otros bloques. En la primera entrada al bloque, el valor de la variable de la propiedad “Ciclo” se iguala al “Valor inicial” (en este caso es 1), y luego la ejecución del escenario continúa hacia la salida “Ciclo” de este bloque (en el llamado “cuerpo del ciclo”). Tan pronto como la ejecución del escenario vuelva a este bloque, el valor de la variable “Ciclo” aumentará en el valor de “Paso” (en este caso, es 1), y nuevamente se realizará la transición hacia la salida “Ciclo”. Una vez que el valor de la variable “Ciclo” sea mayor o igual al “Valor final” (en este caso, es 37), la ejecución del escenario 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_4nXe8tG5siJ6NQxWCighczDF6bm5OuCJvi1b1_PXQjIlSPBAm7022gilMYQvMxd_MY6RTj3heM-5g7faRA71VqC99X2LUuKbB10JLk2lvEmwJsjpH-cDhDNhx9IV9hYRsLSXOtu5NI1d6T70RWqWFssrui-8?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

15. **El bloque “Ejecutar expresión PowerShell”** inicia la ejecución de una o varias expresiones en un lenguaje compatible con PowerShell. En este caso se utiliza una expresión: $TableFRDOIndex. Esta suma uno a la variable.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeAnTJNR_HUfrER0yVqg1g2z-Q-_o1C-VBur3ggayU09ROXPMsOGsdEAFfltRdfLPpYQWluSOZiOo4hcy4JyTg0OfUVAYoY9WeSAy6vrPiwi6iNin_EY2Lvyq2goN9ivb9Pj8p5avoR0V2aVYaejWeayUg?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

16. **El bloque “Escribir valor en celda”** permite escribir un valor en una celda de un documento de Excel. Para este bloque se especifican 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 donde se encuentra la celda requerida. La numeración comienza desde 1);
* Fila (número de fila donde se encuentra la celda requerida. La numeración comienza desde 1);
* Columna (número de columna donde se encuentra la celda requerida. La numeración comienza desde 1);
* Valor (variable que se debe escribir en la celda requerida).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfiTZY1dKDDgTBMeqOB92H_DSeZQ7aM3gz7MITV66eZLbrehxeM0lPLgkomhDfeQwdudorRJcYVOTfr-nS4HaHDHFDIy0wlx_U-4Gq9HpO9WbyN-5h_SBVVyKXe9pIF93ZvJUlrrmbq7YoiLsSJA13XYmc?key=8s9Yh27gdK-ptPiMIt6tWA" alt=""><figcaption></figcaption></figure>

17. y 18. **El bloque “Fin”** (este bloque finaliza la ejecución del escenario o 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/enroll-certificates/complete-enrollment.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.
