- Información general
- Eventos de la aplicación
- Notas relacionadas
- Acerca del paquete de actividades Eventos de la aplicación
- Compatibilidad de proyectos
- Abrir la página de Apps
- Cerrar la ventana emergente/hoja inferior de Apps
- Mostrar mensaje de Apps
- Mostrar/ocultar el indicador giratorio de Apps
- Abrir URL en Apps
- Enviar acción
- Restablecer valores de aplicaciones
- Enviar resultado provisional
- Desencadenador de solicitud de Apps
- Manejar solicitud de aplicaciones
- Seguimiento del progreso en apps en tiempo real usando resultado de proceso provisional
- Crear una calculadora en tiempo real
- Generador de diagramas de flujo
- Notas relacionadas
- Acerca de las actividades del Generador de diagramas de flujo
- Compatibilidad de proyectos
- Secuencia
- Agente
- Aprobación humana
- Reglas empresariales
- Invocar archivo de flujo de trabajo
- Actividades
- Esperar desencadenador
- Subproceso
- Controlador de errores independiente
- Decisión
- Interruptor
- Dividir
- Fusionar
- Marcador de posición de evento
- Reanudar después del retraso
- Esperar mensaje
- Controlador de errores
- Finalizar
- Lanzar excepción
- Terminate
- Aviso
- Escenarios complejos
- Credenciales
- Data Service
- Acerca del paquete de actividades de Data Service
- Compatibilidad de proyectos
- Crear registro de entidad (Nuevo)
- Actualizar registro de entidad (Nuevo)
- Eliminar registro de entidad (nuevo)
- Obtener registro de entidad por Id (nuevo)
- Consultar registros de entidad (Nuevo)
- Cargar archivo en el campo de registro (nuevo)
- Descargar archivo del campo de registro (nuevo)
- Eliminar el archivo desde el campo de registro (Nuevo)
- Crear varios registros de entidad (Nuevo)
- Actualizar varios registros de entidad (Nuevo)
- Eliminar varios registros de entidad (Nuevo)
- Crear registro de entidad
- Elimina el registro de entidad
- Obtener el registro de entidad por ID
- Consultar los registros de la entidad
- Actualizar registro de entidad
- Cargar archivo en el campo de registro
- Descargar archivo desde el Campo de registro
- Eliminar el archivo desde el campo de registro
- Crear varios registros de entidad
- Actualizar varios registros de entidad
- Eliminar varios registros de entidad
- Formulario
- Notas relacionadas
- Compatibilidad de proyectos
- Formularios en tiempo real
- Actualizar datos del formulario
- Ejecutar formularios usando JavaScript
- Personalizar formularios con CSS
- Componentes condicionales
- Agregar múltiples componentes en la misma fila en Columnas
- Usar el componente de tabla de datos
- Obtener la ruta del archivo / carpeta
- Leer valores de celda de un componente de cuadrícula de datos
- Mostrar archivos PDF
- Mostrar imágenes en formularios
- Desplazarse por cuadrícula de datos
- Usar herramientas de desarrollo con formularios
- Calcular los valores de los componentes del formulario
- Gestionar fechas en formularios
- Abrir hipervínculos dentro de formularios
- Mostrar una pestaña predeterminada en los formularios
- Mostrar la etiqueta completa de un componente
- Buscar cadenas largas en listas desplegables
- Establecer dinámicamente los valores del formulario
- Acerca de la experiencia anterior al formulario 23.4
- Compatibilidad de Proyectos
- Formularios en tiempo real
- Casillas de verificación dinámicas
- Desplegables condicionales
- Mostrar una pestaña predeterminada
- Mostrar imágenes
- Mostrar archivos PDF
- Mostrar la etiqueta completa
- Elementos HTML dinámicos
- Administrar fechas
- Buscar cadenas largas en menús desplegables
- Personalizar formularios usando archivos CSS locales
- Ejecutar Bloquear en cambio de casilla de verificación
- Personalizar anchura de columnas
- Actualizar datos del formulario
- Restablecer colección de datos
- Lógica avanzada
- Ejecutar Bloquear en cambio de opción de desplegable
- Leer valores de celda de un componente de cuadrícula de datos
- Componentes condicionales
- Desplazarse por componentes de cuadrícula de datos
- Usar el componente de cuadrícula
- Herramientas de desarrollo
- Valor calculado
- Desplegables dinámicos
- Cambiar de pestaña con clic de botón
- Abrir hipervínculos dentro de formulario
- FTP
- IPC
- Procesos de operaciones de automatización
- Notas relacionadas
- Acerca del paquete de actividades Procesos
- Compatibilidad de proyectos
- Activar implementación de solución
- Analizar
- Crear
- Clonar
- Eliminar paquete de soluciones
- Implementar solución
- Download Package
- Descargar paquete de soluciones
- Descargar la configuración del paquete de soluciones
- Publicar paquete
- Publicar paquete de solución
- Proyecto de solución de resincronización
- Ejecutar conjunto de pruebas existente
- Ejecutar pruebas
- Estado
- Desinstalar solución
- Actualizar proceso
- Cargar paquete de soluciones
- Persistencia
- Notas relacionadas
- Compatibilidad de proyectos
- Diseñador de formulario masivo
- Comenzar trabajo y obtener referencia
- Esperar trabajo y continuar
- Agregar elemento de la cola y obtener referencia
- Esperar elemento de la cola y continuar
- Esperar la tarea de formulario y continuar
- Reanudar después del retraso
- Asignar tareas
- Crear Tarea Externa
- Esperar la Tarea Externa y continuar
- Complete Task
- Forward Task
- Get Form Tasks
- Get Task Data
- Obtener tareas de la aplicación
- Agregar comentario de tarea
- Actualizar etiquetas de la tarea
- Crear tarea de aplicación
- Esperar tarea de aplicación y reanudar
- Configurar el temporizador de tareas
- Trabajar con tareas de la aplicación
- Creación de la acción del primer formulario
- Controles avanzados para desplegables
- Incrustar Objetos en acciones de formulario
- Permitir a usuarios cargar archivos en el Depósito de almacenamiento
- Agregar lógica avanzada usando Java Script
- Configurar una pestaña predeterminada
- Eliminar el botón Eliminar de Editar cuadrícula utilizando CSS personalizado
- Personalizar las plantillas Editar cuadrícula
- Uso de botones para desencadenar lógica personalizada
- Utilizar un diseño de formulario externo
- Expandir dinámicamente los componentes del formulario en runtime
- Alinear el contenido de un componente de formulario de izquierda a derecha utilizando atributos JSON
- Flujos de trabajo de muestra
- System
- Notas relacionadas
- Compatibilidad de proyectos
- Codificación de caracteres compatible
- Asistente del generador de RegEx
- Añadir columna de datos
- Añadir fila de datos
- Añadir campos de registro
- Sumar o restar de la fecha
- Añadir elemento de transacción
- Añadir elemento de la cola
- Agregar elemento a la colección
- Agregar elemento a la lista
- Anexar línea
- Sonido
- Interrumpir / Salir del bucle
- Buscar archivo
- Buscar carpeta
- Colección de compilación
- Crear tabla de datos
- Añadir elementos de la cola de forma masiva
- Cambiar mayúsculas y minúsculas del texto
- CambiarTipo
- Comprobar Falso
- Comprobar Verdadero
- Borrar tabla de datos
- Recopilación a la tabla de datos
- Comentario
- Comprimir archivos
- Copiar archivo
- Copiar carpeta
- Combinar texto
- Comentarios / Actividades desactivadas
- Continuar / Omitir actual
- Crear archivo
- Crear carpeta
- Crear lista
- Entrada personalizada
- Eliminar
- Eliminar archivo
- Eliminar carpeta
- Eliminar archivo de almacenamiento
- Eliminar elementos de la cola
- Deshabilitar desencadenador local
- Hacer mientras
- Descargar archivo desde URL
- Descargar archivo de almacenamiento
- Habilitar desencadenador local
- Evaluar reglas empresariales
- Existente en la colección
- Extraer/descomprimir archivos
- Extraer fecha y hora del texto
- Extraer texto
- Desencadenador de cambio de archivo
- El archivo existe
- Colección de filtros
- Filtrar tabla de datos
- La carpeta existe
- Para cada
- Para cada archivo en la carpeta
- Desencadenador de cambio de archivo v3
- Buscar y reemplazar
- Buscar patrones coincidentes
- Para cada carpeta de la carpeta
- Para cada fila de la tabla de datos
- Aplicar formato a fecha como texto
- Valor de formato
- Generar tabla de datos
- Obtener activo
- Obtener credencial / Obtener credencial de Orchestrator
- Obtener información de trabajo actual
- Obtener carpeta de entorno
- Obtener variable de entorno
- Obtener información del archivo
- Obtener información de la carpeta
- Obtener trabajos
- Obtener procesos
- Obtener elemento de fila
- Obtener secreto
- Obtener elemento de transacción
- Obtener nombre de usuario/contraseña
- Obtener elementos de la cola
- Desencadenador de variable global cambiada
- Cuadro de diálogo de entrada
- Invocar código
- Invocar método de comunicación
- Invocar Power Shell
- Invocar proceso
- Invocar el ScriptDeVB
- Invocar archivo de flujo de trabajo
- ¿El texto coincide?
- Unir tablas de datos
- Cancelar proceso
- Iniciar flujo de trabajo interactivo
- Enumerar archivos de almacenamiento
- Registrar mensaje
- Buscar tabla de datos
- Desencadenador manual
- Combinar colecciones
- Fusionar tabla de datos
- Bandeja de mensajes
- Fecha de modificación
- Modificar texto
- Mover archivo
- Mover carpeta
- Asignación múltiple
- Nuevo elemento agregado a la cola
- Notificar la modificación de la variable global
- Solicitud HTTP de Orchestrator
- Tabla de datos de salida
- Paralelo
- Paralelo Para cada
- Ruta existente
- Posponer elemento de la transacción
- Desencadenador de final del proceso
- Desencadenador de inicio del proceso
- Ámbito del seguimiento de procesos
- Enviar alerta
- Read List Item
- Leer archivo de texto
- Leer texto de almacenamiento
- Quitar columna de datos
- Quitar fila de datos
- Quitar filas duplicadas
- Quitar de la colección
- Quitar campos de registro
- Reemplazar patrones coincidentes
- Repetir número de veces
- Repetir desencadenador
- Renombrar archivo
- Renombrar carpeta
- Estado del informe
- Restablecer temporizador
- Reanudar temporizador
- Reintentar ámbito
- Devolver
- Ejecutar desencadenadores locales
- Ejecutar agente
- Ejecutar trabajo
- Ejecutar proceso paralelo
- Establecer activo
- Enviar notificación por correo electrónico
- Establecer credencial
- Establecer variable de entorno
- Establecer secreto
- Establecer estado de la tarea
- Establecer estado de seguimiento
- Establecer progreso de la transacción
- Establecer estado de la transacción
- Debe parar
- Dividir texto
- Ordenar tabla de datos
- Temporizador de inicio
- Iniciar trabajo
- Detener trabajo
- Detener desencadenadores locales
- Detener temporizador
- Texto a la izquierda/derecha
- Texto en mayúsculas/minúsculas
- Desencadenador de hora
- Ámbito del desencadenador
- Seguir objeto
- Ámbito de tiempo de espera
- Actualizar un elemento de la fila
- Actualizar elemento de la lista
- Cargar archivo de almacenamiento
- Esperar descarga
- Esperar a elemento de la cola
- Mientras
- Marcador de posición del flujo de trabajo
- Escribir texto de almacenamiento
- Escribir archivo de texto
- Añadir fila de datos
- AddQueueItem
- Añadir elemento de transacción
- Anexar línea
- BulkAddQueueItems
- Borrar tabla de datos
- ComprimirArchivosZip
- Copiar archivo
- Crear archivo
- Crear carpeta
- Eliminar archivo o carpeta
- Eliminar elementos de la cola
- Eliminar archivo de almacenamiento
- Descargar archivo de almacenamiento
- ExtraerDescomprimir
- Filtrar tabla de datos
- Obtener activo
- Obtener credencial
- GetJobs
- Obtener elemento de la cola
- GetQueueItems
- Obtener recurso para ruta local
- Obtener elemento de fila
- Obtener elemento de transacción
- Invocar proceso
- Unir tablas de datos
- Enumerar archivos de almacenamiento
- Buscar tabla de datos
- Fusionar tabla de datos
- Mover archivo
- Solicitud HTTP de Orchestrator
- OutputDataTable
- Ruta existente
- Posponer elemento de la transacción
- Leer texto de almacenamiento
- Leer archivo de texto
- Quitar columna de datos
- Quitar filas duplicadas
- Reemplazar
- Establecer activo
- Establecer credencial
- SetTransactionProgress
- Establecer estado de la transacción
- Ordenar tabla de datos
- Iniciar trabajo
- Detener trabajo
- Actualizar un elemento de la fila
- Cargar archivo de almacenamiento
- Esperar a elemento de la cola
- Escribir texto de almacenamiento
- Escribir archivo de texto
- Pruebas
- Notas relacionadas
- Acerca del paquete de actividades Testing
- Compatibilidad de proyectos
- El nombre del caso de prueba no es único dentro del proyecto
- Convención para la atribución de nombres del caso de prueba dañada
- Faltan verificaciones en el caso de prueba
- Flujos de trabajo sin probar
- Test Manager conectado
- Simulacro no utilizado
- Caso de prueba sin anotaciones
- Caso de prueba/flujo de trabajo demasiado complejo
- El caso de prueba incluye demasiadas ramas
- Configuración del proyecto
- Añadir el artículo en cola de datos de prueba
- Address
- Adjuntar documento
- Agregar elementos de cola de datos de prueba de forma masiva
- Crear regla de comparación
- Comparar documentos PDF
- Comparar texto
- Eliminar artículos en cola de datos de prueba
- Obtener el artículo en cola de datos de prueba
- Obtener los artículos en cola de datos de prueba
- Nombre propio
- Apellidos
- Fecha aleatoria
- Número aleatorio
- Cadena aleatoria
- Valor aleatorio
- Verificar atributo de control
- Verificar expresión
- Verificar expresión con operador
- Verificar rango
- Address
- AddTestDataQueueItem
- AttachDocument
- BulkAddTestDataQueueItems
- DeleteTestDataQueueItems
- GetTestDataQueueItem
- GetTestDataQueueItems
- GivenName
- LastName
- RandomDate
- RandomNumber
- RandomString
- RandomValue
- VerifyAreEqual
- VerifyAreNotEqual
- VerifyContains
- VerifyExpression
- VerifyExpressionWithOperator
- VerifyIsGreater
- VerifyIsGreaterOrEqual
- VerifyIsLess
- VerifyIsLessOrEqual
- VerifyIsRegexMatch
- VerifyRange
- Workflow Foundation

