- 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
- 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
- Actualizar registro de entidad
- Elimina el registro de entidad
- Obtener el registro de entidad por ID
- Consultar los registros de la entidad
- Consultar varios registros 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
- 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
- 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
- Generar dirección
- Generar nombre propio
- Generar apellido
- Generar fecha aleatoria
- Generar número aleatorio
- Generar cadena aleatoria
- Generar valor aleatorio
- Obtener el artículo en cola de datos de prueba
- Obtener los artículos en cola de datos de prueba
- 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
Flujos de trabajo de muestra
El panel Fragmentos en UiPath Studio almacena los archivos XAML añadidos por los usuarios. Los archivos XAML de muestra se almacenan en carpetas. La carpeta que almacena los archivos XAML utilizados en los flujos de trabajo de larga duración se llama Orchestration.
Los archivos XAML de ejemplo son de solo lectura. Debes crear un proceso independiente en Studio, donde repliques las actividades y configuraciones encontradas en los fragmentos.
Estos fragmentos representan flujos de trabajo de muestra creados con las actividades disponibles en el paquete de actividades Persistencia .
Requisitos previos
- Para desarrollar flujos de trabajo de larga duración, basados en los flujos de trabajo del panel Fragmentos , debes tener instalado el paquete UiPath.Persistence.Activities .
- Recomendamos utilizar la plantilla Proceso de orquestación para empezar a crear flujos de trabajo de larga duración.
Agregar elemento de la cola y Esperar hasta la finalización
Este fragmento crea un elemento de cola y suspende el flujo de trabajo hasta que se complete el procesamiento de ese elemento de cola .
-
Arrastra una actividad Añadir elemento de cola y obtener referencia a tu flujo de trabajo.
Esta actividad añade un elemento de cola a un contenedor de cola ubicado en Orchestrator, utilizando parámetros de entrada/salida. A continuación, recupera los datos correspondientes sobre el objeto de elemento de cola recién creado en una variable de tipo
QueueItemData, para suspender el flujo de trabajo, hasta que el elemento de cola se añada a la cola. Consulta la página Añadir elemento de cola y obtener referencia para obtener más información sobre la actividad.Cuando los elementos de la cola se añaden a la cola de Orchestrator, todas las variables de tipo
QueueItemDatase rellenarán con los datos recuperados de Orchestrator.- En la colección Información del elemento , crea un parámetro con la Dirección de entrada/salida y establece el valor como una variable que deseas pasar como elemento de cola. Para este ejemplo, pasa una variable String llamada
Test. - En el campo de propiedad QueueItemObject(Output) , pulsa
CTRL + ken tu teclado y crea una variable de tipoQueueItemData, para almacenar los datos sobre el artículo en cola, después de que se haya creado en Orchestrator. Para este ejemplo, crea una variableQueueItemDatallamadaQueueItemObject.

- En la colección Información del elemento , crea un parámetro con la Dirección de entrada/salida y establece el valor como una variable que deseas pasar como elemento de cola. Para este ejemplo, pasa una variable String llamada
-
Arrastra cualquier actividad que desees ejecutar antes de que se suspenda el flujo de trabajo para recuperar datos sobre el elemento de cola. En este fragmento, la sección Cualquier paso a ejecutar antes de suspender el flujo de trabajo está comentada, actuando como un contenedor dentro del cual puedes colocar actividades que no se ejecutarán en tiempo de ejecución.
-
Arrastra una actividad Esperar elemento de cola y reanudar a tu flujo de trabajo. Esta actividad espera a que se añada un elemento de cola y se procese en Orchestrator, para recuperar datos sobre él y asignarlos de nuevo al flujo de trabajo, dentro de las variables de tipo
QueueItemData. Consulta la página Esperar elemento de cola y reanudar para obtener más información sobre la actividad.- En el campo de propiedad Objeto de elemento de cola (entrada) , pasa la variable
QueueItemObject, para hacer referencia al elemento de cola exacto que querías añadir a Orchestrator. - En el campo de propiedad Objeto de elemento de cola (salida) , pulsa
CTRL + ken tu teclado y crea una variable de tipoQueueItemDatapara almacenar los datos sobre el elemento de cola después de que se haya procesado y recuperado.
- En el campo de propiedad Objeto de elemento de cola (entrada) , pasa la variable
-
Add a Write Line activity into your workflow, to print out the Queue Item that you added in Orchestrator. For this example, in the Text property field, pass the
Testvariable.
Crear tarea externa y suspender hasta su finalización
This snippet creates an External Action and suspends the workflow until the user completes the action.
-
Arrastra una actividad Crear tarea externa a tu flujo de trabajo. Esta actividad crea una acción externa en Action Center con el título de la tarea, la prioridad de la tarea, el catálogo de tareas (ahora llamado catálogo de acciones) y los datos de la tarea. Consulta la página Crear tarea externa para obtener más información sobre la actividad.
-
Rellena la ventana de propiedades RecopilaciónDeDatosDeLaTarea con argumentos que transmiten información In, Out o In/Out. Para este ejemplo, crea tres argumentos, cada uno de ellos con una Dirección diferente:
In,OutyIn/Out. Establece el Tipo comoString. Para el campo Valor , pulsaCTRL + Ken tu teclado y crea tres variables, que den información (para argumentos de tipoIn), o extraigan información (para argumentos de tipoOut).For this example, create three String type variables:
- InVariable - the Value of the argument of type
In. - OutVariable - the Value of the argument of type
Out. - InOutVariable - the Value of the argument of type
In/Out.

