activities
latest
false
Importante :
Este contenido se ha localizado parcialmente a partir de un sistema de traducción automática. La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.
UiPath logo, featuring letters U and I in white

Actividades del flujo de trabajo

Última actualización 9 de mar. de 2026

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 .

  1. 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 QueueItemData se rellenarán con los datos recuperados de Orchestrator.

    1. 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.
    2. En el campo de propiedad QueueItemObject(Output) , pulsa CTRL + k en tu teclado y crea una variable de tipo QueueItemData , para almacenar los datos sobre el artículo en cola, después de que se haya creado en Orchestrator. Para este ejemplo, crea una variable QueueItemData llamada QueueItemObject.

    docs image

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

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

    1. 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.
    2. En el campo de propiedad Objeto de elemento de cola (salida) , pulsa CTRL + k en tu teclado y crea una variable de tipo QueueItemData para almacenar los datos sobre el elemento de cola después de que se haya procesado y recuperado.
  4. 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 Test variable.

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.

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

  2. 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, Out y In/Out. Establece el Tipo como String. Para el campo Valor , pulsa CTRL + K en tu teclado y crea tres variables, que den información (para argumentos de tipo In ), o extraigan información (para argumentos de tipo Out ).

    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.

    docs image

    En el campo de propiedad Objeto de tarea (Salida) , pulsa CTRL + k en tu teclado y crea una variable de tipo ExternalTaskData . Para este ejemplo, nombra la variable TaskPersistData. Este objeto ExternalTaskData se 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.

  3. Agrega cualquier actividad que quieras ejecutar antes de que se suspenda el flujo de trabajo para recuperar datos sobre el objeto ExternalTaskData .

    1. 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.
  4. 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.

    1. 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 variable TaskPersistData .
    2. En el campo de propiedad Acción de tarea , pulsa CTRL + k en tu teclado y crea una variable de tipo String y nómbrala TaskAction. Esto almacena la acción realizada por el usuario para completar la tarea.
    3. En el campo de propiedad Objeto de tarea (Salida) , pulsa CTRL+ k en tu teclado y crea una variable de tipoDatosDeTareaExterna y nómbrala TaskData. Esta variable almacena el objeto Tarea actualizado recuperado de Orchestrator después de la finalización de la acción externa.
  5. 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.

    docs image

Crear tarea de formulario y suspender hasta su finalización