Actividades del flujo de trabajo
Seguimiento del progreso en apps en tiempo real usando resultado de proceso provisional
Información general
Para entender mejor cómo funcionan los resultados provisionales del proceso, puedes crear el ejemplo descrito en esta página.
By following this procedure, you will build a process in Studio that involves sending intermediate data to UiPath Apps using the Send Interim Result activity. You will build an app that will display a progress bar (using Slider control) in real-time as the tables are populated with data.
Para este ejemplo construiremos lo siguiente:
- Un proceso de automatización
- Una aplicación usando UiPath Apps
Tutorial
Crear el proceso
The process from this tutorial is used to demonstrate the capabilities of the Interim Process Result activity. The process takes two inputs:
- El número de elementos a procesar.
- El número de pasos de cada elemento.
El proceso se ejecuta con estas entradas y envía los siguientes resultados provisionales a la aplicación:
- El elemento actual que está ejecutando el proceso.
- El paso actual del elemento.
- El porcentaje de progreso para el elemento específico.
- Una tabla que rellena cada paso, incluida una marca de tiempo.
-
Abre Studio y crea un nuevo Proceso.
-
Crea los siguientes argumentos:
Nombre de Argumento Dirección Tipo de argumento Valor predeterminado in_number_of_stepsEn Int32 3 in_number_of_itemsEn Int32 2 out_progress_percentageSalida Int32 - out_progress_datatableSalida TablaDeDatos - out_current_stepSalida Int32 - out_current_itemSalida Int32 - -
Arrastra una Secuencia al Diseñador de flujo de trabajo.
-
Crea las siguientes variables:
Nombre de la variable Tipo de variable Valor predeterminado var_itemInt32 1 var_stepInt32 1 var_percentageInt32 0
-
-
Añade una actividad Construir tabla de datos dentro del contenedor Secuencia.
- Añade el argumento
out_progress_datatableen el campo Tabla de datos. - Añade cuatro columnas a la tabla:
- Item Number as
Int32. - Step Number as
Int32. - Time as
DateTime. - Progress % as
Int32.
- Item Number as
- Add a While activity below the Build Data Table activity and configure it as below:
- Añade el argumento
-
Añade
var_item<=in_number_of_itemsen el campo Condición.- Add a While activity in the Body.
- Añade
var_step<=in_number_of_stepsen el campo Condición. - Add an Add Data Row activity in the Body.
- Add
{var_item,var_step,now(),(var_step/in_number_of_steps)* 100}in the ArrayRow field. - Add
out_progress_datatablein the DataTable field.
- Add a Delay activity below Add Data Row. Add
00:00:02in the Duration field (2 second). - Add a Send Interim Result activity below Delay.
- Add
out_progress_datatablein the Argument name field andout_progress_datatablein the Argument value field.
- Add a Multiple Assign activity below Send Interim Result.
- Add
var_percentagein the To field andConvert.ToInt32((var_step/in_number_of_steps) * 100)in the Value field.
- Add a Send Interim Result activity below Multiple Assign.
- Add
out_progress_percentagein the Argument name field andvar_percentagein the Argument value field.
- Add a second Send Interim Result activity before the previous one.
- Add
out_current_stepin the Argument name field andvar_stepin the Argument value field.
- Add a third Send Interim Result activity.
- Add
out_current_itemin the Argument name field andvar_itemin the Argument value field.
- Add a Multiple Assign activity below the last Send Interim Result activity.
- Add
var_stepin the To field andvar_step+1in the Value field.
- Add a Multiple Assign activity below the last While.
- Add
var_stepin the To field and1in the Value field. - Add
var_itemin the To field andvar_item+1in the Value field. - Add
var_percentagein the To field and1in the Value field.
- Añade
- Add a While activity in the Body.
Resultado
Al final, su flujo de trabajo debería ser similar al que se muestra a continuación.

