# 1C Factura de entrada

Consideremos un ejemplo de un Robot que crea una factura de entrada en el programa 1C. Los datos de entrada para este proyecto son el archivo "Pedido al proveedor". Para el correcto funcionamiento del robot, es necesario iniciar previamente la aplicación 1C.

Este proyecto muestra la carga de datos desde PDF o desde Excel. Para ver cómo se trabaja con PDF, debe conectar los bloques "Iniciar proceso" y el bloque izquierdo "Obtener ruta al archivo".

Para verificar el trabajo con la carga desde un archivo de Excel, debe conectar los bloques "Iniciar proceso" y el bloque derecho "Obtener ruta al archivo".

El proyecto del robot consta de cuatro diagramas y dos archivos: pdf y xlsx. Para cargar datos de cada uno de los archivos, hay un diagrama específico.

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

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfRuUaxDRdDisSHdfgoUxYfIUU9WgqJxDblhVkC2bf3OmNe9wn4AlrzAoUJ_6L0fJPkzUNgqLVALoRzz4rik0aRpBafFFdhcMGI3Jzw9GYAeflQpppP9xPdRxbv6Ddac5gLMebDqtb-cdNfr1zV4k071qA?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

1. **Bloque "Inicio"** (desde este bloque comienza cualquier diagrama).
2. **Bloque "Iniciar aplicación"** inicia el programa 1C. Para este bloque se especifican las siguientes propiedades:

* Ruta a la aplicación (ruta a la aplicación que se va a iniciar o nombre de la aplicación estándar, por ejemplo, cmd.exe);
* Parámetros (parámetros de línea de comandos necesarios para iniciar la aplicación);
* Espera de inicio (suspende la ejecución del script hasta que la aplicación especificada se inicie); Tiempo de espera (se indica en segundos y se ignora si la propiedad "Espera de inicio" no está seleccionada).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfVpFUeaNW8Gp9ZYwVyL3qYxFkFICKiRMbjSKwYtireAh57QRasTYMfgOLa7bkQyJyDCrpIj6c3_t_Rc8bo_uslQHkvrYFqnw-Zl4sSukSKr_kZtg_nwSy3O3JhPAu3XurDn8_YhdZPvntDStTIWI4Enf4?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

3. **Bloque "Obtener ruta al archivo"** obtiene la ruta completa al archivo con el nombre especificado. Para estos bloques se especifican las siguientes propiedades:

* Ruta a la carpeta (ruta a la carpeta donde se encuentra el archivo necesario; si la propiedad está vacía, se tomará la carpeta donde se encuentra este proyecto);
* Nombre del archivo (nombre del archivo junto con su formato).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdvb_bo-7_hEsCc9eysT-S4JwU2XFm7D8Z4RHgRgfS46_2_SwZ1Z8f--xLqSMXGoAdkSvih7JKWwFO4gr2UiwC_r3toA0Q2CKUdV5v9KLa9Te4sGaPgiVUQxaAsoqw8iaBeQikthUcxNauMGJjfY06sZFUp?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeSw-8PoKHlz53v-UahlSZ8-xlkusgpOACvlOIeGdbh2EmWw9S7gUucCf9IhsEgRksW_ChlT9XnjiVYMGc6JqiHF9KHxqTCOOy_XI0almc5ZYA7wNQU1gSiqd7jdoE3qpaYmlqNdX7cByd0nJCzvr57Y2UV?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

En este caso, se han utilizado paralelamente dos bloques "Obtener ruta al archivo": uno para el archivo en formato pdf, y el otro para el archivo en formato xlsx.

4. **Bloque "Proceso"** permite crear scripts que consisten en varios diagramas. La ejecución del script continuará desde el bloque "Inicio" del diagrama del proyecto especificado. La ejecución del script 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 script).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXewVCwz9TQFahJkqgaiBsf6CpPcWLqqP66QRiZVMOubPRPL0HlPndl4hseSuIRxMtuWTSuLPSLrd6VYShcoChxkW2FJkDZXq9q26WAcuoXW7OeXmR-d9AR1kMkkbzrLECiVgV_PH1rV2uR4o_IF8TO-Sdsh?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXesoikbsgIihAOsLM8ObWxIAwxH1agH_2xK1mLlg7uJGS4711HGB7PuZKfWr7FuYvcYtmU782G_LSuRDSE5Sjie4u_nFhL13h_czS8_7KsTmlEczdJ8ku79OfreGhsKgP68cIZ0Rba7eZlKswamGLIBa-U-?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