En el campo de propiedad Objeto de tarea (Salida) , pulsa
CTRL + ken tu teclado y crea una variable de tipoExternalTaskData. Para este ejemplo, nombra la variableTaskPersistData. Este objetoExternalTaskDatase utiliza para pasar datos desde Orchestrator, con el fin de que el robot sepa que hasta que se complete una tarea de acción específica, el flujo de trabajo está suspendido. - InVariable - the Value of the argument of type
-
Agrega cualquier actividad que quieras ejecutar antes de que se suspenda el flujo de trabajo para recuperar datos sobre el objeto
ExternalTaskData.- For this example, drag and drop a Sequence activity into your workflow and populate with three Write Line activities. Each Write Line activity is meant to output the data of the three variables passed in the External Task. Pass the following values in the Text property fields:
InVariable,OutVariable,InOutVariable.
- For this example, drag and drop a Sequence activity into your workflow and populate with three Write Line activities. Each Write Line activity is meant to output the data of the three variables passed in the External Task. Pass the following values in the Text property fields:
-
Arrastra una actividad Esperar tarea externa y reanudar a tu flujo de trabajo. Esta actividad suspende el flujo de trabajo hasta que se complete una tarea externa y luego la asigna de nuevo al flujo de trabajo, dentro de las variables de tipo
ExternalTaskData. Consulta la página Esperar tarea externa y reanudar para obtener más información sobre esta actividad.- En el campo de propiedad Objeto de tarea (entrada) , pasa la variable
ExternalTaskData, para hacer referencia a la tarea externa exacta que creaste. Para este ejemplo, pasa la variableTaskPersistData. - En el campo de propiedad Acción de tarea , pulsa
CTRL + ken tu teclado y crea una variable de tipo String y nómbralaTaskAction. Esto almacena la acción realizada por el usuario para completar la tarea. - En el campo de propiedad Objeto de tarea (Salida) , pulsa
CTRL+ ken tu teclado y crea una variable de tipoDatosDeTareaExterna y nómbralaTaskData. Esta variable almacena el objeto Tarea actualizado recuperado de Orchestrator después de la finalización de la acción externa.
- En el campo de propiedad Objeto de tarea (entrada) , pasa la variable
-
Add any activities that you want to run after the workflow is resumed. For this example, print in the Output panel all the values retrieved after the completion of the External Action, using four Write Line activities. Pass the following variables in the Text fields:
TaskAction,InVariable,OutVariable,InOutVariable.
Crear tarea de formulario y suspender hasta su finalización
Este fragmento crea una Actions Actions
-
Arrastra una actividad Crear tarea de formulario a tu flujo de trabajo. Esta actividad crea una acción de formulario en Action Center con el título de la tarea, la prioridad de la tarea, el catálogo de tareas (ahora llamado catálogo de acciones) y los datos de la tarea. Consulta la página Crear tarea de formulario para obtener más información sobre la actividad.
-
Rellena la ventana de propiedades Recopilación de datos de la tarea con argumentos que transmiten información In, Out o In/Out. Para este ejemplo, crea tres argumentos, cada uno de ellos con una Dirección diferente:
In,OutyIn/Out. Establece el Tipo comoString. Para el campo Valor , pulsaCTRL + Ken tu teclado y crea tres variables que den información (para argumentos de tipoIn) o extraigan información (para argumentos de tipoOut).For this example, create three String type variables:
- InVariable - the Value of the argument of type
In. - OutVariable - the Value of the argument of type
Out. - InOutVariable - the Value of the argument of type
In/Out.