Construcción de la aplicación
La aplicación de este tutorial recibe información del proceso creado anteriormente. La aplicación muestra los siguientes resultados provisionales recibidos del proceso:
- El elemento actual que está ejecutando el proceso.
- El paso actual del elemento.
- El porcentaje de progreso para el elemento específico.
- Una tabla que rellena cada paso, incluida una marca de tiempo.
Antes de empezar a crear tu aplicación, asegúrate de que el proceso de automatización de la sección Crear el proceso se ha creado y publicado en tu Orchestrator.
-
Abre tu aplicación ya existente o inicia una nueva.
-
Haz referencia al proceso desde la sección Requisitos previos .
-
Agrega un contenedor a la página.
-
Add a Header control in the container. Add App - Interim Process Results in the Text property. This will be the app title.
-
Add a second Header control below the previous one. Add Input in the Text property. Make sure that the font size is a bit smaller (for example,
20 px).- Añade un control Cuadro de texto dentro del contenedor. Añade el argumento
in_number_of_itemsdel proceso referenciado anteriormente en la propiedad Vinculación de valor. Añade2en la propiedad Texto predeterminado yNumber of items (iterations)en la propiedad Etiqueta . - Añade un Divisor a la derecha del control Cuadro de texto .
- Añade un control Cuadro de texto a la derecha del Divisor. Añade el argumento
in_number_of_stepsdel proceso referenciado anteriormente en la propiedad Vinculación de valor. Añade3en la propiedad Texto predeterminado yNumber of steps in itemen la propiedad Etiqueta . - Añade un control Botón a la derecha del Cuadro de texto. Añade
Start Processen la propiedad Texto . Configura una regla de proceso de inicio para el evento Clicked on . Configura la regla para iniciar el proceso al que se hace referencia al principio y márcalo como Atendido.
- Añade un control Cuadro de texto dentro del contenedor. Añade el argumento
-
Add a Divider below the container.
-
Add a Header below the divider. Add Interim Process Result in the Text property.