En este caso, como se mencionó anteriormente, se han utilizado paralelamente dos bloques "Proceso": uno para la carga de datos desde el archivo pdf, y el otro para la carga de datos desde el archivo xlsx.

5. **Bloque "Proceso"** ubicado más abajo permite crear otro script que es común para los dos scripts descritos anteriormente. Este proceso se encarga de agregar la factura en 1C. Para el bloque "Proceso" aquí también se ha especificado la propiedad "Nombre del diagrama" (nombre del archivo del diagrama en el que continuará la ejecución del script).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe8TspCJSjR_MtLFNO56t6bVD1MvoHvlmHco6dNnafxBWiOYobf0z7z0065bpPppX2ipVt2b2VsWhDq1exL1ue7UhwjRtDJkVgOdUMXfu__Ynu6OThHgNfH16tI8F7kXVqOxez7HczP70HpO-SNgxaD6Yrz?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

**Diagrama "Carga de datos desde PDF"**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeQnksFiB2Xnzz3IgA-l6ilUya-5i385SrEKJhrMXJg0iu4la8kPI2IyHAnY8rIkC8a3AWBYsc6g6qW9_1XlzK16x-Xi0FRUiAT8XK1I34cdqPL4p78a_1GaAg3cZpmdBDbOn7NgGAjAB_qCBL0Hf59rCwP?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXfkaoOiDjZ0pyWdTnixBKovBvKoePVBlfG_YRSRhRudG0EB1gV0FKvk_c0FH6p8tQpHTnCDPOtBZ7UapPE2GEwx-VPQQVaKOnQg0m-aN8dhajZ0z9gW9Emyswl2NQjgxQC0phdB2XA6wiVcSuR62_npAmKj?key=AmI7nHoqQRm-An8sktOWcA)

1. **Bloque "Inicio"** (desde este bloque comienza cualquier diagrama).
2. **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 sobre la carga del archivo seleccionado, indicado mediante la variable.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeDI6onnBIHYQNBK3g5ndVy2Bvw4hLFwuP1qS8_HjIrgRK3q5AHqx6B3RZNwwpRnTEIOxpRd3ojnkmmNVl-HNcIWj0CVqpt7MLbUJcobKlVGGMK3SnPRDkg0rIZmovoEbe5MD0mO69Z5AwqPdvT_-27iDeL?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

3. **Bloque "Ejecutar expresión"** inicia la ejecución de una o varias expresiones en un lenguaje compatible con PowerShell. En este caso se utilizan dos expresiones.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcWIu8B4ZwR-tKLv-ai3Y7oAN4Dq2br3y_YVQM0gaj4YMDM4IEb-_dEoLi1l3lwoUuMzsEK57y7HfTS_f-Z0R2OzVjjxFnU73O08lI4ySl5zEx4aSA7kL5vN1OgyFyeb-biyex89EnyyKvp7HvGwriiYL-6?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

4. **Bloque "Extraer tabla"** permite extraer la tabla especificada de un archivo pdf. Para este bloque se especifican las siguientes propiedades:

* Nombre del archivo;
* Número de página (número de página desde el cual se extraerá el texto de la tabla);
* Número de tabla en la página (número de tabla en la página de la cual se necesita extraer el texto).<br>

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

5. **Bloque "Ciclo para cada"** itera sobre todas las filas de la tabla de datos.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfrNWT_m5eIhe6A87X2gOjiysz2xJ5Ij-Tb-RHE9ldkzcC-id-sOqUeOQamJyTh6agHu01F9mWMuRArD5miMDMIfozLifN_WcN-1lQtwETNQqdBlliuhvBj0cokZfBWEzU_Ebz7ysGZMvUesq9iPAyjv4k?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

5. **Bloque "Obtener texto de la página"** permite leer el texto de la página especificada del archivo pdf. Para este bloque se especifican las siguientes propiedades:

* Nombre del archivo;
* Número de página (número de página desde el cual se extraerá el texto);
* Resultado (devuelve el texto extraído de la página).

  <figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf8qVX9uwNvzTgVcNNFDfhaZSjfQdUKfxzZkqIRbiPEKVpmdS7Bs0TzQ7wz6IIk5js8a3wIeWXTczLCJG9wqNAeGr237va3eOGJSQFuxapopxRd0rA9VHa6ndz8At0mc0Z2FspRxfJQYk-4D6fN38TXPblD?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