En el campo de propiedad Objeto de tarea (Salida) , pulsa
CTRL + ken tu teclado y crea una variable de tipoFormTaskData. Para este ejemplo, nombra la variableTaskPersistData. Este objetoFormTaskDatase utiliza para pasar datos desde Orchestrator, con el fin de que el robot sepa que hasta que se complete una tarea de acción específica, el flujo de trabajo está suspendido. - InVariable - the Value of the argument of type
-
Add any activities that you want to run before the workflow is suspended to retrieve data about the
FormTaskDataobject. For this example, drag and drop a Sequence activity into your workflow and populate it with three Write Line activities. Each Write Line activity is meant to output the data of the three variables passed in the External Action. Pass the following values in the Text property fields:InVariable,OutVariable,InOutVariable. -
Arrastra una actividad Esperar tarea externa y reanudar a tu flujo de trabajo. Esta actividad suspende el flujo de trabajo hasta que se complete una acción de formulario y luego la asigna de nuevo al flujo de trabajo, dentro de las variables de tipo
FormTaskData.- En el campo de propiedad Objeto de tarea (entrada) , pasa la variable
FormTaskData, para hacer referencia a la tarea de formulario exacta que creaste en Action Center. Para este ejemplo, pasa la variableTaskPersistData. - En el campo de propiedad Acción de tarea , pulsa
CTRL + ken tu teclado y crea una variable de tipo String y nómbralaTaskAction. Esto almacena la acción realizada por el usuario para completar la tarea. - En el campo de propiedad Objeto de tarea (Salida) , pulsa
CTRL + ken tu teclado y crea una variable de tipo FormTaskData y nómbralaTaskData. Esta variable almacena el objeto Tarea actualizado recuperado de Orchestrator tras la finalización de la tarea.
- En el campo de propiedad Objeto de tarea (entrada) , pasa la variable
-
Drag any activities that you want to run after the workflow is resumed. For this example, pass in the Output panel all the values retrieved after the completion of the External Action, using four Write Line activities. Pass the following variables in the Text fields:
TaskAction,InVariable,OutVariable,InOutVariable.
Crear tarea y asignar a usuario
Este fragmento crea dos acciones externas, las asigna a un usuario y muestra una lista de las asignaciones de acciones fallidas.
-
Drag two Create External Task activities into your workflow.
-
Para la primera actividad, asigna un título a la acción y establece su prioridad. En el campo de propiedad TaskObject(Output) , pulsa
CTRL + ken tu teclado y crea una variable de tipoExternalTaskData. Para este ejemplo, nómbraloTask1PersistData. -
Para la segunda actividad, asigna un título a la acción y establece su prioridad. En el campo de propiedad TaskObject(Output) , pulsa
CTRL + ken tu teclado y crea una variable de tipoExternalTaskData. Para este ejemplo, nómbraloTask2PersistData.
-
-
Arrastra dos actividades Añadir a la colección a tu flujo de trabajo.
Nota:La actividad Añadir a la colección es una actividad clásica. Para que la actividad Añadir a la colección esté disponible en tu proyecto:
- Have System.Activities package 22.4.1 or lower installed.
- Ve al panel Actividades .
- Haz clic en Ver opciones
icono. - Haz clic en Mostrar clásico. La actividad se puede encontrar en Actividades predeterminadas > Programación > Colección.
-
En los campos de propiedad Colección , pulsa
CTRL + ken tu teclado y crea una variable de tipoList<TaskUserAssignment>y nómbralaTaskAssignementsInput. Ve al panel Variables e inicializa la variable en el campo Predeterminado comonew List(Of TaskUserAssignment. -
En el campo Propiedad del elemento , crea una instancia de
TaskUserAssignmentque tenga los siguientes parámetros: la variable DatosDeTareaExterna y la dirección de correo electrónico del usuario al que quieres asignar la tarea. Para este ejemplo, escribe lo siguiente:- The
new TaskUserAssignment(Task1PersistData.Id, "emailaddress")expression for the first Add To Collection activity - The
new TaskUserAssignment(Task2PersistData.Id, "emailaddress")expression for the second Add To Collection activity.

- The
-
Establece la propiedad TipoDeArgumento como
System.Collections.Generic.List<UiPath.Persistence.Activities.Tasks.TaskUserAssignment>.
-
Drag an Assign Tasks activity into your workflow.
-
En el campo de propiedad AsignacionesDeUsuarioDeTareas (Entrada) , pasa la variable
List<TaskUserAssignment>. Para este ejemplo, pasa la variableTaskAssignmentsInput. -
En el campo de propiedad Tipo de asignación de tareas , escribe la operación de asignación exacta que deseas realizar: Asignar o Reasignar. Para este ejemplo, escribe
Assign. -
En el campo de propiedad FailedTaskAssignments (Output) , pulsa
CTRL + ken tu teclado y crea una variable de tipoList<TaskAssignmentResponse>y nómbralaFailedTaskAssignmentsOutput.
-
-
Arrastra una actividad Escribir línea para generar el número de asignaciones de tareas fallidas. En el campo Propiedad de texto , pasa la variable de tipo
List<TaskAssignmentResponse>y luego usa las propiedades.County.ToString. Para este ejemplo, pasa la siguiente expresión:FailedTaskAssignemntsOutput.Count.ToString.
Iniciar trabajo y reanudar después de finalizar
Inicia un proceso desatendido y suspende el flujo de trabajo hasta que se completa un trabajo concreto.
- Arrastra una actividad Iniciar trabajo y obtener referencia a tu flujo de trabajo. Esta actividad inicia un trabajo en Orchestrator, en función de los argumentos introducidos, y luego recupera el objeto de trabajo correspondiente. Consulta la página Iniciar trabajo y obtener referencia para obtener más información sobre la actividad.
-
En el campo de la propiedad NombreDelProceso , pasa el Nombre para mostrar del Proceso que deseas utilizar para el Trabajo. Para este ejemplo, almacena el nombre dentro de una variable. Pulsa
CTRL +ken tu teclado y crea una variable de tipoStringy nómbralaProcessName. En el campo Valor , pasa el Nombre para mostrar del Proceso, por ejemplo,TestProcess_test.Nota:El nombre para mostrar debe escribirse en el siguiente formato:
packageName _environment.
-
En la propiedad Argumentos de trabajo (Colección) , crea los argumentos que quieres utilizar al invocar el trabajo en Orchestrator. Esta propiedad modifica el tipo de argumentos
OutyIn/Outen función de la entrada recibida del trabajo en Orchestrator, y luego los asigna de nuevo al flujo de trabajo. Para este ejemplo, crea un argumento TipoString, llamadoTest, de DirecciónIn/Out. En el campo Valor , pulsaCTRL + ken tu teclado y crea una variable de tipoString. Nombra la variableTest.
-
En el campo de propiedad Objeto de trabajo (salida) , pulsa
CTRL + ken tu teclado y crea una variable de tipoJobData, llamadaJobPersistenceData. Esta variable almacena el objeto de datos del trabajo creado cuando se invoca el trabajo en Orchestrator, para utilizarlo para la actividad Esperar trabajo y reanudar .
-
- Agrega cualquier actividad que quieras ejecutar antes de que se suspenda el flujo de trabajo para recuperar datos sobre el objeto
JobData. - Arrastra una actividad Esperar trabajo y reanudar a tu flujo de trabajo. Esta actividad suspende el flujo de trabajo hasta que se complete un trabajo específico en Orchestrator. Una vez completado el trabajo, se reanuda el flujo de trabajo.
- En el campo de propiedad Objeto de trabajo (entrada) , pasa la variable de tipo
JobData, creada para la actividad Iniciar trabajo y obtener referencia . Para este ejemplo, pasa la variableJobPersistenceData. Esto dirige al robot al trabajo exacto que debe completarse hasta que se reanude el flujo de trabajo. - En el campo de propiedad Objeto de trabajo (salida) , pulsa
CTRL + ken tu teclado y crea una variable de tipoJobData. Para este ejemplo, nómbraloJobDataObject.
- En el campo de propiedad Objeto de trabajo (entrada) , pasa la variable de tipo
- Arrastra una actividad Escribir línea para imprimir el argumento que se ha asignado de nuevo al flujo de trabajo. En el campo de propiedad Texto , pasa la variable utilizada como Valor para el argumento creado en Argumentos de trabajo (Colección). Para este ejemplo, pasa la variable
Test.
Suspender y reanudar después de 1 hora
Este fragmento suspende el flujo de trabajo determinado y lo reanuda después de una hora.
-
Añade las actividades que desees ejecutar antes de que se suspenda el flujo de trabajo.
-
Arrastra una actividad Reanudar tras retraso a tu flujo de trabajo. Esta actividad suspende el flujo de trabajo dado y lo reanuda en una fecha y hora especificadas. Consulta la página Reanudar tras retraso para obtener más información sobre esta actividad.
- En el panel Variables , crea una variable de tipo
System.TimeSpan. Para este ejemplo, nombra la variableOneHour. Establece el valor Predeterminado de la variableTimeSpancomoNew TimeSpan(1,0,0). - En el campo de propiedad Hora de reanudación de la actividad, pasa la expresión
DateTime.Nowy la variableTimeSpan. Para este ejemplo, pasa la siguiente expresión:DateTime.Now + OneHour.

- En el panel Variables , crea una variable de tipo
-
Añade las actividades que desees ejecutar después de reanudar el flujo de trabajo.
Suspender y reanudar después de 5 minutos
Este fragmento suspende el flujo de trabajo determinado y lo reanuda después de cinco minutos.
-
Arrastra las actividades que deseas ejecutar antes de suspender el flujo de trabajo.
-
Drag a Resume After Delay activity into your workflow. This activity suspends the given workflow and resumes it at a specified date and time.
- En el panel Variables , crea una variable de tipo
System.TimeSpan. Para este ejemplo, nombra la variableFiveMinute. Establece el valor Predeterminado de la variableTimeSpancomoNew TimeSpan(0,5,0). - En el campo de propiedad Hora de reanudación de la actividad, pasa la expresión
DateTime.Nowy la variableTimeSpan. Para este ejemplo, pasa la siguiente expresión:DateTime.Now + FiveMinute.

- En el panel Variables , crea una variable de tipo
-
Arrastra las actividades que deseas ejecutar después de reanudar el flujo de trabajo.
Suspender y reanudar después de 90 segundos
Este fragmento suspende el flujo de trabajo proporcionado y lo reanuda después de noventa segundos.
-
Añade las actividades que desees ejecutar antes de que se suspenda el flujo de trabajo.
-
Drag a Resume After Delay activity into your workflow. This activity suspends the given workflow and resumes it at a specified date and time.
- En el panel Variables , crea una variable de tipo
System.TimeSpan. Para este ejemplo, nombra la variableNinetySeconds. Establece el valor Predeterminado de la variableTimeSpancomoNew TimeSpan(0,0,90). - En el campo de propiedad Hora de reanudación de la actividad, pasa la expresión
DateTime.Nowy la variableTimeSpan. Para este ejemplo, pasa la siguiente expresión:DateTime.Now + NinetySeconds.

- En el panel Variables , crea una variable de tipo
-
Arrastra las actividades que deseas ejecutar después de reanudar el flujo de trabajo.
Esperar a que finalicen todas las tareas del formulario
Este fragmento crea varias acciones de formulario en un bucle, en función del número de facturas en una tabla de datos, y suspende el flujo de trabajo hasta que se completen todas las acciones.
-
Arrastra una actividad ConstruirTablaDeDatos a tu flujo de trabajo.
- En el campo de propiedad Salida , pulsa
CTRL + ken tu teclado y crea una variable de tipoDataTable, para almacenar la tabla de datos que estás creando. Para este ejemplo, nombra la variableDataTablecomoHighValueInvoices. - Clic
. Se abre la ventana Crear tabla de datos . - Cambiar el nombre de
Column1comoInvoiceNumberyColumn2comoInvoiceAmount. - Añade datos dentro de las filas de la tabla y pulsa Aceptar.

- En el campo de propiedad Salida , pulsa
-
Arrastra una actividad Asignar a tu flujo de trabajo. Esta actividad asigna un nombre a la tabla de datos, almacenada en una variable
String.- En el campo de propiedad A , pasa la variable
DataTable. Para este ejemplo, pasa la variableHighValueInvoices. - En el campo de propiedad Valor , pulsa
CTRL + ken tu teclado y crea una variable de tipoString. Para este ejemplo, nómbraloDataTableName. Establece el valor Predeterminado de la variableDataTableNamecomo ``"facturas"`.
- En el campo de propiedad A , pasa la variable
-
Arrastra una actividad Para cada a tu flujo de trabajo. En el campo de propiedad Lista de elementos , pasa una expresión con el siguiente formato:
DataTableVariable.Rows. Para este ejemplo, pasaHighValueInvoices.Rows. Esto itera a través de cada fila de la tabla de datos. -
Drag a Create Form Task activity inside the Body of the For Each activity.
- En el campo de propiedad Título de la tarea , introduce el valor Número de factura que recupera la actividad Para cada y conviértelo en Cadena. Para este ejemplo, introduce la siguiente expresión:
item("InvoiceNumber").ToString, dondeInvoiceNumberes el nombre de la columna que contiene el número respectivo para cada factura. - En los Datos del formulario (Colección), crea un argumento que pase cada importe de la factura dentro de la Acción del formulario. Crea un argumento Tipo
Stringy establece la Dirección comoIn. En el campo Valor , introduce el importe de cada factura y conviértelos en Cadena. Para este ejemplo, introduce la siguiente expresión:item("InvoiceAmount").ToString, dondeInvoiceAmountes el nombre de la columna que contiene el importe respectivo de cada factura. - En el campo de propiedad TaskObject(Output) , pulsa
CTRL + ken tu teclado y crea una variable de tipoFormTaskData. Para este ejemplo, nombra la variable comoTaskPersistData.

- En el campo de propiedad Título de la tarea , introduce el valor Número de factura que recupera la actividad Para cada y conviértelo en Cadena. Para este ejemplo, introduce la siguiente expresión:
-
Drag an Add To Collection activity inside the Body of the For Each activity.
- En el campo de propiedad Colección , pulsa
CTRL + ken tu teclado y crea una variableList<FormTaskData>y nómbralaTaskList. Ve al panel Variables e inicializa la variable en el campo Predeterminado comoNew List(Of UiPath.Persistence.Activities.FormTask.FormTaskData. - En el campo Propiedad del elemento , pasa la variable
FormTaskData, creada para almacenar los datos en las Acciones de formulario creadas. Para este ejemplo, pasa la variableTaskPersistData. - Para la propiedad TipoDeArgumento , elige
UiPath.Persistence.Activities.FormTask.FormTaskData.
- En el campo de propiedad Colección , pulsa
-
Drag a Parallel For Each activity into your workflow.
- Para la propiedad TipoDeArgumento , elige
UiPath.Persistence.Activities.FormTask.FormTaskData. - En el campo de propiedad Valores , pasa la variable
List<FormTaskData>. Para este ejemplo, pasa la variableTaskList.
- Para la propiedad TipoDeArgumento , elige
-
Arrastra una actividad Esperar tarea de formulario y reanudar al cuerpo de la actividad Paralelo para cada .
- En el campo de propiedad TaskObject(Input) , introduce el objeto
item, referenciado en la actividad Paralelo Para Cada . En este caso, el objetoitemrepresenta las acciones de formulario almacenadas en la variableTaskList. - En el campo de propiedad AcciónDeTarea , pulsa
CTRL + ken tu teclado y crea una variableString. Para este ejemplo, nómbraloTaskAction. - En el campo de propiedad TaskObject(Output) , pulsa
CTRL + ken tu teclado y crea una variableFormTaskData. Para este ejemplo, nómbraloTaskData.

- En el campo de propiedad TaskObject(Input) , introduce el objeto
-
Drag a Write Line activity into your workflow. This activity displays in the Output panel the action taken by the user to complete the Form Action. In the Text value, input the
TaskActionvariable.
Espere a que se complete cualquier tarea de formulario
Este fragmento crea varias Actions de formulario en secuencia y suspende el flujo de trabajo hasta que se completa cualquiera de las Actions de formulario.
-
Drag a Create Form Task activity into your sequence workflow.
- En el campo de propiedad TaskTitle , pulsa
CTRL + ken tu teclado y crea una variableString. NómbraloTaskTitle1. En el panel Variables , establece el valor Predeterminado como"Task - " + "Approver 1". - En la propiedad FormData(Collection) , crea un argumento de Tipo
Stringy DirecciónIn. Nombra el argumentoApprovery establece el Valor como"Approver1". - En el campo de propiedad TaskObject(Output) , pulsa
CTRL + ken tu teclado y crea una variableFormTaskData. Para este ejemplo, nombra la variableTaskPersistData1.
- En el campo de propiedad TaskTitle , pulsa
-
Drag a second Create Form Task activity into your workflow.
- En el campo de propiedad TaskTitle , pulsa
CTRL + ken tu teclado y crea una variableString. NómbraloTaskTitle2. En el panel Variables , establece el valor Predeterminado como"Task - " + "Approver 2". - En la propiedad FormData(Collection) , crea un argumento de Tipo
Stringy DirecciónIn. Nombra el argumentoApprovery establece el Valor como"Approver2". - En el campo de propiedad TaskObject(Output) , pulsa
CTRL + ken tu teclado y crea una variableFormTaskData. Para este ejemplo, nombra la variableTaskPersistData2.
- En el campo de propiedad TaskTitle , pulsa
-
Drag a third Create Form Task activity into your workflow.
- En el campo de propiedad TaskTitle , pulsa
CTRL + ken tu teclado y crea una variableString. NómbraloTaskTitle3. En el panel Variables , establece el valor Predeterminado como"Task - " + "Approver 3". - En la propiedad FormData(Collection) , crea un argumento de Tipo
Stringy DirecciónIn. Nombra el argumentoApprovery establece el Valor como"Approver3". - En el campo de propiedad TaskObject(Output) , pulsa
CTRL + ken tu teclado y crea una variableFormTaskData. Para este ejemplo, nombra la variableTaskPersistData3.
- En el campo de propiedad TaskTitle , pulsa
-
Drag a Pick activity into your workflow.
-
Drag a Pick Branch activity into the body of the Pick activity. Rename the activity as
Pick Branch (Task1). -
Drag a Wait For Form Task And Resume activity into the Trigger body of the
Pick Branch (Task1)activity.- En el campo de propiedad TaskObject (Input) , pasa la variable
FormTaskDatacreada para almacenar datos sobre la acción del formulario. Para este ejemplo, pasa la variableTaskPersistData1. - En el campo de propiedad TaskAction , pulsa
CTRL + ky crea una variableString. NómbraloTaskAction1. - En el campo de propiedad TaskObject(Output) , pulsa
CTRL+ ken tu teclado y crea una variableFormTaskData. NómbraloTaskData1.
- En el campo de propiedad TaskObject (Input) , pasa la variable
-
Drag a Write Line activity into the Action body of the
Pick Branch (Task1)activity. This activity is meant to display in the Output panel the action taken by the user to complete the Form Action. In the Text value, input theTaskAction1variable.
-
Drag a Pick Branch activity into the body of the Pick activity. Rename the activity as
Pick Branch (Task2). -
Drag a Wait For Form Task And Resume activity into the Trigger body of the
Pick Branch (Task2)activity.- En el campo de propiedad TaskObject (Input) , pasa la variable
FormTaskDatacreada para almacenar datos sobre la acción del formulario. Para este ejemplo, pasa la variableTaskPersistData2. - En el campo de propiedad TaskAction , pulsa
CTRL + ky crea una variableString. NómbraloTaskAction2. - En el campo de propiedad TaskObject(Output) , pulsa
CTRL+ ken tu teclado y crea una variableFormTaskData. NómbraloTaskData2.
- En el campo de propiedad TaskObject (Input) , pasa la variable
-
Drag a Write Line activity into the Action body of the
Pick Branch (Task2)activity. This activity displays in the Output panel the action taken by the user to complete the Form Action. In the Text value, input theTaskAction2variable. -
Drag a Pick Branch activity into the body of the Pick activity. Rename the activity as
Pick Branch (Task3). -
Drag a Wait For Form Task And Resume activity into the Trigger body of the
Pick Branch (Task3)activity.- En el campo de propiedad TaskObject (Input) , pasa la variable
FormTaskDatacreada para almacenar datos sobre la acción del formulario. Para este ejemplo, pasa la variableTaskPersistData3. - En el campo de propiedad TaskAction , pulsa
CTRL + ky crea una variableString. NómbraloTaskAction3. - En el campo de propiedad TaskObject(Output) , pulsa
CTRL+ ken tu teclado y crea una variableFormTaskData. NómbraloTaskData3.
- En el campo de propiedad TaskObject (Input) , pasa la variable
-
Drag a Write Line activity into the Action body of the
Pick Branch (Task3)activity. This activity displays in the Output panel the action taken by the user to complete the Form Action. In the Text value, input theTaskAction3variable.
Esperar a que finalicen algunas tareas del formulario en bucle
Este fragmento crea múltiples Actionsde formulario, basadas en la entrada de una tabla de datos, y suspende el flujo de trabajo hasta que se completa un determinado conjunto de Actions de formulario.
-
Drag a Build Data Table activity into your workflow.
- En el campo de propiedad TablaDeDatos , pulsa
CTRL + ken tu teclado y crea una variableSystem.DataTable. Para este ejemplo, nómbraloCodeReviews. - Clic
. Se abre la ventana Crear tabla de datos . - Cambia el nombre de
Column1comoReviewerNameyColumn2comoReviewerType. Establece el Tipo de la columnaReviewerTypeenString. - Añade datos dentro de las filas de la tabla. Para la columna
ReviewerType, este ejemplo utiliza dos tipos de revisores: propietarios del código y revisores.

- En el campo de propiedad TablaDeDatos , pulsa
-
Drag an Assign activity into your workflow. This assigns a name to the data table you created. In the To property field, pass the
System.DataTablevariable and add.TableNameproperty to it. In the Value field, pressCTRL + kon your keyboard and create aStringvariable. For this example, name itDataTableName. -
Drag a Parallel For Each activity into your workflow. For this example, name it
Create Tasks for PR Review.- En el campo de propiedad Valores , pasa la variable
System.DataTabley añade la propiedad.AsEnumerable. Para este ejemplo, pasa la siguiente expresión:CodeReviews.AsEnumerable.
- En el campo de propiedad Valores , pasa la variable
-
Arrastra una actividad Asignar en el Cuerpo de la actividad Paralelo Para Cada .
- En el campo de propiedad A , pulsa
CTRL + ken tu teclado y crea una variableString, que contenga los datos recuperados de la columnaReviewerTypeen la tabla de datosCodeReviews. Para este ejemplo, nombra la variableReviewerType. - En el campo de propiedad Valor , pasa una expresión que recupere cada elemento de fila de la columna
ReviewerTypey lo almacene en la variable creada dentro del campo Para . Para este ejemplo, pasa la siguiente expresión:ìtem("ReviewerType").toString.

- En el campo de propiedad A , pulsa
-
Drag a Create Form Task activity into the Body of the Parallel For Each activity.
- En el campo de propiedad TaskTitle , pasa la siguiente expresión:
"Code Review - " + InPullRequestName. LaInPullRequestNamees una variableString, que tiene el valor predeterminado"#1". - En la propiedad FormData(Collection) , crea cuatro argumentos de Tipo
String: - 'Número PR': con la Dirección
Iny el Valor establecido comoInPullRequestName. Reviewer Name: con la DirecciónIny el Valor establecido comoitem("ReviewerName").toString.Reviewer Type: con la DirecciónIn/Outy el valor establecido como la variableReviewerType.Reviewer Comment: con la DirecciónOut. En el campo Valor , pulsaCTRL + ken tu teclado y crea una variableString. NómbraloReviewerComments. Este argumento asigna al flujo de trabajo cualquier comentario que se haga en la acción.- En el campo de propiedad TaskObject(Output) , pulsa
CTRL + ken tu teclado y crea una variableFormTaskData. NómbraloTaskPersistData.

- En el campo de propiedad TaskTitle , pasa la siguiente expresión:
-
Drag an Add To Collection activity into the body of the Parallel For Each activity. This activity stores all the Form Actions created into a list.
- En el campo de propiedad Colección , pulsa
CTRL + ken tu teclado y crea una variableList<FormTaskData>. NómbraloTaskDataList. Ve al panel Variables y establece el valor Predeterminado de la variable comoNew List(of UiPath.Persistence.Activities.FormTask.FormTaskData). - En el campo Propiedad del elemento , pasa la variable
FormTaskData. Para este ejemplo, pasa la variableTaskPersistData. - Para la propiedad TipoDeArgumento , elige
UiPath.Persistence.Activities.FormTask.FormTaskData.
- En el campo de propiedad Colección , pulsa
-
In the Variables panel, create two variables of type
Int32and set their Default value to0:OwnersApprovalsandReviewersApprovals. -
Arrastra otra actividad Paralelo Para Cada . Para este ejemplo, nómbralo
Wait for Conditional Task(s) Completion.- En el campo de propiedad Condición , pasa la siguiente expresión:
OwnersApprovals>=2 Or (OwnersApprovals = 1 And ReviewersApprovals>=2). Esto condiciona el flujo de trabajo para que se reanude solo cuando se cumple la condición. - Para la propiedad TipoDeArgumento , elige
UiPath.Persistence.Activities.FormTask.FormTaskData. - En el campo de propiedad Valor , pasa la lista donde se almacenan las Acciones de formulario. Para este ejemplo, pasa la variable
TaskDataList.

- En el campo de propiedad Condición , pasa la siguiente expresión:
-
Arrastra una actividad Secuencia al cuerpo de la actividad Esperar a que se completen las tareas condicionales . Cámbiale el nombre
Wait for Task and Resume. -
Arrastra una actividad Esperar tarea de formulario y reanudar a la actividad Esperar tarea y reanudar secuencia.
- En el campo de propiedad TaskObject(Input) , pasa la variable
item. - En el campo de propiedad AcciónDeTarea , pulsa
CTRL + ken tu teclado y crea una variableString. Para este ejemplo, nómbraloTaskAction. - En el campo de propiedad TaskObject(Output) , pulsa
CTRL + ken tu teclado y crea una variableFormTaskData. Para este ejemplo, nómbraloTaskData.
- En el campo de propiedad TaskObject(Input) , pasa la variable
-
Drag an If activity into the Wait for Task and Resume sequence activity. This activity is meant to count the number of Form Actions that have been approved by code owners.
- En el campo de propiedad Condición , pasa la siguiente expresión:
TaskAction="approve" And ReviewerType="code owner". - Arrastra y suelta una actividad Asignar en el bloque Entonces . En el campo de propiedad A , pasa la variable
OwnersApprovals. En el campo de propiedad Valor , pasa la expresiónOwnersApprovals + 1.

- En el campo de propiedad Condición , pasa la siguiente expresión:
-
Drag another If activity into the Wait for Task and Resume sequence activity. This activity is meant to count the number of Form Actions that have been approved by reviewers.
- En el campo de propiedad Condición , pasa la siguiente expresión:
TaskAction="approve" And ReviewerType="reviewer". - Arrastra una actividad Asignar en el bloque Entonces . En el campo de propiedad A , pasa la variable
ReviewersApprovals. En el campo de propiedad Valor , pasa la expresiónReviewersApprovals + 1.

- En el campo de propiedad Condición , pasa la siguiente expresión:
-
Arrastra tres actividades Escribir línea a la actividad Esperar tarea y reanudar secuencia. Esta actividad muestra los valores dados en el panel Salida .
- En la primera actividad, pasa la variable
ReviewComments. - En la segunda actividad, pasa la variable
OwnersApprovalsy agrega la propiedad.toString. - En la tercera actividad, pasa la variable
ReviewersApprovalsy añade la propiedad.toString.
- En la primera actividad, pasa la variable
Espere a que finalicen algunas tareas del formulario
Este fragmento crea tres acciones de formulario y suspende el flujo de trabajo hasta que se completan dos acciones.
-
Drag a Create Form Task activity into your sequence workflow.
- En el campo de propiedad TaskTitle , pulsa
CTRL + ken tu teclado y crea una variableString. NómbraloTaskTitle1. En el panel Variables , establece el valor Predeterminado como"Task - " + "Approver 1". - En la propiedad FormData(Collection) , crea un argumento de Tipo
Stringy DirecciónIn. Nombra el argumentoApprovery establece el Valor como"Approver1". - En el campo de propiedad TaskObject(Output) , pulsa
CTRL + ken tu teclado y crea una variableFormTaskData. Para este ejemplo, nombra la variableTaskPersistData1.
- En el campo de propiedad TaskTitle , pulsa
-
Drag a Create Form Activity into your sequence workflow.
- En el campo de propiedad TaskTitle , pulsa
CTRL + ken tu teclado y crea una variableString. NómbraloTaskTitle2. En el panel Variables , establece el valor Predeterminado como"Task - " + "Approver 2". - En la propiedad FormData(Collection) , crea un argumento de Tipo
Stringy DirecciónIn. Nombra el argumentoApprovery establece el Valor como"Approver2". - En el campo de propiedad TaskObject(Output) , pulsa
CTRL + ken tu teclado y crea una variableFormTaskData. Para este ejemplo, nombra la variableTaskPersistData2.
- En el campo de propiedad TaskTitle , pulsa
-
Drag a Create Form Activity into your sequence workflow.
- En el campo de propiedad TaskTitle , pulsa
CTRL + ken tu teclado y crea una variableString. NómbraloTaskTitle3. En el panel Variables , establece el valor Predeterminado como"Task - " + "Approver 3". - En la propiedad FormData(Collection) , crea un argumento de Tipo
Stringy DirecciónIn. Nombra el argumentoApprovery establece el Valor como"Approver3". - En el campo de propiedad TaskObject(Output) , pulsa
CTRL + ken tu teclado y crea una variableFormTaskData. Para este ejemplo, nombra la variableTaskPersistData3.
- En el campo de propiedad TaskTitle , pulsa
-
Drag a Parallel activity into your workflow.
- En el campo de propiedad Condición , pulsa
CTRL + ken tu teclado y crea una variableInt32. Para este ejemplo, nombra la variableCompleteTasksCounty establece el valor Predeterminado en0. - En el Editor de expresiones dentro de la propiedad Condición , establece la condición como
CompleteTasksCount=2. Esto condiciona la actividad paralela para que se complete cuando se completen dos de las tres acciones.

- En el campo de propiedad Condición , pulsa
-
Drag a Sequence activity into the body of the Parallel activity. Rename the activity as
Sequence Task1. -
In the
Sequence Task1activity, drag a Wait For Form Task and Resume activity. Rename it asWait for Form Task and Resume(Task1).- En el campo de propiedad TaskObject (Input) , pasa la variable
FormTaskDatacreada para almacenar datos sobre la acción del formulario. Para este ejemplo, pasa la variableTaskPersistData1. - En el campo de propiedad TaskAction , pulsa
CTRL + ky crea una variableString. NómbraloTaskAction1. - En el campo de propiedad TaskObject(Output) , pulsa
CTRL+ ken tu teclado y crea una variableFormTaskData. NómbraloTaskData1.

- En el campo de propiedad TaskObject (Input) , pasa la variable
-
Drag a Write Line activity into the Action body of the
Sequence Task1activity. his activity is meant to display in the Output panel the action taken by the user to complete the Form Action. In the Text value, input theTaskAction1variable. -
Arrastra una actividad Asignar en la actividad
Wait for Form Task and Resume(Task1). Pasa elCompleteTaskCounten el campo Para y la expresiónCompleteTaskCount+ 1 en el campo Valor . Si la acción se completa y se reanuda el flujo de trabajo, se añade una nueva iteración a la variableCompleteTaskCount.
-
Drag a Sequence activity into the body of the Parallel activity. Rename the activity as
Sequence Task2. -
En la actividad
Sequence Task2, arrastra y suelta una actividad Esperar tarea de formulario y reanudar . Renómbralo comoWait for Form Task and Resume(Task2)- En el campo de propiedad TaskObject (Input), pasa la variable FormTaskData creada para almacenar datos sobre la acción del formulario. Para este ejemplo, pasa la variable
TaskPersistData2. - En el campo de la propiedad TaskAction , pulsa
CTRL + ky crea una variable String. Nómbralo TaskAction2 - En el campo de propiedad TaskObject(Output) , pulsa CTRL+ k en tu teclado y crea una variable
FormTaskData. NómbraloTaskData2.
- En el campo de propiedad TaskObject (Input), pasa la variable FormTaskData creada para almacenar datos sobre la acción del formulario. Para este ejemplo, pasa la variable
-
Drag a Write Line activity into the body of the
Sequence Task2activity. This activity displays in the Output panel the action taken by the user to complete the Form Action. In the Text value, input theTaskAction2variable. -
Arrastra una actividad Asignar en la actividad
Wait for Form Task and Resume(Task2). Pasa elCompleteTaskCounten el campo Para y la expresiónCompleteTaskCount + 1en el campo Valor . Si la acción se completa y se reanuda el flujo de trabajo, se añade una nueva iteración a la variableCompleteTaskCount. -
Drag a Sequence activity into the body of the Parallel activity. Rename the activity as
Sequence Task3. -
In the
Sequence Task3activity, drag and drop a Wait For Form Task and Resume activity. Rename it asWait for Form Task and Resume(Task3).- En el campo de propiedad TaskObject (Input) , pasa la variable
FormTaskDatacreada para almacenar datos sobre la acción del formulario. Para este ejemplo, pasa la variableTaskPersistData3. - En el campo de propiedad TaskAction , pulsa
CTRL + ky crea una variableString. NómbraloTaskAction3. - En el campo de propiedad TaskObject(Output) , pulsa
CTRL+ ken tu teclado y crea una variableFormTaskData. NómbraloTaskData3.
- En el campo de propiedad TaskObject (Input) , pasa la variable
-
Drag a Write Line activity into the Action body of the
Sequence Task3activity. his activity is meant to display in the Output panel the action taken by the user to complete the Form Action. In the Text value, input theTaskAction3variable. -
Arrastra una actividad Asignar en la actividad
Wait for Form Task and Resume(Task3). Pasa elCompleteTaskCounten el campo Para y la expresiónCompleteTaskCount + 1en el campo Valor . Si la acción se completa y se reanuda el flujo de trabajo, se añade una nueva iteración a la variableCompleteTaskCount.
- Agregar elemento de la cola y Esperar hasta la finalización
- Crear tarea externa y suspender hasta su finalización
- Crear tarea de formulario y suspender hasta su finalización
- Crear tarea y asignar a usuario
- Iniciar trabajo y reanudar después de finalizar
- Suspender y reanudar después de 1 hora
- Suspender y reanudar después de 5 minutos
- Suspender y reanudar después de 90 segundos
- Esperar a que finalicen todas las tareas del formulario
- Espere a que se complete cualquier tarea de formulario
- Esperar a que finalicen algunas tareas del formulario en bucle
- Espere a que finalicen algunas tareas del formulario