-
Add a Container below the header.
-
Add two more Container control one inside each other.
- Añade una etiqueta dentro del último contenedor. Añade
Current item being processed:en la propiedad Texto . - Añade una segunda etiqueta junto a la anterior. Añade el argumento
out_current_itemdel proceso al que se hace referencia en la propiedad Texto .
- Añade una etiqueta dentro del último contenedor. Añade
-
Add a Container below the last one.
- Añade una etiqueta dentro del último contenedor. Añade
Current step:en la propiedad Texto . - Añade una segunda etiqueta junto a la anterior. Añade el argumento
out_current_stepdel proceso al que se hace referencia en la propiedad Texto .
- Añade una etiqueta dentro del último contenedor. Añade
-
Añade un divisor a la derecha de los dos últimos contenedores.

-
Add a Container to the right of the Divider and another Container inside the first one.
- Añade un control Etiqueta y añade
Step completion % :en la propiedad Texto . - Añade dos controles Contenedor más, uno dentro de otro, y un control Etiqueta y un control Deslizador en el último. Añade el argumento
out_progress_percentagedel proceso en la propiedad Texto de la Etiqueta. Configura las propiedades del Control deslizante : Incremento de deslizamiento en0y Valor predeterminado en0.
- Añade un control Etiqueta y añade
-
Add a Divider below.
-
Add a Table control below the divider.
- Añade el argumento
out_progress_datatabledel proceso en el campo Origen de datos . - Añade una columna Número de elemento y proporciona
Item Numberdel proceso de tabla de datos como Origen. - Añade una columna Número de paso y proporciona
Step Numberdel proceso de tabla de datos como Origen. - Añade una columna de Tiempo y proporciona
Timedel proceso de tabla de datos como Origen. - Añade una columna Progreso % y proporciona
Progress %del proceso de tabla de datos como Origen.
- Añade el argumento
Resultado
Al final, su aplicación debería tener un aspecto similar a la que se muestra a continuación:

Resultado
Al previsualizar la aplicación, puedes pulsar el botón Iniciar proceso .
La aplicación proporcionará la siguiente información provisional para el proceso:
-
Elemento actual que se está procesando
-
Paso actual
-
Finalización de paso (porcentaje)
-
Tabla con información sobre el elemento, el número de paso, la marca de tiempo y el progreso.

También puede cambiar el número de elementos o los pasos de un elemento utilizando los campos de texto.
Flujo de trabajo de muestra
Para comprobar el flujo de trabajo completo y la aplicación o para tener una referencia futura, descarga los archivos desde aquí.