7. **Bloque “Encontrar subcadena entre dos subcadenas”** permite encontrar en el texto una subcadena que se encuentra entre dos otras subcadenas. Debe haber tantos bloques como subcadenas se necesiten encontrar. En este caso se utilizan dos bloques “Encontrar subcadena entre dos subcadenas”: para la subcadena “Ejecutor” y la subcadena “Pedido”. En las propiedades de los bloques se indican:

* Texto (cadena de entrada);
* Parte izquierda (subcadena buscada a la izquierda);
* Parte derecha (subcadena buscada a la derecha).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcZpjCwWcnmgU211YbgbAe5dK-dm-6ZozrVbmV5AeDf8WJDxAjh6QhCICQ2xwYCejof9ysbXfnWUsaZWm_mq2wiAjUHu9WbMi_wp7BKmKb5l4sbj1XrxwM3Zvpjt2RB0cFgZYKu0NGkRlsuJWt0ecYNEF4?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc7GqMV7ebqvR8UbYh0eC7Tn-hVoHSCKqBDxhzJ3VjUSksf2k_VT3_NUZtGTx6D_zF2Cpy6nK7_np3_zfcIByjFtDm2Egp5wyoZtQJBmDL7nnssUs1Tsb1QpZhFEn60zeOLoj4HecIAR1PsesxCiNSblKk?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

8. **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 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, la condición establecida es: $Row \[0] == $index, es decir, si el valor de la celda 0 es igual a la variable $index, entonces la salida es “Sí”, de lo contrario – la salida es “No”.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXequltaOe8VZlqkmgkMuH1JjBfRd6krz36JXW51JiXMeQ4jc6u4-TVdcxQrDfmDYjRxn8FUUCa8AmYm3tw-HpEQK1ViptlknwVcbEPScPZGyDNwjkTB6OQOMxjzIcPS2z55zkMN3lJeAA795tPyjEhBQkQI?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

9. **Bloque “Agregar fila”** permite agregar una fila a la tabla de datos. En este caso se indican las siguientes propiedades:

* Tabla (tabla de datos a la que se agrega la fila);
* Número de fila (devuelve el número de la fila agregada, la numeración comienza desde 0).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcBl5iY6eXWcUbUoParysO8qGCsAZwMTtdryW6NwSNFQp9SYUPcs0sFVMXaaWFGLIHRYi2TvcnAHgf7A0cKI0U1Y6gF8r5hThy-mGXD-0xd3QP-Ipp9HANDhoK_QIJgaLHKH7lYZGdJm3C2-ff5ZX-tiLw?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

10. **Bloque “Escribir valor en celda”** permite escribir un valor en una celda de la tabla de datos. En este caso se utilizan tres bloques de este tipo para diferentes variables: $Row\[2], $Row\[3] y $Row\[5].

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfDrH_WXvfCXTKe11UT29pGKJFwJcKLioed2vM2iBJNDKDI0lKqe1cs0_BAu1GPNi3fkurZGmUDJDJ9gWvCkjtzsTb3LFOJCEeMpNNB-83CaJ0WFotOCvtwN3FbyfkSrxqyyUuPEW44zE9Qu9FRWraPwUY?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf_2Txr5HdDENIARh2Ny58mjtePkIBuXXH5UorkSjVS3ugLzUCLRuhPMB6-C9VjY3TLITjP5bsE31VHA2pcyVJX5H_uhEx9n-ojoNhxcZaJOSBVuIoBQJPyF_nFZ3AZe92BpmsOc8imOXqzZeEzRtehexQK?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc52N7acGlE90pWhKFECVM7obah9GUXuDz39aMo8nnschfPTTJD0Ji0RtDoQB1W-V-KkfV9Oyhb4UmcylQAyCTMSc0rbXPdgXdmsIe9t6p8aiVKZ9wMgYq9Xo_9K50bid7gm2cuqy0Xgrtum7Vv5Y4BMyFT?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

11. **Bloque “Ejecutar expresión”** inicia la ejecución de una o varias 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_4nXfZiNAyIML6b8IjXkDjUb9n5-Ox85CsyzwfL0QTpO7wp_zK6idOEyosEhYZgAtIWzENP4h6P-r6_5KH-q-4_LWVz2bYzxK6_mUFcPkP4rU2cd2_2e5Zz913gf_zvAX0GVbN_jIGBpCB24S4_F2UwY8bkaGa?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