Este fragmento crea una Actions Actions

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

  2. 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, Out y In/Out. Establece el Tipo como String. Para el campo Valor , pulsa CTRL + K en tu teclado y crea tres variables que den información (para argumentos de tipo In ) o extraigan información (para argumentos de tipo Out ).

    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.

    docs image

    En el campo de propiedad Objeto de tarea (Salida) , pulsa CTRL + k en tu teclado y crea una variable de tipo FormTaskData . Para este ejemplo, nombra la variable TaskPersistData. Este objeto FormTaskData se 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.

  3. Add any activities that you want to run before the workflow is suspended to retrieve data about the FormTaskData object. 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.

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

    1. 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 variable TaskPersistData .
    2. En el campo de propiedad Acción de tarea , pulsa CTRL + k en tu teclado y crea una variable de tipo String y nómbrala TaskAction. Esto almacena la acción realizada por el usuario para completar la tarea.
    3. En el campo de propiedad Objeto de tarea (Salida) , pulsa CTRL + k en tu teclado y crea una variable de tipo FormTaskData y nómbrala TaskData. Esta variable almacena el objeto Tarea actualizado recuperado de Orchestrator tras la finalización de la tarea.
  5. 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.

  1. Drag two Create External Task activities into your workflow.

    1. 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 + k en tu teclado y crea una variable de tipo ExternalTaskData . Para este ejemplo, nómbralo Task1PersistData.

    2. 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 + k en tu teclado y crea una variable de tipo ExternalTaskData . Para este ejemplo, nómbralo Task2PersistData.

      docs image

  2. 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 docs image icono.
    • Haz clic en Mostrar clásico. La actividad se puede encontrar en Actividades predeterminadas > Programación > Colección.
    1. En los campos de propiedad Colección , pulsa CTRL + k en tu teclado y crea una variable de tipo List<TaskUserAssignment> y nómbrala TaskAssignementsInput. Ve al panel Variables e inicializa la variable en el campo Predeterminado como new List(Of TaskUserAssignment.

    2. En el campo Propiedad del elemento , crea una instancia de TaskUserAssignment que 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:

      • Thenew 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.

      docs image

    3. Establece la propiedad TipoDeArgumento como System.Collections.Generic.List<UiPath.Persistence.Activities.Tasks.TaskUserAssignment>.

  3. Drag an Assign Tasks activity into your workflow.

    1. En el campo de propiedad AsignacionesDeUsuarioDeTareas (Entrada) , pasa la variable List<TaskUserAssignment> . Para este ejemplo, pasa la variable TaskAssignmentsInput .

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

    3. En el campo de propiedad FailedTaskAssignments (Output) , pulsa CTRL + k en tu teclado y crea una variable de tipo List<TaskAssignmentResponse> y nómbrala FailedTaskAssignmentsOutput.

      docs image

  4. 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 .Count y .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.

  1. 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.
    1. 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 +k en tu teclado y crea una variable de tipo String y nómbrala ProcessName. 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.

      docs image

    2. 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 Out y In/Out en 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 Tipo String , llamado Test, de Dirección In/Out. En el campo Valor , pulsa CTRL + k en tu teclado y crea una variable de tipo String . Nombra la variable Test.

      docs image

    3. En el campo de propiedad Objeto de trabajo (salida) , pulsa CTRL + k en tu teclado y crea una variable de tipo JobData , llamada JobPersistenceData. 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 .

  2. Agrega cualquier actividad que quieras ejecutar antes de que se suspenda el flujo de trabajo para recuperar datos sobre el objeto JobData .
  3. 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.
    1. 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 variable JobPersistenceData . Esto dirige al robot al trabajo exacto que debe completarse hasta que se reanude el flujo de trabajo.
    2. En el campo de propiedad Objeto de trabajo (salida) , pulsa CTRL + k en tu teclado y crea una variable de tipo JobData . Para este ejemplo, nómbralo JobDataObject.
  4. 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.

  1. Añade las actividades que desees ejecutar antes de que se suspenda el flujo de trabajo.

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

    1. En el panel Variables , crea una variable de tipo System.TimeSpan . Para este ejemplo, nombra la variable OneHour. Establece el valor Predeterminado de la variable TimeSpan como New TimeSpan(1,0,0).
    2. En el campo de propiedad Hora de reanudación de la actividad, pasa la expresión DateTime.Now y la variable TimeSpan . Para este ejemplo, pasa la siguiente expresión: DateTime.Now + OneHour.

    docs image

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

  1. Arrastra las actividades que deseas ejecutar antes de suspender el flujo de trabajo.

  2. Drag a Resume After Delay activity into your workflow. This activity suspends the given workflow and resumes it at a specified date and time.

    1. En el panel Variables , crea una variable de tipo System.TimeSpan . Para este ejemplo, nombra la variable FiveMinute. Establece el valor Predeterminado de la variable TimeSpan como New TimeSpan(0,5,0).
    2. En el campo de propiedad Hora de reanudación de la actividad, pasa la expresión DateTime.Now y la variable TimeSpan . Para este ejemplo, pasa la siguiente expresión: DateTime.Now + FiveMinute.

    docs image

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

  1. Añade las actividades que desees ejecutar antes de que se suspenda el flujo de trabajo.

  2. Drag a Resume After Delay activity into your workflow. This activity suspends the given workflow and resumes it at a specified date and time.

    1. En el panel Variables , crea una variable de tipo System.TimeSpan . Para este ejemplo, nombra la variable NinetySeconds. Establece el valor Predeterminado de la variable TimeSpan como New TimeSpan(0,0,90).
    2. En el campo de propiedad Hora de reanudación de la actividad, pasa la expresión DateTime.Now y la variable TimeSpan . Para este ejemplo, pasa la siguiente expresión: DateTime.Now + NinetySeconds.

    docs image

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

  1. Arrastra una actividad ConstruirTablaDeDatos a tu flujo de trabajo.

    1. En el campo de propiedad Salida , pulsa CTRL + k en tu teclado y crea una variable de tipo DataTable , para almacenar la tabla de datos que estás creando. Para este ejemplo, nombra la variable DataTable como HighValueInvoices.
    2. Clic docs image. Se abre la ventana Crear tabla de datos .
    3. Cambiar el nombre de Column1 como InvoiceNumber y Column2 como InvoiceAmount.
    4. Añade datos dentro de las filas de la tabla y pulsa Aceptar.

    docs image

  2. Arrastra una actividad Asignar a tu flujo de trabajo. Esta actividad asigna un nombre a la tabla de datos, almacenada en una variable String .

    1. En el campo de propiedad A , pasa la variable DataTable . Para este ejemplo, pasa la variable HighValueInvoices .
    2. En el campo de propiedad Valor , pulsa CTRL + k en tu teclado y crea una variable de tipo String . Para este ejemplo, nómbralo DataTableName. Establece el valor Predeterminado de la variable DataTableName como ``"facturas"`.
  3. 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, pasa HighValueInvoices.Rows. Esto itera a través de cada fila de la tabla de datos.

  4. Drag a Create Form Task activity inside the Body of the For Each activity.

    1. 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, donde InvoiceNumber es el nombre de la columna que contiene el número respectivo para cada factura.
    2. 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 String y establece la Dirección como In. 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, donde InvoiceAmount es el nombre de la columna que contiene el importe respectivo de cada factura.
    3. En el campo de propiedad TaskObject(Output) , pulsa CTRL + k en tu teclado y crea una variable de tipo FormTaskData . Para este ejemplo, nombra la variable como TaskPersistData.

    docs image

  5. Drag an Add To Collection activity inside the Body of the For Each activity.

    1. En el campo de propiedad Colección , pulsa CTRL + k en tu teclado y crea una variable List<FormTaskData> y nómbrala TaskList. Ve al panel Variables e inicializa la variable en el campo Predeterminado como New List(Of UiPath.Persistence.Activities.FormTask.FormTaskData.
    2. 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 variable TaskPersistData .
    3. Para la propiedad TipoDeArgumento , elige UiPath.Persistence.Activities.FormTask.FormTaskData.
  6. Drag a Parallel For Each activity into your workflow.

    1. Para la propiedad TipoDeArgumento , elige UiPath.Persistence.Activities.FormTask.FormTaskData.
    2. En el campo de propiedad Valores , pasa la variable List<FormTaskData> . Para este ejemplo, pasa la variable TaskList .
  7. Arrastra una actividad Esperar tarea de formulario y reanudar al cuerpo de la actividad Paralelo para cada .

    1. En el campo de propiedad TaskObject(Input) , introduce el objeto item , referenciado en la actividad Paralelo Para Cada . En este caso, el objeto item representa las acciones de formulario almacenadas en la variable TaskList .
    2. En el campo de propiedad AcciónDeTarea , pulsa CTRL + k en tu teclado y crea una variable String . Para este ejemplo, nómbralo TaskAction.
    3. En el campo de propiedad TaskObject(Output) , pulsa CTRL + k en tu teclado y crea una variable FormTaskData . Para este ejemplo, nómbralo TaskData.

    docs image

  8. 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 TaskAction variable.

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.

  1. Drag a Create Form Task activity into your sequence workflow.

    1. En el campo de propiedad TaskTitle , pulsa CTRL + k en tu teclado y crea una variable String . Nómbralo TaskTitle1. En el panel Variables , establece el valor Predeterminado como "Task - " + "Approver 1".
    2. En la propiedad FormData(Collection) , crea un argumento de Tipo String y Dirección In. Nombra el argumento Approver y establece el Valor como "Approver1".
    3. En el campo de propiedad TaskObject(Output) , pulsa CTRL + k en tu teclado y crea una variable FormTaskData . Para este ejemplo, nombra la variable TaskPersistData1.
  2. Drag a second Create Form Task activity into your workflow.

    1. En el campo de propiedad TaskTitle , pulsa CTRL + k en tu teclado y crea una variable String . Nómbralo TaskTitle2. En el panel Variables , establece el valor Predeterminado como "Task - " + "Approver 2".
    2. En la propiedad FormData(Collection) , crea un argumento de Tipo String y Dirección In. Nombra el argumento Approver y establece el Valor como "Approver2".
    3. En el campo de propiedad TaskObject(Output) , pulsa CTRL + k en tu teclado y crea una variable FormTaskData . Para este ejemplo, nombra la variable TaskPersistData2.
  3. Drag a third Create Form Task activity into your workflow.

    1. En el campo de propiedad TaskTitle , pulsa CTRL + k en tu teclado y crea una variable String . Nómbralo TaskTitle3. En el panel Variables , establece el valor Predeterminado como "Task - " + "Approver 3".
    2. En la propiedad FormData(Collection) , crea un argumento de Tipo String y Dirección In. Nombra el argumento Approver y establece el Valor como "Approver3".
    3. En el campo de propiedad TaskObject(Output) , pulsa CTRL + k en tu teclado y crea una variable FormTaskData . Para este ejemplo, nombra la variable TaskPersistData3.
  4. Drag a Pick activity into your workflow.

  5. Drag a Pick Branch activity into the body of the Pick activity. Rename the activity as Pick Branch (Task1).

  6. Drag a Wait For Form Task And Resume activity into the Trigger body of the Pick Branch (Task1) activity.

    1. 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 TaskPersistData1 .
    2. En el campo de propiedad TaskAction , pulsa CTRL + k y crea una variable String . Nómbralo TaskAction1.
    3. En el campo de propiedad TaskObject(Output) , pulsa CTRL+ k en tu teclado y crea una variable FormTaskData . Nómbralo TaskData1.
  7. 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 the TaskAction1 variable.

    docs image

  8. Drag a Pick Branch activity into the body of the Pick activity. Rename the activity as Pick Branch (Task2).

  9. Drag a Wait For Form Task And Resume activity into the Trigger body of the Pick Branch (Task2) activity.

    1. 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 .
    2. En el campo de propiedad TaskAction , pulsa CTRL + k y crea una variable String . Nómbralo TaskAction2.
    3. En el campo de propiedad TaskObject(Output) , pulsa CTRL+ k en tu teclado y crea una variable FormTaskData . Nómbralo TaskData2.
  10. 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 the TaskAction2 variable.

  11. Drag a Pick Branch activity into the body of the Pick activity. Rename the activity as Pick Branch (Task3).

  12. Drag a Wait For Form Task And Resume activity into the Trigger body of the Pick Branch (Task3) activity.

    1. 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 TaskPersistData3 .
    2. En el campo de propiedad TaskAction , pulsa CTRL + k y crea una variable String . Nómbralo TaskAction3.
    3. En el campo de propiedad TaskObject(Output) , pulsa CTRL+ k en tu teclado y crea una variable FormTaskData . Nómbralo TaskData3.
  13. 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 the TaskAction3 variable.

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.

  1. Drag a Build Data Table activity into your workflow.

    1. En el campo de propiedad TablaDeDatos , pulsa CTRL + k en tu teclado y crea una variable System.DataTable . Para este ejemplo, nómbralo CodeReviews.
    2. Clic docs image. Se abre la ventana Crear tabla de datos .
    3. Cambia el nombre de Column1 como ReviewerName y Column2 como ReviewerType. Establece el Tipo de la columna ReviewerType en String.
    4. 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.

    docs image

  2. 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.DataTable variable and add .TableName property to it. In the Value field, press CTRL + k on your keyboard and create a String variable. For this example, name it DataTableName.

  3. Drag a Parallel For Each activity into your workflow. For this example, name it Create Tasks for PR Review.

    1. En el campo de propiedad Valores , pasa la variable System.DataTable y añade la propiedad .AsEnumerable. Para este ejemplo, pasa la siguiente expresión: CodeReviews.AsEnumerable.
  4. Arrastra una actividad Asignar en el Cuerpo de la actividad Paralelo Para Cada .

    1. En el campo de propiedad A , pulsa CTRL + k en tu teclado y crea una variable String , que contenga los datos recuperados de la columna ReviewerType en la tabla de datos CodeReviews . Para este ejemplo, nombra la variable ReviewerType.
    2. 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, pasa la siguiente expresión: ìtem("ReviewerType").toString.

    docs image

  5. Drag a Create Form Task activity into the Body of the Parallel For Each activity.

    1. En el campo de propiedad TaskTitle , pasa la siguiente expresión: "Code Review - " + InPullRequestName. La InPullRequestName es una variable String , que tiene el valor predeterminado "#1".
    2. En la propiedad FormData(Collection) , crea cuatro argumentos de Tipo String:
    3. 'Número PR': con la Dirección In y el Valor establecido como InPullRequestName.
    4. Reviewer Name : con la Dirección In y el Valor establecido como item("ReviewerName").toString.
    5. Reviewer Type : con la Dirección In/Out y el valor establecido como la variable ReviewerType .
    6. Reviewer Comment : con la Dirección Out. En el campo Valor , pulsa CTRL + k en tu teclado y crea una variable String . Nómbralo ReviewerComments. Este argumento asigna al flujo de trabajo cualquier comentario que se haga en la acción.
    7. En el campo de propiedad TaskObject(Output) , pulsa CTRL + k en tu teclado y crea una variable FormTaskData . Nómbralo TaskPersistData.

    docs image

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

    1. En el campo de propiedad Colección , pulsa CTRL + k en tu teclado y crea una variable List<FormTaskData> . Nómbralo TaskDataList. Ve al panel Variables y establece el valor Predeterminado de la variable como New List(of UiPath.Persistence.Activities.FormTask.FormTaskData).
    2. En el campo Propiedad del elemento , pasa la variable FormTaskData . Para este ejemplo, pasa la variable TaskPersistData .
    3. Para la propiedad TipoDeArgumento , elige UiPath.Persistence.Activities.FormTask.FormTaskData.
  7. In the Variables panel, create two variables of type Int32 and set their Default value to 0: OwnersApprovals and ReviewersApprovals.

  8. Arrastra otra actividad Paralelo Para Cada . Para este ejemplo, nómbralo Wait for Conditional Task(s) Completion.

    1. 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.
    2. Para la propiedad TipoDeArgumento , elige UiPath.Persistence.Activities.FormTask.FormTaskData.
    3. En el campo de propiedad Valor , pasa la lista donde se almacenan las Acciones de formulario. Para este ejemplo, pasa la variable TaskDataList .

    docs image

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

  10. Arrastra una actividad Esperar tarea de formulario y reanudar a la actividad Esperar tarea y reanudar secuencia.

    1. En el campo de propiedad TaskObject(Input) , pasa la variable item .
    2. En el campo de propiedad AcciónDeTarea , pulsa CTRL + k en tu teclado y crea una variable String . Para este ejemplo, nómbralo TaskAction.
    3. En el campo de propiedad TaskObject(Output) , pulsa CTRL + k en tu teclado y crea una variable FormTaskData . Para este ejemplo, nómbralo TaskData.
  11. 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.

    1. En el campo de propiedad Condición , pasa la siguiente expresión: TaskAction="approve" And ReviewerType="code owner".
    2. 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ón OwnersApprovals + 1 .

    docs image

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

    1. En el campo de propiedad Condición , pasa la siguiente expresión: TaskAction="approve" And ReviewerType="reviewer".
    2. 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ón ReviewersApprovals + 1 .

    docs image

  13. Arrastra tres actividades Escribir línea a la actividad Esperar tarea y reanudar secuencia. Esta actividad muestra los valores dados en el panel Salida .

    1. En la primera actividad, pasa la variable ReviewComments .
    2. En la segunda actividad, pasa la variable OwnersApprovals y agrega la propiedad .toString .
    3. En la tercera actividad, pasa la variable ReviewersApprovals y añade la propiedad .toString .

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.

  1. Drag a Create Form Task activity into your sequence workflow.

    1. En el campo de propiedad TaskTitle , pulsa CTRL + k en tu teclado y crea una variable String . Nómbralo TaskTitle1. En el panel Variables , establece el valor Predeterminado como "Task - " + "Approver 1".
    2. En la propiedad FormData(Collection) , crea un argumento de Tipo String y Dirección In. Nombra el argumento Approver y establece el Valor como "Approver1".
    3. En el campo de propiedad TaskObject(Output) , pulsa CTRL + k en tu teclado y crea una variable FormTaskData . Para este ejemplo, nombra la variable TaskPersistData1.
  2. Drag a Create Form Activity into your sequence workflow.

    1. En el campo de propiedad TaskTitle , pulsa CTRL + k en tu teclado y crea una variable String . Nómbralo TaskTitle2. En el panel Variables , establece el valor Predeterminado como "Task - " + "Approver 2".
    2. En la propiedad FormData(Collection) , crea un argumento de Tipo String y Dirección In. Nombra el argumento Approver y establece el Valor como "Approver2".
    3. En el campo de propiedad TaskObject(Output) , pulsa CTRL + k en tu teclado y crea una variable FormTaskData . Para este ejemplo, nombra la variable TaskPersistData2.
  3. Drag a Create Form Activity into your sequence workflow.

    1. En el campo de propiedad TaskTitle , pulsa CTRL + k en tu teclado y crea una variable String . Nómbralo TaskTitle3. En el panel Variables , establece el valor Predeterminado como "Task - " + "Approver 3".
    2. En la propiedad FormData(Collection) , crea un argumento de Tipo String y Dirección In. Nombra el argumento Approver y establece el Valor como "Approver3".
    3. En el campo de propiedad TaskObject(Output) , pulsa CTRL + k en tu teclado y crea una variable FormTaskData . Para este ejemplo, nombra la variable TaskPersistData3.
  4. Drag a Parallel activity into your workflow.

    1. En el campo de propiedad Condición , pulsa CTRL + k en tu teclado y crea una variable Int32 . Para este ejemplo, nombra la variable CompleteTasksCount y establece el valor Predeterminado en 0.
    2. 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.

    docs image

  5. Drag a Sequence activity into the body of the Parallel activity. Rename the activity as Sequence Task1.

  6. In the Sequence Task1 activity, drag a Wait For Form Task and Resume activity. Rename it as Wait for Form Task and Resume(Task1).

    1. 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 TaskPersistData1 .
    2. En el campo de propiedad TaskAction , pulsa CTRL + k y crea una variable String . Nómbralo TaskAction1.
    3. En el campo de propiedad TaskObject(Output) , pulsa CTRL+ k en tu teclado y crea una variable FormTaskData . Nómbralo TaskData1.

    docs image

  7. Drag a Write Line activity into the Action body of the Sequence Task1 activity. 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 the TaskAction1 variable.

  8. Arrastra una actividad Asignar en la actividad Wait for Form Task and Resume(Task1) . Pasa el CompleteTaskCount en el campo Para y la expresión CompleteTaskCount + 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 variable CompleteTaskCount .

    docs image

  9. Drag a Sequence activity into the body of the Parallel activity. Rename the activity as Sequence Task2.

  10. En la actividad Sequence Task2 , arrastra y suelta una actividad Esperar tarea de formulario y reanudar . Renómbralo como Wait for Form Task and Resume(Task2)

    1. 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.
    2. En el campo de la propiedad TaskAction , pulsa CTRL + ky crea una variable String. Nómbralo TaskAction2
    3. En el campo de propiedad TaskObject(Output) , pulsa CTRL+ k en tu teclado y crea una variable FormTaskData . Nómbralo TaskData2.
  11. Drag a Write Line activity into the body of the Sequence 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 the TaskAction2 variable.

  12. Arrastra una actividad Asignar en la actividad Wait for Form Task and Resume(Task2) . Pasa el CompleteTaskCounten el campo Para y la expresión CompleteTaskCount + 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 .

  13. Drag a Sequence activity into the body of the Parallel activity. Rename the activity as Sequence Task3.

  14. In the Sequence Task3 activity, drag and drop a Wait For Form Task and Resume activity. Rename it as Wait for Form Task and Resume(Task3).

    1. 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 TaskPersistData3 .
    2. En el campo de propiedad TaskAction , pulsa CTRL + k y crea una variable String . Nómbralo TaskAction3.
    3. En el campo de propiedad TaskObject(Output) , pulsa CTRL+ k en tu teclado y crea una variable FormTaskData . Nómbralo TaskData3.
  15. Drag a Write Line activity into the Action body of the Sequence Task3 activity. 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 the TaskAction3 variable.

  16. Arrastra una actividad Asignar en la actividad Wait for Form Task and Resume(Task3) . Pasa el CompleteTaskCounten el campo Para y la expresión CompleteTaskCount + 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 .

¿Te ha resultado útil esta página?

Conectar

¿Necesita ayuda? Soporte

¿Quiere aprender? UiPath Academy

¿Tiene alguna pregunta? Foro de UiPath

Manténgase actualizado