- Información general
- Aviso
- Escenarios complejos
- Credenciales
- Data Service
- Acerca del paquete de actividades de Data Service
- Compatibilidad de proyectos
- 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
- 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
- Persistencia
- Notas relacionadas
- Compatibilidad de proyectos
- Acerca del paquete de actividades Persistencia
- 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
- 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 pruebas
- Estado
- Desinstalar solución
- Actualizar proceso
- Cargar paquete de soluciones
- System
- Notas relacionadas
- Acerca del paquete de actividades del sistema
- 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 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
- Ruta existente
- Posponer elemento de la transacción
- Desencadenador de final del proceso
- Desencadenador de inicio del proceso
- 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 proceso paralelo
- Establecer activo
- Establecer credencial
- Establecer variable de entorno
- 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
- Á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
- 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 equivalencia de documentos
- Verificar expresión
- Verificar expresión con operador
- Verificar rango
- Verificar equivalencia de texto
- 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 Events
- Workflow Foundation
Flujos de trabajo de muestra
El panel Fragmentos de UiPath Studio almacena archivos XAML agregados por los usuarios. Los archivos XAML de muestra se almacenan en carpetas. La carpeta que almacena los archivos XAML usados en flujos de trabajo de ejecución prolongada se llama orquestación.
Los archivos XAML de muestra son de solo lectura. Debe crear un proceso independiente en Studio, donde replicará las actividades y configuraciones que se encuentran 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 , debe tener instalado el paquete UiPath.Persistence.Activities .
- Recomendamos usar la plantilla Proceso de orquestación para comenzar a crear flujos de trabajo de ejecución prolongada.
Este fragmento crea un elemento de la cola y suspende el flujo de trabajo hasta que se complete el procesamiento de dicho elemento de la cola .
-
Arrastra una actividad Añadir elemento de cola y obtener referencia a tu flujo de trabajo.
Esta actividad agrega un elemento de cola a un contenedor de cola ubicado en Orchestrator, usando parámetros de entrada / salida. Luego recupera los datos correspondientes sobre el Objeto de Elemento de Cola recién creado en una variable de tipoQueueItemData
, para suspender el flujo de trabajo, hasta que el elemento de cola se agregue 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 tipoQueueItemData
se 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 variable que deseas pasar como elemento de la cola. Para este ejemplo, pasa una variable "String " llamada
Test
. - En el campo de propiedad QueueItemObject (Output) , pulsa
CTRL + k
en tu teclado y crea una variable de tipoQueueItemData
para almacenar los datos sobre el elemento de la cola, después de que fuera creado en Orchestrator. Para este ejemplo, crea una variableQueueItemData
llamadaQueueItemObject
.
-
- Arrastra las actividades que deseas ejecutar antes de que se suspenda el flujo de trabajo para recuperar datos sobre el elemento de la cola. En este fragmento, se comenta la sección Cualquier paso a ejecutar antes de suspender el flujo de trabajo , que actúa como un contenedor en el que puedes colocar actividades que no se ejecutarán en tiempo de ejecución.
-
Arrastra una actividad Esperar elemento de la cola y reanudar al flujo de trabajo.
Esta actividad espera a que se agregue y procese un elemento de cola en Orchestrator para recuperar datos sobre este y asignarlo de nuevo al flujo de trabajo, dentro de las variables de tipoQueueItemData
. Consulta la página Esperar elemento de la cola y reanudar para obtener más información sobre la actividad.-
En el campo de propiedad Objeto del elemento de cola (entrada) , pasa la variable
QueueItemObject
para hacer referencia al elemento de la cola exacto que querías añadir a Orchestrator. -
En el campo de propiedad Objeto de elemento de cola (salida) , pulsa
CTRL + k
en tu teclado y crea una variable de tipoQueueItemData
para almacenar los datos sobre el elemento de cola después de que fue procesado y recuperado.
-
- Agregue una actividad Escribir línea en su flujo de trabajo para imprimir el elemento de cola que agregó en Orchestrator. Para este ejemplo, en el campo de la propiedad Texto , pasa la variable
Test
.
Este fragmento crea una acción externa y suspende el flujo de trabajo hasta que el usuario completa la acción.
-
Arrastra una actividad Crear tarea externa a tu flujo de trabajo.
Esta actividad crea una acción Actions en el Centro de Actions con el Títulode tarea, la Prioridadde tarea, el Catálogo de tareas (ahora llamado Catálogo deActions ) y los Datos de tareadeterminados. Consulta la página Crear tarea externa para obtener más información sobre la actividad.
-
Rellena la ventana de la propiedad TaskDataCollection con argumentos que pasen información de entrada, salidao entrada / salida. Para este ejemplo, crea tres argumentos, cada uno con una Direccióndiferente:
In
,Out
yIn/Out
. Establece el Tipo comoString
. Para el campo Valor , pulsaCTRL + K
en tu teclado y crea tres variables que proporcionen información (para argumentos de tipoIn
) o extraigan información (para argumentos de tipoOut
).Para este ejemplo, cree tres variables de tipo Cadena :
- InVariable : el valor del argumento de tipo
In
. - OutVariable : el valor del argumento de tipo
Out
. -
InOutVariable : el valor del argumento de tipo
In/Out
.
CTRL + k
en tu teclado y crea una variable de tipoExternalTaskData
. Para este ejemplo, nombra la variableTaskPersistData
. Este objetoExternalTaskData
se utiliza para traspasar datos de Orchestrator, con el fin de informar al Robot que hasta que se complete una tarea de Acción específica, el flujo de trabajo se suspende.
- InVariable : el valor del argumento de tipo
- Agrega cualquier actividad que quieras ejecutar antes de que se suspenda el flujo de trabajo para recuperar datos sobre el objeto
ExternalTaskData
.- Para este ejemplo, arrastra y suelta una actividad de Secuencia en tu flujo de trabajo y rellena con tres actividades de Escribir línea . Cada actividad Escribir línea está destinada a generar los datos de las tres variables pasadas en la Tarea externa. Pasa los siguientes valores en los campos de propiedad de Texto :
InVariable
,OutVariable
,InOutVariable
.
- Para este ejemplo, arrastra y suelta una actividad de Secuencia en tu flujo de trabajo y rellena con tres actividades de Escribir línea . Cada actividad Escribir línea está destinada a generar los datos de las tres variables pasadas en la Tarea externa. Pasa los siguientes valores en los campos de propiedad de Texto :
-
Arrastra una actividad Esperar tarea externa y reanudar a tu flujo de trabajo.
Esta actividad suspende el flujo de trabajo hasta que se completa una tarea externa y luego la asigna de nuevo al flujo de trabajo, dentro de las variables de tipoExternalTaskData
. 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 has creado. Para este ejemplo, pasa la variableTaskPersistData
. -
En el campo de propiedad Tarea Acción , presiona
CTRL + k
en tu teclado y crea una variable de Tipo Cadena y asígnale el nombreTaskAction
. Esto almacena la acción tomada por el usuario para completar la tarea. -
En el campo de propiedad Objeto de tarea (Salida) , pulsa
CTRL + k
en tu teclado y crea una variable de tipoDatosDeTareaExterna y nómbralaTaskData
. Esta variable almacena el objeto Tarea actualizado recuperado de Orchestrator después de completar la Acción externa.
-
-
Añade las actividades que desees ejecutar después de reanudar el flujo de trabajo. Para este ejemplo, imprima en el panel de Salida todos los valores recuperados tras la finalización de la Acción externa, utilizando cuatro actividades Escribir línea . Pasa las siguientes variables en los campos de Texto :
TaskAction
,InVariable
,OutVariable
,InOutVariable
.
Este fragmento crea una Actions Actions
-
Arrastra una actividad Crear tarea de formulario a tu flujo de trabajo.
Esta actividad crea Actionsde formulario en el Centro de Actions con el Títulode tarea, la Prioridadde tarea, el Catálogo de tareas (ahora llamado Catálogo deActions ) y los Datos de tareadeterminados. Consulta la página Crear tarea de formulario para obtener más información sobre la actividad.
-
Rellene la ventana de propiedades Recopilación de datos de tareas con argumentos que pasen información de entrada, salidao entrada / salida. Para este ejemplo, crea tres argumentos, cada uno con una Direccióndiferente:
In
,Out
yIn/Out
. Establece el Tipo comoString
. Para el campo Valor , pulsaCTRL + K
en tu teclado y crea tres variables que proporcionen información (para argumentos de tipoIn
) o extraigan información (para argumentos de tipoOut
).Para este ejemplo, cree tres variables de tipo Cadena :
- InVariable : el valor del argumento de tipo
In
. - OutVariable : el valor del argumento de tipo
Out
. -
InOutVariable : el valor del argumento de tipo
In/Out
.
En el campo de propiedad Objeto de tarea (Salida) , pulsaCTRL + k
en tu teclado y crea una variable de tipoFormTaskData
. Para este ejemplo, nombra la variableTaskPersistData
. Este objetoFormTaskData
se utiliza para traspasar datos de Orchestrator, con el fin de informar al Robot que hasta que se complete una tarea de Acción específica, el flujo de trabajo se suspende.
- InVariable : el valor del argumento de tipo
- Agrega cualquier actividad que quieras ejecutar antes de que se suspenda el flujo de trabajo para recuperar datos sobre el objeto
FormTaskData
. Para este ejemplo, arrastra y suelta una actividad de Secuencia en tu flujo de trabajo y complétala con tres actividades de Escribir línea . Cada actividad Escribir línea está destinada a generar los datos de las tres variables pasadas en la acción externa. Pasa los siguientes valores en los campos de propiedad de Texto :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 completa una acción de formulario y luego la asigna de nuevo al flujo de trabajo, dentro de las variables de tipoFormTaskData
.-
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 el Action Center. Para este ejemplo, pasa la variableTaskPersistData
. -
En el campo de propiedad Tarea Acción , presiona
CTRL + k
en tu teclado y crea una variable de Tipo Cadena y asígnale el nombreTaskAction
. Esto almacena la acción tomada por el usuario para completar la tarea. -
En el campo de propiedad Objeto de tarea (Salida) , pulsa
CTRL + k
en tu teclado y crea una variable de tipo DatosDeTarea y nómbralaTaskData
. Esta variable almacena el objeto Tarea actualizado recuperado de Orchestrator después de completar la tarea.
-
- Arrastra las actividades que deseas ejecutar después de reanudar el flujo de trabajo. Para este ejemplo, pase en el panel de Salida todos los valores recuperados tras la finalización de la Acción externa, utilizando cuatro actividades Escribir línea . Pasa las siguientes variables en los campos de Texto :
TaskAction
,InVariable
,OutVariable
,InOutVariable
.
Este fragmento crea dos acciones externas, las asigna a un usuario y muestra una lista de las asignaciones de acciones fallidas.
-
Arrastra dos actividades Crear tarea externa a tu flujo de trabajo.
-
Para la primera actividad, asigne un título a la acción y establezca su prioridad. En el campo de propiedad TaskObject (Output) , pulsa
CTRL + k
en tu teclado y crea una variable de tipoExternalTaskData
. En este ejemplo, asígnele el nombreTask1PersistData
. -
Para la segunda actividad, asigne un título a la acción y establezca su prioridad. En el campo de propiedad TaskObject (Output) , pulsa
CTRL + k
en tu teclado y crea una variable de tipoExternalTaskData
. En este ejemplo, asígnele el nombreTask2PersistData
.
-
-
Arrastra dos actividades Añadir a colección a tu flujo de trabajo.
Nota:La actividad Añadir a colección es una actividad clásica.
Para que la actividad "Añadir a colección" esté disponible en su proyecto:
- Tener instalado el paquete System.Activities 22.4.1 o anterior.
- Ve al panel de Actividades .
- Haga 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 propiedades de Colección , pulsa
CTRL + k
en tu teclado y crea una variable de tipoList<TaskUserAssignment>
y asígnale el nombreTaskAssignementsInput
. Ve al panel Variables e inicializa la variable en el campo Predeterminado comonew List(Of TaskUserAssignment
. - En el campo de propiedad del Elemento , crea una instancia de
TaskUserAssignment
, que tenga los siguientes parámetros: la variable ExternalTaskData y la dirección de correo electrónico del usuario al que quieres asignar la tarea.Para este ejemplo, escriba lo siguiente:
- La expresión
new TaskUserAssignment(Task1PersistData.Id, "emailaddress")
para la primera actividad "Añadir a colección" -
La expresión
new TaskUserAssignment(Task2PersistData.Id, "emailaddress")
para la segunda actividad "Añadir a colección" .
- La expresión
-
Establece la propiedad TypeArgument como
System.Collections.Generic.List<UiPath.Persistence.Activities.Tasks.TaskUserAssignment>
.
-
Arrastra una actividad Asignar tareas a tu flujo de trabajo.
-
En el campo de propiedad TaskUserAssignments (Input) , pasa la variable
List<TaskUserAssignment>
. Para este ejemplo, pasa la variableTaskAssignmentsInput
. -
En el campo de propiedad Tipo de asignación de tarea , escribe la operación de asignación exacta que deseas realizar: Asignar o Reasignar. Para este ejemplo, escribe
Assign
. -
En el campo de propiedad AsignacionesDeTareasError (Salida) , pulsa
CTRL + k
en tu teclado y crea una variable de tipoList<TaskAssignmentResponse>
y asígnele el nombreFailedTaskAssignmentsOutput
.
-
- Arrastra una actividad Escribir línea para generar el número de asignaciones de tareas fallidas. En el campo de propiedad Texto , pasa la variable de tipo
List<TaskAssignmentResponse>
y luego usa las propiedades.Count
y.ToString
. Para este ejemplo, pase la siguiente expresión:FailedTaskAssignemntsOutput.Count.ToString
.
Inicia un proceso desatendido y suspende el flujo de trabajo hasta que se completa un trabajo concreto.
-
Arrastre una actividad Iniciar trabajo y obtener referencia a su flujo de trabajo.
Esta actividad inicia un trabajo en Orchestrator según 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 propiedad ProcessName , pasa el Nombre para mostrar del proceso que quieres usar para el trabajo. Para este ejemplo, almacena el nombre dentro de una variable. Pulse
CTRL +k
en su teclado y cree una variable de tipoString
y asígnele el nombreProcessName
. 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 usar al invocar el trabajo en Orchestrator. Esta propiedad modifica el tipo de argumentos
Out
yIn/Out
en función de la entrada recibida del trabajo en Orchestrator y, después, los asigna de nuevo al flujo de trabajo. Para este ejemplo, crea un argumento de TipoString
, llamadoTest
, de DirecciónIn/Out
. En el campo Valor , presionaCTRL + k
en tu teclado y crea una variable de tipoString
. Nombre la variableTest
.
- En el campo de propiedad Objeto de trabajo (salida) , pulsa
CTRL + k
en tu teclado y crea una variable de tipoJobData
, denominadaJobPersistenceData
. Esta variable almacena el objeto de datos del trabajo creado cuando se invoca el trabajo en Orchestrator, para usarlo para la actividad Esperar trabajo y reanudar .
- En el campo de propiedad ProcessName , pasa el Nombre para mostrar del proceso que quieres usar para el trabajo. Para este ejemplo, almacena el nombre dentro de una variable. Pulse
- 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 completa un trabajo específico en Orchestrator. Una vez completado el trabajo, se reanuda.
-
En el campo de propiedad Objeto del 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 + k
en tu teclado y crea una variable de tipoJobData
. En este ejemplo, asígnele el nombreJobDataObject
.
-
- 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 del trabajo (colección). Para este ejemplo, pasa la variable
Test
.
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 después de retraso a tu flujo de trabajo. Esta actividad suspende el flujo de trabajo determinado y lo reanuda en una fecha y hora especificadas.
Consulta la página Reanudar después del retraso para obtener más información sobre esta actividad.
-
2.1. En el panel Variables , crea una variable de tipo
System.TimeSpan
. Para este ejemplo, nombra la variableOneHour
. Establece el valor Predeterminado de la variableTimeSpan
comoNew TimeSpan(1,0,0)
. -
2.2. En el campo de propiedad Tiempo de reanudación de la actividad, pasa la expresión
DateTime.Now
y la variableTimeSpan
. Para este ejemplo, pase la siguiente expresión:DateTime.Now + OneHour
.
-
- Añade las actividades que desees ejecutar después de reanudar el flujo de trabajo.
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.
-
Arrastra una actividad Reanudar después de retraso a tu flujo de trabajo. Esta actividad suspende el flujo de trabajo determinado y lo reanuda en una fecha y hora especificadas.
-
En el panel Variables , crea una variable de tipo
System.TimeSpan
. Para este ejemplo, nombra la variableFiveMinute
. Establece el valor Predeterminado de la variableTimeSpan
comoNew TimeSpan(0,5,0)
. -
En el campo de propiedad Tiempo de reanudación de la actividad, pasa la expresión
DateTime.Now
y la variableTimeSpan
. Para este ejemplo, pase la siguiente expresión:DateTime.Now + FiveMinute
.
-
- Arrastra las actividades que deseas ejecutar después de reanudar el flujo de trabajo.
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.
-
Arrastra una actividad Reanudar después de retraso a tu flujo de trabajo. Esta actividad suspende el flujo de trabajo determinado y lo reanuda en una fecha y hora especificadas.
-
En el panel Variables , crea una variable de tipo
System.TimeSpan
. Para este ejemplo, nombra la variableNinetySeconds
. Establece el valor Predeterminado de la variableTimeSpan
comoNew TimeSpan(0,0,90)
. -
En el campo de propiedad Tiempo de reanudación de la actividad, pasa la expresión
DateTime.Now
y la variableTimeSpan
. Para este ejemplo, pase la siguiente expresión:DateTime.Now + NinetySeconds
.
-
- Arrastra las actividades que deseas ejecutar después de reanudar el flujo de trabajo.
Este fragmento crea varias acciones de formulario en un bucle, según el número de facturas en una tabla de datos, y suspende el flujo de trabajo hasta que se completan todas las acciones.
-
Arrastra una actividad BuildDataTable a tu flujo de trabajo.
-
En el campo de propiedad de Salida , pulsa
CTRL + k
en tu teclado y crea una variable de tipoDataTable
para almacenar la tabla de datos que estás creando. Para este ejemplo, nombra la variableDataTable
comoHighValueInvoices
. -
Clic . Se abrirá la ventana Crear tabla de datos .
-
Cambiar el nombre de
Column1
comoInvoiceNumber
yColumn2
comoInvoiceAmount
. -
Añade datos dentro de las filas de la tabla y pulsa Aceptar.
-
-
Arrastra una actividad de asignación 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 Para , pasa la variable
DataTable
. Para este ejemplo, pasa la variableHighValueInvoices
. -
En el campo de la propiedad Valor , pulsa
CTRL + k
en tu teclado y crea una variable de tipoString
. En este ejemplo, asígnele el nombreDataTableName
. Establece el valor Predeterminado de la variableDataTableName
como `" facturas "`.
-
- 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, paseHighValueInvoices.Rows
. Esto itera en cada fila de la tabla de datos. -
Arrastra una actividad Crear tarea de formulario dentro del Cuerpo de la actividad Para cada .
-
En el campo de propiedad Título de la tarea , introduce el valor del 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
, dondeInvoiceNumber
es el nombre de la columna que contiene el número respectivo de cada factura. -
En 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 de Tipo
String
y establece la Dirección comoIn
. En el campo Valor , introduce el importe de cada factura y conviértelo en cadena. Para este ejemplo, introduce la siguiente expresión:item("InvoiceAmount").ToString
, dondeInvoiceAmount
es el nombre de la columna que contiene el importe respectivo de cada factura. -
En el campo de propiedad TaskObject (Output) , pulsa
CTRL + k
en tu teclado y crea una variable de tipoFormTaskData
. Para este ejemplo, nombra la variableTaskPersistData
.
-
-
Arrastra una actividad Añadir a colección dentro del Cuerpo de la actividad Para cada .
-
En el campo de la propiedad Colección , pulsa
CTRL + k
en tu teclado y crea una variableList<FormTaskData>
y asígnale el nombreTaskList
. Ve al panel Variables e inicializa la variable en el campo Predeterminado comoNew List(Of UiPath.Persistence.Activities.FormTask.FormTaskData
. -
En el campo de propiedad del Elemento , pasa la variable
FormTaskData
, creada para almacenar los datos de las acciones de formulario creadas. Para este ejemplo, pasa la variableTaskPersistData
. -
Para la propiedad TypeArgument , elige
UiPath.Persistence.Activities.FormTask.FormTaskData
.
-
-
Arrastra una actividad Paralelo Para cada a tu flujo de trabajo.
-
Para la propiedad TypeArgument , elige
UiPath.Persistence.Activities.FormTask.FormTaskData
. -
En el campo de propiedad Valores , pasa la variable
List<FormTaskData>
. Para este ejemplo, pasa la variableTaskList
.
-
-
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
, al que se hace referencia en la actividad Paralelo para cada . En este caso, el objetoitem
representa las acciones de formulario almacenadas en la variableTaskList
. -
En el campo de propiedad TaskAction , presiona
CTRL + k
en tu teclado y crea una variableString
. En este ejemplo, asígnele el nombreTaskAction
. -
En el campo de propiedad TaskObject (Output) , pulsa
CTRL + k
en tu teclado y crea una variableFormTaskData
. En este ejemplo, asígnele el nombreTaskData
.
-
- Arrastra una actividad Escribir línea a tu flujo de trabajo. Esta actividad muestra en el panel de Salida la acción tomada por el usuario para completar la Acción del formulario. En Valor de texto , introduce la variable
TaskAction
.
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.
-
Arrastra una actividad Crear tarea de formulario a tu flujo de trabajo de secuencia.
-
En el campo de propiedad TítuloDeLaTarea , presiona
CTRL + k
en tu teclado y crea una variableString
. NómbreloTaskTitle1
. En el panel Variables , establece el valor Predeterminado como"Task - " + "Approver 1"
. -
En la propiedad FormData (colección) , crea un argumento de tipo
String
y DirecciónIn
. Nombra el argumentoApprover
y establece el Valor como"Approver1"
. -
En el campo de propiedad TaskObject (Output) , pulsa
CTRL + k
en tu teclado y crea una variableFormTaskData
. Para este ejemplo, nombra la variableTaskPersistData1
.
-
-
Arrastra una segunda actividad Crear tarea de formulario a tu flujo de trabajo.
-
En el campo de propiedad TítuloDeLaTarea , presiona
CTRL + k
en tu teclado y crea una variableString
. NómbreloTaskTitle2
. En el panel Variables , establece el valor Predeterminado como"Task - " + "Approver 2"
. -
En la propiedad FormData (colección) , crea un argumento de tipo
String
y DirecciónIn
. Nombra el argumentoApprover
y establece el Valor como"Approver2"
. -
En el campo de propiedad TaskObject (Output) , pulsa
CTRL + k
en tu teclado y crea una variableFormTaskData
. Para este ejemplo, nombra la variableTaskPersistData2
.
-
-
Arrastra una tercera actividad Crear tarea de formulario a tu flujo de trabajo.
-
En el campo de propiedad TítuloDeLaTarea , presiona
CTRL + k
en tu teclado y crea una variableString
. NómbreloTaskTitle3
. En el panel Variables , establece el valor Predeterminado como"Task - " + "Approver 3"
. -
En la propiedad FormData (colección) , crea un argumento de tipo
String
y DirecciónIn
. Nombra el argumentoApprover
y establece el Valor como"Approver3"
. -
En el campo de propiedad TaskObject (Output) , pulsa
CTRL + k
en tu teclado y crea una variableFormTaskData
. Para este ejemplo, nombra la variableTaskPersistData3
.
-
- Arrastre una actividad de selección a su flujo de trabajo.
- Arrastra una actividad Seleccionar rama al cuerpo de la actividad Seleccionar . Cambiar el nombre de la actividad como
Pick Branch (Task1)
. -
Arrastra una actividad Esperar tarea de formulario y reanudar al cuerpo del Desencadenador de la actividad
Pick Branch (Task1)
.-
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 variableTaskPersistData1
. -
En el campo de propiedad TaskAction , pulsa
CTRL + k
y crea una variableString
. NómbreloTaskAction1
. -
En el campo de propiedad TaskObject (Output) , pulsa
CTRL+ k
en tu teclado y crea una variableFormTaskData
. NómbreloTaskData1
.
-
-
Arrastra una actividad Escribir línea al cuerpo de la acción de la actividad
Pick Branch (Task1)
. Esta actividad está destinada a mostrar en el panel Salida la acción realizada por el usuario para completar la Acción del formulario. En Valor de texto , introduce la variableTaskAction1
. - Arrastra una actividad Seleccionar rama al cuerpo de la actividad Seleccionar . Cambiar el nombre de la actividad como
Pick Branch (Task2)
. -
Arrastra una actividad Esperar tarea de formulario y reanudar al cuerpo del Desencadenador de la actividad
Pick Branch (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 variableTaskPersistData2
. -
En el campo de propiedad TaskAction , pulsa
CTRL + k
y crea una variableString
. NómbreloTaskAction2
. -
En el campo de propiedad TaskObject (Output) , pulsa
CTRL+ k
en tu teclado y crea una variableFormTaskData
. NómbreloTaskData2
.
-
- Arrastra una actividad Escribir línea al cuerpo de la acción de la actividad
Pick Branch (Task2)
. Esta actividad muestra en el panel de Salida la acción tomada por el usuario para completar la Acción del formulario. En Valor de texto , introduce la variableTaskAction2
. - Arrastra una actividad Seleccionar rama al cuerpo de la actividad Seleccionar . Cambiar el nombre de la actividad como
Pick Branch (Task3)
. -
Arrastra una actividad Esperar tarea de formulario y reanudar al cuerpo del Desencadenador de la actividad
Pick Branch (Task3)
.-
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 variableTaskPersistData3
. -
En el campo de propiedad TaskAction , pulsa
CTRL + k
y crea una variableString
. NómbreloTaskAction3
. -
En el campo de propiedad TaskObject (Output) , pulsa
CTRL+ k
en tu teclado y crea una variableFormTaskData
. NómbreloTaskData3
.
-
- Arrastra una actividad Escribir línea al cuerpo de la acción de la actividad
Pick Branch (Task3)
. Esta actividad muestra en el panel de Salida la acción tomada por el usuario para completar la Acción del formulario. En Valor de texto , introduce la variableTaskAction3
.
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.
-
Arrastra una actividad Crear tabla de datos a tu flujo de trabajo.
-
En el campo de propiedad TablaDeDatos , presiona
CTRL + k
en tu teclado y crea una variableSystem.DataTable
. En este ejemplo, asígnele el nombreCodeReviews
. -
Clic . Se abrirá la ventana Crear tabla de datos .
-
Cambiar el nombre de
Column1
comoReviewerName
yColumn2
comoReviewerType
. Establece el Tipo de la columnaReviewerType
enString
. -
Añade datos dentro de las filas de la tabla. Para la columna
ReviewerType
, este ejemplo usa dos tipos de revisores: propietarios de código y revisores.
-
- Arrastra una actividad de asignación a tu flujo de trabajo. Esto asigna un nombre a la tabla de datos que creaste. En el campo de la propiedad Para , pasa la variable
System.DataTable
y agrégale la propiedad.TableName
. En el campo Valor , presionaCTRL + k
en tu teclado y crea una variableString
. En este ejemplo, asígnele el nombreDataTableName
. -
Arrastra una actividad Paralelo Para cada a tu flujo de trabajo. En este ejemplo, asígnele el nombre
Create Tasks for PR Review
.-
En el campo de propiedad Valores , pasa la variable
System.DataTable
y añade la propiedad.AsEnumerable
. Para este ejemplo, pase la siguiente expresión:CodeReviews.AsEnumerable
.
-
-
Arrastra una actividad Asignar al Cuerpo de la actividad Paralelo para cada .
-
En el campo de propiedad Para , pulsa
CTRL + k
en tu teclado y crea una variableString
que contenga los datos recuperados de la columnaReviewerType
en 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
ReviewerType
y lo almacene en la variable creada dentro del campo Para . Para este ejemplo, pase la siguiente expresión:ìtem("ReviewerType").toString
.
-
-
Arrastra una actividad Crear tarea de formulario al Cuerpo de la actividad Paralelo para cada .
-
En el campo de propiedad TaskTitle , pasa la siguiente expresión:
"Code Review - " + InPullRequestName
.InPullRequestName
es una variableString
, que tiene el valor predeterminado"#1"
. -
En la propiedad FormData (Colección) , cree cuatro argumentos de tipo
String
: - "Número PR": con la Dirección
In
y el Valor establecido comoInPullRequestName
. Reviewer Name
: con la DirecciónIn
y el Valor establecido comoitem("ReviewerName").toString
.Reviewer Type
: con la DirecciónIn/Out
y el valor establecido como variableReviewerType
.-
Reviewer Comment
: con la DirecciónOut
. En el campo Valor , presionaCTRL + k
en tu teclado y crea una variableString
. NómbreloReviewerComments
. Este argumento asigna al flujo de trabajo cualquier comentario que se realice en la Acción.5.3. En el campo de propiedad TaskObject (Output) , pulsaCTRL + k
en tu teclado y crea una variableFormTaskData
. NómbreloTaskPersistData
.
-
-
Arrastra una actividad Añadir a colección al cuerpo de la actividad Paralelo para cada . Esta actividad almacena todas las acciones de formulario creadas en una lista.
-
En el campo de la propiedad Colección , pulsa
CTRL + k
en tu teclado y crea una variableList<FormTaskData>
. NómbreloTaskDataList
. Ve al panel Variables y establece el valor Predeterminado de la variable comoNew List(of UiPath.Persistence.Activities.FormTask.FormTaskData)
. -
En el campo de propiedad Elemento , pasa la variable
FormTaskData
. Para este ejemplo, pasa la variableTaskPersistData
. -
Para la propiedad TypeArgument , elige
UiPath.Persistence.Activities.FormTask.FormTaskData
.
-
- En el panel Variables , crea dos variables de tipo
Int32
y establece su valor predeterminado en0
:OwnersApprovals
yReviewersApprovals
. -
Arrastra otra actividad Paralelo Para cada . En este ejemplo, asígnele el nombre
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 TypeArgument , elige
UiPath.Persistence.Activities.FormTask.FormTaskData
. -
En el campo de la propiedad Valor , pasa la lista donde se almacenan las acciones del formulario. Para este ejemplo, pasa la variable
TaskDataList
.
-
- Arrastra una actividad de Secuencia al cuerpo de la actividad Esperar a que se completen las tareas condicionales . Cámbiele el nombre
Wait for Task and Resume
. -
Arrastra una actividad Esperar tarea de formulario y reanudar a la actividad de secuencia Esperar tarea y reanudar .
-
En el campo de propiedad TaskObject (Input) , pasa la variable
item
. -
En el campo de propiedad TaskAction , pulsa
CTRL + k
en tu teclado y crea una variableString
. En este ejemplo, asígnele el nombreTaskAction
. -
En el campo de propiedad TaskObject (Output) , pulsa
CTRL + k
en tu teclado y crea una variableFormTaskData
. En este ejemplo, asígnele el nombreTaskData
.
-
-
Arrastra una actividad Si a la actividad de secuencia Esperar tarea y reanudar . Esta actividad está destinada a contar el número de acciones de formulario que han sido aprobadas por los propietarios del código.
-
En el campo de la 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 Para , pasa la variable
OwnersApprovals
. En el campo de la propiedad Valor , pasa la expresiónOwnersApprovals + 1
.
-
-
Arrastra otra actividad Si a la actividad Esperar tarea y reanudar . Esta actividad está destinada a contar el número de acciones de formulario que han sido aprobadas por los revisores.
-
En el campo de la propiedad Condición , pasa la siguiente expresión:
TaskAction="approve" And ReviewerType="reviewer"
. -
Arrastra una actividad Asignar al bloque Entonces . En el campo de propiedad Para , pasa la variable
ReviewersApprovals
. En el campo de la propiedad Valor , pasa la expresiónReviewersApprovals + 1
.
-
-
Arrastre la actividad Escribir línea a la actividad Esperar tarea y reanudar . 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
OwnersApprovals
y agrega la propiedad.toString
. -
En la tercera actividad, pasa la variable
ReviewersApprovals
y añade la propiedad.toString
.
-
Este fragmento crea tres acciones de formulario y suspende el flujo de trabajo hasta que se completan dos acciones.
-
Arrastra una actividad Crear tarea de formulario a tu flujo de trabajo de secuencia.
-
En el campo de propiedad TítuloDeLaTarea , presiona
CTRL + k
en tu teclado y crea una variableString
. NómbreloTaskTitle1
. En el panel Variables , establece el valor Predeterminado como"Task - " + "Approver 1"
. -
En la propiedad FormData (colección) , crea un argumento de tipo
String
y DirecciónIn
. Nombra el argumentoApprover
y establece el Valor como"Approver1"
. -
En el campo de propiedad TaskObject (Output) , pulsa
CTRL + k
en tu teclado y crea una variableFormTaskData
. Para este ejemplo, nombra la variableTaskPersistData1
.
-
-
Arrastra una actividad Crear formulario a tu flujo de trabajo de secuencia.
-
En el campo de propiedad TítuloDeLaTarea , presiona
CTRL + k
en tu teclado y crea una variableString
. NómbreloTaskTitle2
. En el panel Variables , establece el valor Predeterminado como"Task - " + "Approver 2"
. -
En la propiedad FormData (colección) , crea un argumento de tipo
String
y DirecciónIn
. Nombra el argumentoApprover
y establece el Valor como"Approver2"
. -
En el campo de propiedad TaskObject (Output) , pulsa
CTRL + k
en tu teclado y crea una variableFormTaskData
. Para este ejemplo, nombra la variableTaskPersistData2
.
-
-
Arrastra una actividad Crear formulario a tu flujo de trabajo de secuencia.
-
En el campo de propiedad TítuloDeLaTarea , presiona
CTRL + k
en tu teclado y crea una variableString
. NómbreloTaskTitle3
. En el panel Variables , establece el valor Predeterminado como"Task - " + "Approver 3"
. -
En la propiedad FormData (colección) , crea un argumento de tipo
String
y DirecciónIn
. Nombra el argumentoApprover
y establece el Valor como"Approver3"
. -
En el campo de propiedad TaskObject (Output) , pulsa
CTRL + k
en tu teclado y crea una variableFormTaskData
. Para este ejemplo, nombra la variableTaskPersistData3
.
-
-
Arrastra una actividad Paralelo a tu flujo de trabajo.
-
En el campo de la propiedad Condición , pulsa
CTRL + k
en tu teclado y crea una variableInt32
. Para este ejemplo, nombra la variableCompleteTasksCount
y 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 Paralelo para que se complete cuando se completan dos de las tres acciones.
-
- Arrastra una actividad de Secuencia al cuerpo de la actividad Paralelo . Cambiar el nombre de la actividad como
Sequence Task1
. -
En la actividad
Sequence Task1
, arrastra una actividad Esperar tarea de formulario y reanudar . Cámbiele el nombre comoWait for Form Task and Resume(Task1)
.-
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 variableTaskPersistData1
. -
En el campo de propiedad TaskAction , pulsa
CTRL + k
y crea una variableString
. NómbreloTaskAction1
. -
En el campo de propiedad TaskObject (Output) , pulsa
CTRL+ k
en tu teclado y crea una variableFormTaskData
. NómbreloTaskData1
.
-
- Arrastra una actividad Escribir línea al cuerpo de la acción de la actividad
Sequence Task1
. Esta actividad está destinada a mostrar en el panel Salida la acción realizada por el usuario para completar la Acción del formulario. En Valor de texto , introduce la variableTaskAction1
. -
Arrastra una actividad Asignar a la actividad
Wait for Form Task and Resume(Task1)
. Pasa elCompleteTaskCount
al campo Para y la expresiónCompleteTaskCount
+ 1 al 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
. - Arrastra una actividad de Secuencia al cuerpo de la actividad Paralelo . Cambiar el nombre de la actividad como
Sequence Task2
. - En la actividad
Sequence Task2
, arrastre y suelte una actividad Esperar tarea de formulario y reanudar . Cambiarle el nombre 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 propiedad TaskAction , pulsa
CTRL + k
y crea una variable "String". Nómbrela TaskAction2 - En el campo de propiedad TaskObject (Output) , pulsa CTRL + k en tu teclado y crea una variable
FormTaskData
. NómbreloTaskData2
.
- 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
- Arrastra una actividad Escribir línea al cuerpo de la actividad
Sequence Task2
. Esta actividad muestra en el panel de Salida la acción tomada por el usuario para completar la Acción del formulario. En Valor de texto , introduce la variableTaskAction2
. - Arrastra una actividad Asignar a la actividad
Wait for Form Task and Resume(Task2)
. Pasa elCompleteTaskCount
al campo Para y la expresiónCompleteTaskCount + 1
al 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
. - Arrastra una actividad de Secuencia al cuerpo de la actividad Paralelo . Cambiar el nombre de la actividad como
Sequence Task3
. -
En la actividad
Sequence Task3
, arrastre y suelte una actividad Esperar tarea de formulario y reanudar . Cámbiele el nombre comoWait for Form Task and Resume(Task3)
.-
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 variableTaskPersistData3
. -
En el campo de propiedad TaskAction , pulsa
CTRL + k
y crea una variableString
. NómbreloTaskAction3
. -
En el campo de propiedad TaskObject (Output) , pulsa
CTRL+ k
en tu teclado y crea una variableFormTaskData
. NómbreloTaskData3
.
-
- Arrastra una actividad Escribir línea al cuerpo de la acción de la actividad
Sequence Task3
. Esta actividad está destinada a mostrar en el panel Salida la acción realizada por el usuario para completar la Acción del formulario. En Valor de texto , introduce la variableTaskAction3
. - Arrastra una actividad Asignar a la actividad
Wait for Form Task and Resume(Task3)
. Pasa elCompleteTaskCount
al campo Para y la expresiónCompleteTaskCount + 1
al campo ** Valor **. Si la acción se completa y se reanuda el flujo de trabajo, se agrega 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