12. **Bloque “Ejecutar expresión”** inicia la ejecución de una o varias expresiones en un lenguaje compatible con PowerShell. En este caso se utilizan dos expresiones.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeClTmGJBo1xztuOMQ-y2XxP3f84SV4Uu4PiYjesqykTWcewTuHWI-GyWY_SQm1P8hfG5-opTKIsFNxxam06Sxnrohib6XnKYwOc8LfsPDEj4r-sskyGwFqC7eeF4bgWvJMVKdcHcjfwBvZg3wGWGNJzKeg?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

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

Diagrama "Cargar datos desde XLSX"

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdohXtRjpKtoBbc74ngbGmNyu3px0T9l6N9pZTUhM10xW2TWRAnm1s54ddHiMUAz4C8Cmiw5Esy8P8Izku8i9_6SpqQmqn1i6lvGIWl0k5YIRPVfCK72ynZWqFnK5n-rufd2L96vH7uSzb34QjXQuhRQz8g?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

<br>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdHrH25UBlyc0w0FX0g6O8FZNX--o7McX_9FgEsIRiLmrpo24H95OvkUn7BQ_B_5uO1gIpZt-TAr8lu2SJsBdbqRC3POdkwxqSjD9RGr2Pzu34zuwFTmyGdX0sO9QojFtBtCmjWALYdIZqMaFf2P08ts_Uu?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

1. **Bloque “Inicio”** (cualquier diagrama comienza con este bloque).
2. **Bloque “Log”** permite registrar mensajes arbitrarios y/o valores de variables durante la ejecución del guion del robot. Para este bloque se indica 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 sobre la carga del archivo seleccionado, indicado mediante la variable.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfggmj4jMbO5FfkYcOfjGoGtdUtbhl-lvwjQTeCPlhT6JvWXxNGSNt7LzzMyYS5T3xcKE03RKtGK8CDTadKs55zcwFp-Y5fNtoi7iSbZdn0CJiiTpddAwTjVy-Z0b6AYc5pQQs2L5IQsK-6RINhNEYh9H8R?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

3. **Bloque “Abrir documento”** permite abrir un documento de Excel. Para este bloque se indican las siguientes propiedades:

* Ruta del archivo (ruta al documento de Excel que se necesita abrir);
* Enlace a Excel (devuelve un enlace al proceso de procesamiento del documento de Excel);
* Enlace al documento (devuelve un enlace al documento de Excel abierto, en el que se está trabajando actualmente).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfyyZSjSQ3l6KPemc6BoktmIwSi8oNhHKWLJP9zLZ4cl5camfpwbSrDMwJXSJu3rsZTluZVG_xzzY4QWO-E7W39iuvRDQ-2VGOLBGkweiGyT2cSdSTW1oQZA1XNOsWD1A9rjM7QW1UiHTQ0cDrgHemtw4I?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

4. **Bloque “Obtener valor de celda”** permite leer el valor de una celda del documento de Excel. En este caso se utilizan dos bloques “Obtener valor de celda” para diferentes filas y columnas. Para este bloque se indican las siguientes propiedades:

* Enlace al documento (devuelve un enlace al documento de Excel abierto, en el que se está trabajando actualmente);
* Hoja (número de orden o nombre de la hoja en la que se encuentra la celda requerida);
* Fila (número de fila en la que se encuentra la celda requerida);
* Columna (número de columna en la que se encuentra la celda requerida);
* Resultado (devuelve el contenido de la celda del mismo tipo de datos que en el documento de Excel).

  <figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfFlFDvuPBWgSwsAQwLK-BWI4yvoPOgY3RoeeltsO4LeduQYJZRSXLYQ1Vo5ZSqjT1iM0CLKQedq2uT33IAVYfZEGR0_nbP5BgzWi7vUKPmst47YoKfbvlzo5ISdQ9qZxTSyB9cNBfqCrxRlf4Uc0eDUQCl?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfExO_doZQrNcWXKEksbJlADAWBzvvOo1ic96fqjxzKjLyh3Px8Py0_V82NbClITF-YQTH2SAtp7zQh5ISuVlOmIjxDQlJ3kW_HFKLNdM3EqoQqyOLZ7amSjep-Nn7HVICAuBT6-oFdmYQPTMJ36M4f7tIa?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

5. **El bloque “Encontrar subcadena entre dos subcadenas”** permite encontrar en el texto una subcadena que se encuentra entre dos otras subcadenas. Debe haber tantos bloques como subcadenas se necesiten encontrar. En este caso se utilizan dos bloques “Encontrar subcadena entre dos subcadenas”: para la subcadena “Ejecutor” y la subcadena “Pedido”. En las propiedades de los bloques se indican:

* Texto (cadena de entrada);
* Parte izquierda (subcadena buscada a la izquierda);
* Parte derecha (subcadena buscada a la derecha).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdMUooE7iMdKalA6NN4cdv1lSEiwX4RpOH1htZ7CN21Ki4LKYFRl-HVF1RGNCOxMyrC3fQa0FY7jr_5A22ZNlWPsuBBucUbSWwLIBQM7jRUNPKwrIccLoEC0OhIILfAyQdpgoxP4lmP8bJe2GutdaxKFmcu?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

6. **El bloque “Ejecutar expresión”** inicia la ejecución de una o varias 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_4nXf-esMaUiOm6TOyWVZWfu5k1G5TVpxztR03yptV4JsRUPnJQUexhyZyp9XpOLgjOdT7sem5NmCnKnzxYsJk4UqygiFG-Zxec-9Cnnc8ySqcIWZ3dOxBB9n1ol0PrssWwQbnHZ0L1DkhM5lmnRAI_A_T-7tI?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

7. **El bloque “Obtener valor de celda”** permite leer el valor de una celda de un documento de Excel. Para este bloque se indican las siguientes propiedades:

* Enlace al documento (devuelve un enlace al documento de Excel abierto en el que se está trabajando actualmente);
* Hoja (número de orden o nombre de la hoja donde se encuentra la celda requerida);
* Fila (número de fila donde se encuentra la celda requerida);
* Columna (número de columna donde se encuentra la celda requerida);
* Resultado (devuelve el contenido de la celda del mismo tipo de datos que en el documento de Excel).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXch_YEs2dfFWsPdzmF_KbUvYc5DXnVYq2YZ-2Qg7AmgLsK7TYKh6hdA-5m6Wt2XaqCwOdbK0TgtLfit1f55f1jp36tdUKCbhvKNGKLw0lX7L5-YKGpam9uM4FoD1RVSh-UG41dzTN6Qs7oaKKBEK2RnDrzL?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

8. **El 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 la condición se cumple) o hacia la salida “No” (si la condición no se cumplió).

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

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeayu-5i9yGVmnDtXEakJzvpnYH4oBQVCF8xKGRD9yZvNtd7f7ydLi-8N5qj7LHYaDfhgCvYULGo2_JeFDnxnw1Enn6MR74gfhYTVSQh7GIvwelOFWE5nFQiPyOsb0m-v5fA-CBrKpNbq940v778uigB9t5?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

9. **El bloque “Cerrar documento”** permite cerrar el documento de Excel. Para este bloque se indican las siguientes propiedades:

* Enlace a Excel (devuelve un enlace al proceso de manejo del documento de Excel);
* Enlace al documento (devuelve un enlace al documento de Excel abierto en el que se está trabajando actualmente).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe_UTU7rY1QL0_fBSbD7K9Ak2mHAjaQrnLEowTCIrlzCx4r2gomWb-bihMUhX86pyqv0SDMxcfaBCOb_AOoGEH-DX9TOliIKvB4kGGcelvdY7M7G6nKzwgkSVT49AX671BaGHtAse2oTeYrpWXadToqY5AX?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

10. **Los bloques “Obtener valor de celda”** permiten leer el valor de una celda de un documento de Excel. En este caso se utilizan dos bloques “Obtener valor de celda” para diferentes filas y columnas. Para este bloque se indican las siguientes propiedades:

* Enlace al documento (devuelve un enlace al documento de Excel abierto en el que se está trabajando actualmente);
* Hoja (número de orden o nombre de la hoja donde se encuentra la celda requerida);
* Fila (número de fila donde se encuentra la celda requerida);
* Columna (número de columna donde se encuentra la celda requerida);
* Resultado (devuelve el contenido de la celda del mismo tipo de datos que en el documento de Excel).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc50JOZDttMgpgFfFxBPKvKUrQcyQch6et-dpGlzYDjGcaBZFtNHr5LWheQOYFhfwASAUgoB-xbJizTgtnmyoDEaI_bGPf5iBY3QY9DeOO5GEgE82eHWmQpflynYx9THY0M3fvzEw6QPHqWnKHspkfxYa5w?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeUKwVeYKIpH8-hXSM4rYzh7zpyVPMPEXj798DzeKpnIVozcuHBw5fSfVDBy2mEiF7EH4K3qOpMR4uyr3CpwLSw19Xeln4dKJQtHsKrR0UkAwFz-pub7BSJSdheRnRSMtDYJ_8ejLHGUX-8VxObh5tSDfU?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

11. **El bloque “Agregar fila”** permite agregar una fila a una tabla de datos. Para este bloque se indican las siguientes propiedades:

* Tabla (tabla de datos a la que se agrega la fila);
* Número de fila (devuelve el número de la fila agregada).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeLaavLdfRggj_rs5XC-9uDALYPkNu4S7lKLucXCz4BAXiFUtsue9r3dg3wqV12snuACXgyrucTCeZRgQWnqrN4JrFiUw1BtkVGIft2xKulo959iPY9tg-GoSa9ltT30Mq1MCXhw_ngZGssEdeVhGWP9Tsb?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

12. **El bloque “Escribir valor en celda”** permite escribir un valor en una celda de la tabla de datos. En este caso se utilizan tres de estos bloques para diferentes columnas y valores. Para este bloque se indican las siguientes propiedades:

* Tabla (tabla de datos en la que se debe escribir el valor);
* Fila (número de fila);
* Columna (número de columna, la numeración comienza desde 0);
* Valor (valor que se debe escribir).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdrc-1p7pQuZHiuSmrTRicPlWfBF3CCN9fc4se6fI4HZYX_KGMFAgpFJjeFZv1-5BEyOz4bVnSig61PgLoXi4eJL--95NHiSq3sBaqp0w9NNU8-N_BONIICynXmtcSckT7ImEm5zAVj2UrWMOCkgI-yjT4?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcPLIz7Ezm_Aw-w_eCtYlkUlOji0Lh4651iMfLf3WxOV4KlzJlHkV8ot3IE1cgeXq5jqCzCFl2fq_I8dOn6AQdhuOdKsZMhaX7Ejbnnr1G7mVO7kdmwAz1CX66WYM5xFVwiwm4M_EqdV2OcswwZq0e1wPZR?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfY5AsyqLgV0wawslXvHtDi4KCyUCP-Akl9vQWvQbk7I3O_VBRzWKV-EHlY1CyliaecBxKCPmYNGKb8td6ltKMMp3bPwvyNlC89hG_8JUSTRR0N18zbQh7QvZ8-u9zy7vi2zE2zkQpgR8mxXtcixOszx-Br?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

13. **El bloque “Ejecutar expresión”** inicia la ejecución de uno o varios 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_4nXdXM0DXMuMucAxZYiluq820iyeIOFxz_xFYXbWwHMLGmROuVlXPdso_hduI55XK62w8lzeRBL1ctA5lO_PTU1he8wrzKhGKa-xL8ppqFLYmHq9uo8RMTr85wiO6R6ZZz2taD9bWOB-EpKr8N71OoOiksP0q?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

14. **El bloque “Fin”** (este bloque finaliza la ejecución del guion o devuelve el diagrama del subproceso al proceso principal).

\*\*Diagrama "Agregar factura"\*\*Después de extraer los datos de un documento PDF o Excel, el robot crea una factura de entrada en 1C. Este diagrama se ha creado parcialmente utilizando la función "Grabación" de Sherpa Designer. Más información sobre ella [aquí](https://docs.sherparpa.ru/es/sherpa-rpa/sherpa-designer/rabota-v-sherpa-designer/osnovnoe-menyu/panel-razrabotka/menyu-zapis/zapis-deistvii-polzovatelya).<br>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXek15vPpqa9UbCU-EBCErxQP0bgXHKMxTDa8oS0ykg45LWnltd3-zRzSAEzo-tLop8T44wUCW8Xm5adGRFmgp-PKyCiFD3XTxoJarEyUFCv3FhDL7xaHtZG_vwjR83Gz4XzZmXjl4NNOYu9qvJH7fLORrg4?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdGy5Cn2_lpkFhP5RHj34sX-AZZtFJvi5WceULPN0ckVmR2Mt6bkp5lc2s8OCHHURBjfZQbglrn-ZXZKwt8NdLhj8weTqQPlAlwCtIamTl-LRjW05RgzfAW5U18kZCQhbGhZDjfW_piAbMaYi1V-_6XgmTO?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

1. **Bloque "Inicio"** (este bloque inicia cualquier diagrama).
2. **Bloque "Log"** permite enviar mensajes arbitrarios y/o valores de variables al registro durante la ejecución del script del robot. Para este bloque se ha especificado la propiedad "Valor". Aquí, este bloque registra en el log del robot el mensaje "Creando nomenclatura".

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXffFQedeULJNhTkhBeyGWyrJ4a-_Ri1vxqFTGJ8A324vzb3PT0sYeve0lv2fL83MVGUPwKkxLV7RHZk4JnduNWIUMov2b4mIuvkaJIgLwlVje1IEHPkYhL8EZFOn_4G2zhzK46-mxfpHer1Gt_5xF-P0QKL?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

3. **Bloques "Verificar existencia de elemento"** (verifica la existencia de un elemento de la interfaz de usuario en la pantalla), **"Hacer clic"** (realiza un clic en el elemento especificado de la aplicación) y **"Presionar teclas"** (emula la pulsación de teclas en el teclado) se han añadido al diagrama utilizando la función "Grabación". Cada uno de los bloques utiliza un selector. Más información sobre el trabajo con selectores [aquí](https://docs.sherparpa.ru/es/sherpa-rpa/sherpa-designer/rabota-v-sherpa-designer/paneli-svoistv-i-peremennykh-i-rabota-s-nimi/panel-svoistv/nastroika-selektorov).
4. **Bloque "Asignar valor a 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 específica.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdLmHA539yA604y6xXWqQMHBoN1NuQKXgD__xzdbz19XW68a3NQcGG-u4Kru-sbM6KWSIqNaVMAhuRaNgEHW-GEq66C9q-Mym13bAhuV6Iy05s1LrKg0SgTZNAWlXtKFrR8Af13-z2mbYaeAMZHDKcEgmgI?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

5. **Bloque "Ciclo para cada uno"** itera cíclicamente sobre todas las filas de la tabla de datos.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeytt-dsnGWRT07ZPdFS4bGD0_3N1ifmizn471LbxQbYUY-_aj9d5vsVgr_N8Epen7XbEFFuwQqq3QW6zYhiZ3pJzmhZh1aYAJ-i_7jaJY2J7FJQAd3tUKP6cLpbKTRGYpGvf9YUsSjIBek83jNb_N7z-I6?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

6. **Bloque "Hacer clic"** (realiza un clic en el elemento especificado de la aplicación) se ha añadido al diagrama utilizando la función "Grabación".
7. **Bloque "Pausa"** detiene la ejecución del script durante un tiempo determinado. Para este bloque se han especificado las siguientes propiedades:

* Unidad de medida (unidad en la que se ha especificado la duración de la pausa);
* Duración (número de segundos durante los cuales se detendrá la ejecución del script);
* Iniciar inmediatamente (la bandera establecida activa la aplicación de la pausa inmediatamente en la primera pasada de este bloque desde el inicio del script del robot).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc8VLMRXBHKsWrlNsn27mr8xVu5X4b8pNauRtbkg2ICr0JKHB9KKgRoWbQKr8xXyWqUl0Se1nwvdOSdwoSgnNJo8EJdUTAdZuhZWkDyyN7KlrRtl9Vv-4tifKAYzKoHFLSTvWGAIB42O2HBK-nzGIraIZD-?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

8. **Bloques "Hacer clic"** (realiza un clic en el elemento especificado de la aplicación) y **"Presionar teclas"** (emula la pulsación de teclas en el teclado) se han añadido al diagrama utilizando la función "Grabación". Cada uno de los bloques utiliza un selector.
9. **Bloque "Ejecutar expresión"** inicia la ejecución de una o varias 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_4nXfINt0-_aS5EZpceAcisv-VhaByz6kXMWbyt4G-74ORfHaHu8KgYa880g0Hth_c09f0Eszc6yw4TRXlLSy3zewLPorLmyhXidZCdtiuOT-13ejc4FByMryUeP6nfLG5q5J7fn0zrJsWHc-KKo7VL_lUtDFc?key=AmI7nHoqQRm-An8sktOWcA" alt=""><figcaption></figcaption></figure>

10. **Bloque "Fin"** (este bloque finaliza la ejecución del script 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/1s-prikhodnaya-nakladnaya.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.
