- Visão geral
- Texto Explicativo
- Complex Scenarios
- Credenciais
- Data Service
- Sobre o pacote de atividades Data Service
- Compatibilidade do projeto
- Create Entity Record (New)
- Update Entity Record (New)
- Delete Entity Record (New)
- Get Entity Record by Id (New)
- Query Entity Records (New)
- Upload File to Record Field (New)
- Download File from Record Field (New)
- Delete File from Record Field (New)
- Create Multiple Entity Records (New)
- Update Multiple Entity Records (New)
- Delete Multiple Entity Records (New)
- Criar Gravação de Entidade
- Excluir Registro de Entidade
- Obter Registro de Entidade Por Id
- Consultar Registros de Entidade
- Atualizar Registro de Entidade
- Carregar Arquivo no Campo de Registro
- Baixar arquivo do Campo de Registro
- Excluir Arquivo do Campo de Registro
- Criar Vários Registros de Entidade
- Atualizar Vários Registros de Entidade
- Excluir Vários Registros de Entidade
- Formulário
- Notas de versão
- Compatibilidade do projeto
- Formulários em tempo real
- Atualização de dados do formulário
- Execução de formulários usando JavaScript
- Personalização de formulários usando CSS
- Componentes condicionais
- Adição de vários componentes na mesma linha em Colunas
- Como usar o componente Data Table
- Get File/Folder Path
- Leitura de valores de célula de um componente de Grade de Dados
- Exibição de arquivos PDF
- Exibição de imagens em formulários
- Rolagem através de grades de dados
- Uso de ferramentas de desenvolvimento com formulários
- Calcular valores do componente do formulário
- Como gerenciar datas em formulários
- Como abrir hiperlinks dentro de formulários
- Exibição de uma guia padrão em formulários
- Exibição do rótulo completo de um componente
- Como pesquisar strings longas em listas suspensas
- Sobre a experiência pré-23.4 do Form
- Compatibilidade do Projeto
- Formulários em tempo real
- Caixas de seleção dinâmicas
- Menus suspensos condicionais
- Exibindo uma guia padrão
- Exibição de imagens
- Exibição de arquivos PDF
- Exibição do rótulo completo
- Elementos HTML dinâmicos
- Gerenciamento de datas
- Como pesquisar strings longas em menus suspensos
- Personalização de formulários usando arquivos CSS locais
- Execução do bloco Fazer durante alteração de caixa de seleção
- Personalização da largura de colunas
- Atualização de dados do formulário
- Redefinição de dados da coleção
- Lógica Avançada
- Execução do bloco Fazer durante alteração de opção em menu suspenso
- Leitura de valores de célula de um componente de Grade de Dados
- Componentes condicionais
- Rolagem através de componentes de Grade de Dados
- Como usar o componente de Grade
- Ferramentas de Desenvolvedor
- Valor Calculado
- Menus suspensos dinâmicos
- Como alternar abas com um clique de botão
- Como abrir hiperlinks dentro de formulários
- FTP
- IPC
- Persistence
- Notas de versão
- Compatibilidade do projeto
- Sobre o pacote de atividades Persistence
- Bulk Form Designer
- Start Job And Get Reference
- Wait for Job and Resume
- Add Queue Item And Get Reference
- Wait For Queue Item And Resume
- Wait for Form Task and Resume
- Resume After Delay
- Assign Tasks
- Create External Task
- Wait For External Task and Resume
- Complete Task
- Forward Task
- Get Form Tasks
- Get Task Data
- Obter tarefas do aplicativo
- Add Task Comment
- Update Task Labels
- Criar tarefa do aplicativo
- Wait For App Task and Resume
- Configure task timer
- Trabalhando com tarefas de aplicativo
- Criando sua primeira ação de formulário
- Controles avançados para menus suspensos
- Incorporando objetos em ações de formulário
- Permitindo que usuários baixem arquivos para o bucket de armazenamento
- Adicionando lógica avançada usando Java Script
- Configurando uma guia padrão
- Removendo o botão Excluir de Editar grade usando CSS personalizado
- Personalização de modelos de Editar grade
- Uso de botões para disparar uma lógica personalizada
- Usando um layout de formulário externo
- Expansão dinâmica de componentes do formulário no runtime
- Alinhar o conteúdo de um componente de formulário da esquerda para a direita usando atributos JSON
- Amostras de Fluxos de Trabalho
- Pipelines do Automation Ops
- Notas de versão
- Sobre o pacote de atividades Pipelines
- Compatibilidade do projeto
- Ativar implantação da solução
- Analisar
- Criar
- Clonar
- Delete Solution Package
- Deploy Solution
- Download Package
- Download Solution Package
- Baixar configuração do pacote da solução
- Publicar pacote
- Publicar pacote da solução
- Re-sync Solution Project
- Faça testes
- Estágio
- Desinstalar solução
- Processo de atualização
- Carregar pacote da solução
- System
- Notas de versão
- Sobre o pacote de atividades System
- Compatibilidade do projeto
- Codificação de caracteres suportada
- Assistente do Construtor RegEx
- Adicionar Coluna de Dados
- Add Data Row
- Add Log Fields
- Add or Subtract from Date
- Add Transaction Item
- Add Queue Item
- Append Item to Collection
- Append Item to List
- Anexar Linha
- Beep
- Break / Exit Loop
- Browse for file
- Pesquisar pasta
- Build Collection
- Criar Tabela de Dados
- Bulk Add Queue Items
- Alterar formatação para texto
- Change Type
- Check False
- Check True
- Clear Data Table
- Collection to DataTable
- Comentar
- Compress/Zip Files
- Copy File
- Copy Folder
- Combinar texto
- Comentar / Atividades desabilitadas
- Continue / Skip Current
- Create File
- Create Folder
- Create List
- Entrada Personalizada
- Excluir
- Delete File
- Delete Folder
- Delete Storage File
- Delete Queue Items
- Desabilitar Gatilho Local
- Do While
- Baixar arquivo da URL
- Download Storage File
- Habilitar Gatilho Local
- Evaluate Business Rule
- Exists In Collection
- Extract/Unzip Files
- Extrair data e hora de um texto
- Extrair Texto
- File Change Trigger
- File Exists
- Filter Collection
- Filtrar Tabela de Dados
- Folder Exists
- For Each
- For Each File In Folder
- File Change Trigger v3
- Localizar e substituir
- Encontrar Padrões Correspondentes
- For Each Folder in Folder
- For Each Row in Data Table
- Formatar data como texto
- Format Value
- Generate Data Table From Text
- Get Asset
- Get Credential / Get Orchestrator Credential
- Get Current Job Info
- Get Environment Folder
- Get Environment Variable
- Get File Info
- Get Folder Info
- Get Jobs
- Get Processes
- Get Row Item
- Obter item de transação
- Get Username/Password
- Get Queue Items
- Gatilho de variável global alterada
- Input Dialog
- Invoke Code
- Invoke Com Method
- Invoke Power Shell
- Invocar Processo
- Invoke VBScript
- Invocar Arquivo de Fluxo de Trabalho
- É Correspondência de Texto
- Join Data Tables
- Kill Process
- Launch Workflow Interactive
- List Storage Files
- Mensagem do Log
- Lookup Data Table
- Manual Trigger
- Merge Collections
- Merge Data Table
- Caixa de Mensagem
- Modify Date
- Modify Text
- Move File
- Move Folder
- Multiple Assign
- Novo item adicionado à fila
- Notify Global Variable Changed
- Orchestrator HTTP Request
- Output Data Table
- Path Exists
- Postpone Transaction Item
- Process End Trigger
- Process Start Trigger
- Raise Alert
- Read List Item
- Ler Arquivo de Texto
- Read Storage Text
- Remove Data Column
- Remove Data Row
- Remove Duplicate Rows
- Remove From Collection
- Remove Log Fields
- Replace Matching Patterns
- Repeat Number Of Times
- Repetir gatilho
- Rename File
- Rename Folder
- Report Status
- Reset Timer
- Resume Timer
- Tentar Escopo Novamente
- Retornar
- Executar Gatilhos Locais
- Run Parallel Process
- Set Asset
- Set Credential
- Set Environment Variable
- Set Transaction Progress
- Set Transaction Status
- Should Stop
- Dividir texto
- Sort Data Table
- Start Timer
- Iniciar Trabalho
- Parar Tarefa
- Parar Gatilhos Locais
- Stop Timer
- Text to Left/Right
- Colocar todo o texto em Maiúscula/Minúscula
- Gatilho de Tempo
- Trigger Scope
- Timeout Scope
- Update Row Item
- Update List Item
- Upload Storage File
- Wait for Download
- Wait Queue Item
- While
- Workflow Placeholder
- Write Storage Text
- Gravar Arquivo de Texto
- Add Data Row
- AddQueueItem
- Add Transaction Item
- Anexar Linha
- BulkAddQueueItems
- Clear Data Table
- Compactar Arquivos ZIP
- Copy File
- Create File
- Create Folder
- Delete File or Folder
- Delete Queue Items
- Delete Storage File
- Download Storage File
- ExtractUnzip Files
- Filtrar Tabela de Dados
- Get Asset
- Get Credential
- GetJobs
- Get Queue Item
- GetQueueItems
- Obter recurso para caminho local
- Get Row Item
- Obter item de transação
- Invocar Processo
- Join Data Tables
- List Storage Files
- Lookup Data Table
- Merge Data Table
- Move File
- Orchestrator HTTP Request
- OutputDataTable
- Path Exists
- Postpone Transaction Item
- Read Storage Text
- Ler Arquivo de Texto
- Remove Data Column
- Remove Duplicate Rows
- Substituir
- Set Asset
- Set Credential
- SetTransactionProgress
- Set Transaction Status
- Sort Data Table
- Iniciar Trabalho
- Parar Tarefa
- Update Row Item
- Upload Storage File
- Wait Queue Item
- Write Storage Text
- Gravar Arquivo de Texto
- Teste
- Notas de versão
- Sobre o pacote de atividades Testing
- Compatibilidade do projeto
- O nome do caso de teste não é exclusivo no projeto
- Convenção de nomenclatura do caso de teste quebrada
- Verificações ausentes dentro do caso de teste
- Fluxos de trabalho não testados
- Test Manager conectado
- Simulação não usada
- Caso de teste sem anotações
- Caso de teste/fluxo de trabalho muito complexo
- O caso de teste possui muitas ramificações
- Configurações do projeto
- Add Test Data Queue Item
- Address
- Attach Document
- Bulk Add Test Data Queue Items
- Criar Regra de Comparação
- Delete Test Data Queue Items
- Get Test Data Queue Item
- Get Test Data Queue Items
- Given Name
- Sobrenome
- Random Date
- Random Number
- Random String
- Random Value
- Verify Control Attribute
- Verificar a equivalência dos documentos
- Verify Expression
- Verify Expression with Operator
- Verify Range
- Verificar equivalência do 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
Atividades do fluxo de trabalho
Amostras de Fluxos de Trabalho
O painel Snippets no UiPath Studio armazena arquivos XAML adicionados pelos usuários. Os arquivos XAML de exemplo são armazenados em pastas. A pasta que armazena arquivos XAML usados em fluxos de trabalho de execução longa é chamada Orchestration.
Os arquivos XAML de amostra são somente leitura. Você precisa criar um Processo separado no Studio, onde replica as atividades e configurações encontradas nos snippets.
Esses fragmentos representam fluxos de trabalho amostrais criados com as atividades disponíveis no pacote de atividades Persistence .
Pré-requisitos
- Para desenvolver fluxos de trabalho de execução longa, com base nos fluxos de trabalho no painel Snippets , você precisa ter o pacote UiPath.Persistence.Activities instalado.
- Recomendamos usar o modelo de processo de orquestração para começar a criar fluxos de trabalho de longa duração.
Este snippet cria um Item de Fila e suspende o fluxo de trabalho até que o processamento desse Item de Fila seja concluído.
-
Arraste uma atividade Adicionar item de fila e obter referência para seu fluxo de trabalho.
Esta atividade adiciona um item de fila a um contêiner de fila localizado no Orchestrator, usando os parâmetros de Entrada/Saída. Em seguida, ele recupera os dados correspondentes sobre o Objeto do Item da Fila recém-criado em uma variável do tipoQueueItemData
para suspender o fluxo de trabalho, até que o Item da Fila seja adicionado à Fila. Consulte a página Adicionar item de fila e obter referência para obter mais informações sobre a atividade.Quando os itens da fila forem adicionados à fila do orquestrador, todas as variáveis do tipoQueueItemData
serão preenchidas com os dados recuperados do orquestrador.-
Na coleção Informações do Item , crie um parâmetro com a Direção de Entrada/Saída e defina o valor como uma variável que você deseja passar como Item de Fila. Para este exemplo, passe uma variável String chamada
Test
. - No campo de propriedade QueueItemObject(Output) , pressione
CTRL + k
em seu teclado e crie uma variável do tipoQueueItemData
, para armazenar os dados sobre o item da fila, após sua criação no Orchestrator. Para este exemplo, crie uma variávelQueueItemData
denominadaQueueItemObject
.
-
- Arraste todas as atividades que deseja executar antes que o fluxo de trabalho seja suspenso para recuperar dados sobre o item da fila. Neste snippet, a seção Quaisquer etapas a serem executadas antes de suspender o fluxo de trabalho é comentada, agindo como um contêiner dentro do qual você pode colocar atividades que não serão executadas em tempo de execução.
-
Arraste uma atividade Aguardar Item da Fila e Continuar em seu fluxo de trabalho.
Esta atividade aguarda um item da fila a ser adicionado e processado no Orchestrator, para recuperar dados sobre ele e mapeá-lo de volta para o fluxo de trabalho, dentro das variáveis do tipoQueueItemData
. Consulte a página Esperar pelo item da fila e retomar para obter mais informações sobre a atividade.-
No campo de propriedade Queue Item Object (Input) , passe a variável
QueueItemObject
para fazer referência ao item de fila exato que você deseja adicionar ao Orchestrator. -
No campo de propriedade Queue Item Object (Output) , pressione
CTRL + k
no teclado e crie uma variável do tipoQueueItemData
para armazenar os dados sobre o item da fila depois que ele foi processado e recuperado.
-
- Adicione uma atividade Write Line em seu fluxo de trabalho para imprimir o item de fila que você adicionou no Orchestrator. Para este exemplo, no campo Propriedade do texto , passe a variável
Test
.
Esse snippet cria uma ação externa e suspende o fluxo de trabalho até que o usuário conclua a ação.
-
Arraste uma atividade Criar tarefa externa para seu fluxo de trabalho.
Esta atividade cria uma Ação Externa na Action Center com o Título da Tarefa, Prioridade da Tarefa, Catálogo de Tarefas (agora chamado de Catálogo de Ações) e Dados da Tarefa. Consulte a página Criar tarefa externa para obter mais informações sobre a atividade.
-
Preencha a janela de propriedade TaskDataCollection com argumentos que transmitem informações In, Outou In/Out. Para este exemplo, crie três argumentos, cada um deles com uma direçãodiferente:
In
,Out
eIn/Out
. Defina o Tipo comoString
. Para o campo Valor , pressioneCTRL + K
no teclado e crie três variáveis, que fornecem informações (para argumentos de tipoIn
) ou extraem informações (para argumentos de tipoOut
).Para este exemplo, crie três variáveis do tipo String :
- InVariable - o Valor do argumento do tipo
In
. - OutVariable - o Valor do argumento do tipo
Out
. -
InOutVariable - o valor do argumento do tipo
In/Out
.
CTRL + k
em seu teclado e crie uma variável de tipoExternalTaskData
. Para este exemplo, nomeie a variávelTaskPersistData
. Este objetoExternalTaskData
é usado para passar dados do Orchestrator, a fim de permitir que o Robot saiba que, até que uma tarefa de Ação específica seja concluída, o fluxo de trabalho é suspenso.
- InVariable - o Valor do argumento do tipo
- Adicione todas as atividades que deseja executar antes que o fluxo de trabalho seja suspenso para recuperar dados sobre o objeto
ExternalTaskData
.- Para este exemplo, arraste e solte uma atividade Sequence em seu fluxo de trabalho e preencha com três atividades Write Line . Cada atividade Write Line destina-se a produzir os dados das três variáveis passadas na Tarefa Externa. Passe os seguintes valores nos campos de propriedade Texto :
InVariable
,OutVariable
,InOutVariable
.
- Para este exemplo, arraste e solte uma atividade Sequence em seu fluxo de trabalho e preencha com três atividades Write Line . Cada atividade Write Line destina-se a produzir os dados das três variáveis passadas na Tarefa Externa. Passe os seguintes valores nos campos de propriedade Texto :
-
Arraste uma atividade Aguardar Tarefa Externa e Continuar em seu fluxo de trabalho.
Essa atividade suspende o fluxo de trabalho até que uma Tarefa Externa seja concluída e, em seguida, a mapeia de volta para o fluxo de trabalho, dentro das variáveis de tipoExternalTaskData
. Consulte a página Esperar pela tarefa externa e retomar para saber mais sobre essa atividade.-
No campo de propriedade Task Object (Input) , passe a variável
ExternalTaskData
, para referenciar a Tarefa Externa exata que você criou. Para este exemplo, passe a variávelTaskPersistData
. -
No campo de propriedade Ação da Tarefa , pressione
CTRL + k
em seu teclado e crie uma variável do tipo String e nomeie-a comoTaskAction
. Isso armazena a ação executada pelo usuário para concluir a tarefa. -
No campo de propriedade Objeto da Tarefa (Saída), pressione
CTRL + k
em seu teclado e crie uma variável do tipo ExternalTaskData e nomeie-aTaskData
. Essa variável armazena o objeto da Tarefa atualizado recuperado do Orchestrator após a conclusão da Ação externa.
-
-
Adicione as atividades que deseja executar após a retomada do fluxo de trabalho. Para este exemplo, imprima no painel Output todos os valores recuperados após a conclusão da External Action, usando quatro atividades Write Line . Passe as seguintes variáveis nos campos Texto :
TaskAction
,InVariable
,OutVariable
,InOutVariable
.
Esse fragmento cria uma Actions de Formulário e suspende o fluxo de trabalho até que o usuário conclua as Actions.
-
Arraste uma atividade Criar tarefa de formulário para o seu fluxo de trabalho.
Esta atividade cria Actions de Actions no Action Center com o Título da tarefa, Prioridade da tarefa, Catálogo de tarefas (agora chamado de Catálogo deActions ) e Dados da tarefa. Consulte a página Criar tarefa de formulário para obter mais informações sobre a atividade.
-
Preencha a janela de propriedade Coleta de Dados da Tarefa com argumentos que transmitem informações In, Outou In/Out. Para este exemplo, crie três argumentos, cada um deles com uma direçãodiferente:
In
,Out
eIn/Out
. Defina o Tipo comoString
. Para o campo Valor , pressioneCTRL + K
em seu teclado e crie três variáveis que fornecem informações (para argumentos de tipoIn
) ou extraem informações (para argumentos de tipoOut
).Para este exemplo, crie três variáveis do tipo String :
- InVariable - o Valor do argumento do tipo
In
. - OutVariable - o Valor do argumento do tipo
Out
. -
InOutVariable - o valor do argumento do tipo
In/Out
.
No campo de propriedade Task Object (Output) , pressioneCTRL + k
em seu teclado e crie uma variável de tipoFormTaskData
. Para este exemplo, nomeie a variávelTaskPersistData
. Este objetoFormTaskData
é usado para passar dados do Orchestrator, a fim de permitir que o Robot saiba que, até que uma tarefa de Ação específica seja concluída, o fluxo de trabalho é suspenso.
- InVariable - o Valor do argumento do tipo
- Adicione todas as atividades que deseja executar antes que o fluxo de trabalho seja suspenso para recuperar dados sobre o objeto
FormTaskData
. Para este exemplo, arraste e solte uma atividade Sequence em seu fluxo de trabalho e preencha-a com três atividades Write Line . Cada atividade Write Line destina-se a produzir os dados das três variáveis passadas na Ação Externa. Passe os seguintes valores nos campos da propriedade Texto :InVariable
,OutVariable
,InOutVariable
. -
Arraste uma atividade Aguardar Tarefa Externa e Continuar em seu fluxo de trabalho.
Esta atividade suspende o fluxo de trabalho até que uma ação de formulário seja concluída e, em seguida, mapeia-a de volta ao fluxo de trabalho, dentro das variáveis de tipoFormTaskData
.-
No campo de propriedade Objeto de Tarefa (Entrada) , passe a variável
FormTaskData
, para referenciar a Tarefa de Formulário exata que você criou na Action Center. Para este exemplo, passe a variávelTaskPersistData
. -
No campo de propriedade Ação da Tarefa , pressione
CTRL + k
em seu teclado e crie uma variável do tipo String e nomeie-a comoTaskAction
. Isso armazena a ação executada pelo usuário para concluir a tarefa. -
No campo de propriedade Task Object (Output) , pressione
CTRL + k
no teclado e crie uma variável do tipo FormTaskData e nomeie-aTaskData
. Essa variável armazena o objeto Task atualizado recuperado do Orchestrator após a conclusão da tarefa.
-
- Arraste todas as atividades que deseja executar depois que o fluxo de trabalho for retomado. Para este exemplo, passe no painel Output todos os valores recuperados após a conclusão da External Action, usando quatro atividades Write Line . Passe as seguintes variáveis nos campos Texto :
TaskAction
,InVariable
,OutVariable
,InOutVariable
.
Este snippet cria duas ações externas, atribui-as a um usuário e exibe uma lista das atribuições de ação com falha.
-
Arraste duas atividades Criar tarefa externa para seu fluxo de trabalho.
-
Para a primeira atividade, dê um título à ação e defina sua prioridade. No campo de propriedade TaskObject(Output) , pressione
CTRL + k
em seu teclado e crie uma variável de tipoExternalTaskData
. Para este exemplo, nomeie-oTask1PersistData
. -
Para a segunda atividade, dê um título à ação e defina sua prioridade. No campo de propriedade TaskObject(Output) , pressione
CTRL + k
em seu teclado e crie uma variável de tipoExternalTaskData
. Para este exemplo, nomeie-oTask2PersistData
.
-
-
Arraste duas atividades Adicionar à coleção para o seu fluxo de trabalho.
Observação:A atividade Adicionar à coleção é uma atividade clássica.
Para disponibilizar a atividade Adicionar à coleção em seu projeto:
- Tenha o pacote System.Activities 22.4.1 ou inferior instalado.
- Acesse o painel Atividades .
- Clique nas opções de exibição ícone.
- Clique em Mostrar clássico.
A atividade pode ser encontrada em Atividades padrão > Programação > Coleção.
- Nos campos de propriedade da coleção , pressione
CTRL + k
em seu teclado e crie uma variável de tipoList<TaskUserAssignment>
e nomeie-a comoTaskAssignementsInput
. Vá para o painel Variáveis e inicialize a variável no campo Padrão comonew List(Of TaskUserAssignment
. - No campo Propriedade do item , crie uma instância de
TaskUserAssignment
, que tenha os seguintes parâmetros: a variável ExternalTaskData e o endereço de e-mail do usuário ao qual deseja atribuir a tarefa.Para este exemplo, digite o seguinte:
- A expressão
new TaskUserAssignment(Task1PersistData.Id, "emailaddress")
para a primeira atividade Adicionar à coleção -
A expressão
new TaskUserAssignment(Task2PersistData.Id, "emailaddress")
para a segunda atividade Adicionar à coleção .
- A expressão
-
Defina a propriedade TypeArgument como
System.Collections.Generic.List<UiPath.Persistence.Activities.Tasks.TaskUserAssignment>
.
-
Arraste uma atividade Atribuir tarefas para seu fluxo de trabalho.
-
No campo de propriedade TaskUserAssignments (Input) , passe a variável
List<TaskUserAssignment>
. Para este exemplo, passe a variávelTaskAssignmentsInput
. -
No campo de propriedade Tipo de Atribuição de Tarefa , digite a operação de atribuição exata que deseja executar: Atribuir ou Reatribuir. Para este exemplo, digite
Assign
. -
No campo de propriedade FailedTaskAssignments (Saída) , pressione
CTRL + k
em seu teclado e crie uma variável de tipoList<TaskAssignmentResponse>
e nomeie-a comoFailedTaskAssignmentsOutput
.
-
- Arraste uma atividade Write Line para gerar o número de atribuições de tarefa com falha. No campo Propriedade do texto , passe a variável do tipo
List<TaskAssignmentResponse>
, então utilize as propriedades.Count
e.ToString
. Para este exemplo, passe a seguinte expressão:FailedTaskAssignemntsOutput.Count.ToString
.
Inicia um processo autônomo e suspende o fluxo de trabalho até que um determinado trabalho seja concluído.
-
Arraste uma atividade Iniciar trabalho e obter referência para seu fluxo de trabalho.
Esta atividade inicia um Trabalho no Orchestrator com base nos argumentos inseridos e, em seguida, recupera o Objeto do Trabalho correspondente. Consulte a página Iniciar trabalho e obter referência para obter mais informações sobre a atividade.
- No campo Propriedade ProcessName , passe o Display name do Processo que deseja utilizar para o Job. Para este exemplo, armazene o nome dentro de uma variável. Pressione
CTRL +k
em seu teclado e crie uma variável de tipoString
e nomeie-aProcessName
. No campo Valor , passe o Nome de exibição do Processo, por exemplo,TestProcess_test
.Nota: O nome de exibição precisa ser escrito no seguinte formato:packageName _environment
.
- Na propriedade Argumentos do trabalho (Coleção), crie os argumentos que deseja usar ao chamar o trabalho no Orchestrator. Essa propriedade modifica os tipos de argumentos
Out
eIn/Out
com base na entrada recebida do Trabalho no Orchestrator e, em seguida, os mapeia de volta ao fluxo de trabalho. Para este exemplo, crie um argumento do TipoString
denominadaTest
, de DireçãoIn/Out
. No campo Valor, pressioneCTRL + k
no teclado e crie uma variável do tipoString
. Nomeie a variávelTest
.
- No campo de propriedade Objeto do Trabalho (Saída), pressione
CTRL + k
em seu teclado e crie uma variável de tipoJobData
denominadaJobPersistenceData
. Essa variável armazena o Objeto de dados criado do Trabalho quando o Trabalho no Orchestrator é chamado, para usá-lo para a atividade Wait for Job and Resume.
- No campo Propriedade ProcessName , passe o Display name do Processo que deseja utilizar para o Job. Para este exemplo, armazene o nome dentro de uma variável. Pressione
- Adicione todas as atividades que deseja executar antes que o fluxo de trabalho seja suspenso para recuperar dados sobre o objeto
JobData
. -
Arraste uma atividade Aguardar Trabalho e Continuar em seu fluxo de trabalho.
Esta atividade suspende o fluxo de trabalho até que um trabalho específico no Orchestrator seja concluído. Após a conclusão do trabalho, o fluxo de trabalho é retomado.
-
No campo de propriedade Job Object (Input) , passe a variável do tipo
JobData
, criada para a atividade Start Job And Get Reference . Para este exemplo, passe a variávelJobPersistenceData
. Isso aponta o robô para o trabalho exato que precisa ser concluído até que o fluxo de trabalho seja retomado. -
No campo de propriedade Job Object (Output) , pressione
CTRL + k
no teclado e crie uma variável do tipoJobData
. Para este exemplo, nomeie-oJobDataObject
.
-
- Arraste uma atividade Write Line para imprimir o argumento que foi mapeado de volta para o fluxo de trabalho. No campo Propriedade Texto , passe a variável utilizada como Valor para o argumento criado em Argumentos do Trabalho (Coleção). Para este exemplo, passe a variável
Test
.
Este snippet suspende o fluxo de trabalho fornecido e o retoma após uma hora.
- Adicione todas as atividades que deseja executar antes que o fluxo de trabalho seja suspenso.
-
Arraste uma atividade Resume After Delay para o seu fluxo de trabalho. Esta atividade suspende o fluxo de trabalho fornecido e o retoma em uma data e hora especificadas.
Consulte a página Retomar após o Delay para saber mais sobre essa atividade.
-
2.1. No painel Variáveis , crie uma variável do tipo
System.TimeSpan
. Para este exemplo, nomeie a variávelOneHour
. Defina o valor Padrão da variávelTimeSpan
comoNew TimeSpan(1,0,0)
. -
2.2. No campo de propriedade Resume Time da atividade, passe a expressão
DateTime.Now
e a variávelTimeSpan
. Para este exemplo, passe a seguinte expressão:DateTime.Now + OneHour
.
-
- Adicione as atividades que deseja executar após a retomada do fluxo de trabalho.
Este snippet suspende o fluxo de trabalho fornecido e o retoma após cinco minutos.
- Arraste todas as atividades que deseja executar antes que o fluxo de trabalho seja suspenso.
-
Arraste uma atividade Resume After Delay para o seu fluxo de trabalho. Esta atividade suspende o fluxo de trabalho fornecido e o retoma em uma data e hora especificadas.
-
No painel Variáveis , crie uma variável do tipo
System.TimeSpan
. Para este exemplo, nomeie a variávelFiveMinute
. Defina o valor Padrão da variávelTimeSpan
comoNew TimeSpan(0,5,0)
. -
No campo de propriedade Resume Time da atividade, passe a expressão
DateTime.Now
e a variávelTimeSpan
. Para este exemplo, passe a seguinte expressão:DateTime.Now + FiveMinute
.
-
- Arraste todas as atividades que deseja executar depois que o fluxo de trabalho for retomado.
Este snippet suspende o fluxo de trabalho fornecido e o retoma após noventa segundos.
- Adicione todas as atividades que deseja executar antes que o fluxo de trabalho seja suspenso.
-
Arraste uma atividade Resume After Delay para o seu fluxo de trabalho. Esta atividade suspende o fluxo de trabalho fornecido e o retoma em uma data e hora especificadas.
-
No painel Variáveis , crie uma variável do tipo
System.TimeSpan
. Para este exemplo, nomeie a variávelNinetySeconds
. Defina o valor Padrão da variávelTimeSpan
comoNew TimeSpan(0,0,90)
. -
No campo de propriedade Resume Time da atividade, passe a expressão
DateTime.Now
e a variávelTimeSpan
. Para este exemplo, passe a seguinte expressão:DateTime.Now + NinetySeconds
.
-
- Arraste todas as atividades que deseja executar depois que o fluxo de trabalho for retomado.
Este snippet cria várias ações de formulário em um loop, com base no número de faturas em uma tabela de dados e suspende o fluxo de trabalho até que todas as ações sejam concluídas.
-
Arraste uma atividade BuildDataTable para seu fluxo de trabalho.
-
No campo Propriedade de saída , pressione
CTRL + k
no teclado e crie uma variável do tipoDataTable
para armazenar a tabela de dados que você está construindo. Para este exemplo, nomeie a variávelDataTable
comoHighValueInvoices
. -
Clique . A janela Construir Tabela de Dados é aberta.
-
Renomeie
Column1
comoInvoiceNumber
eColumn2
comoInvoiceAmount
. -
Adicione dados dentro das linhas da tabela e pressione OK.
-
-
Arraste uma atividade Atribuir para seu fluxo de trabalho. Esta atividade atribui um nome para a Tabela de Dados, armazenada em uma variável
String
.-
No campo Propriedade To , passe a variável
DataTable
. Para este exemplo, passe a variávelHighValueInvoices
. -
No campo Value property, pressione
CTRL + k
no teclado e crie uma variável do tipoString
. Para este exemplo, nomeie-oDataTableName
. Defina o valor padrão da variávelDataTableName
como ``"faturas"`.
-
- Arraste uma atividade para cada em seu fluxo de trabalho. No campo propriedade Lista de itens , passe uma expressão com o seguinte formato:
DataTableVariable.Rows
. Para este exemplo, passeHighValueInvoices.Rows
. Isso itera através de cada linha na tabela de dados. -
Arraste uma atividade Criar tarefa de formulário para dentro do Corpo da atividade Para cada .
-
No campo de propriedade Título da Tarefa , insira o valor do Número da Fatura que a atividade Para Cada recupera e converta-o em String. Para este exemplo, insira a seguinte expressão:
item("InvoiceNumber").ToString
, ondeInvoiceNumber
é o nome da coluna que contém o respectivo número de cada fatura. -
Nos Dados do Formulário (Cobrança), crie um argumento que passe cada valor da fatura dentro da Ação do Formulário. Crie um argumento Tipo
String
e defina a Direção comoIn
. No campo Valor , insira o valor de cada fatura e converta-o em String. Para este exemplo, insira a seguinte expressão:item("InvoiceAmount").ToString
, ondeInvoiceAmount
é o nome da coluna que contém o respectivo valor de cada fatura. -
No campo de propriedade TaskObject(Output) , pressione
CTRL + k
em seu teclado e crie uma variável de tipoFormTaskData
. Para este exemplo, nomeie a variável comoTaskPersistData
.
-
-
Arraste uma atividade Add To Collection para dentro do corpo da atividade For Each .
-
No campo Propriedade da coleção , pressione
CTRL + k
no teclado e crie uma variávelList<FormTaskData>
e nomeie-a comoTaskList
. Vá para o painel Variáveis e inicialize a variável no campo Padrão comoNew List(Of UiPath.Persistence.Activities.FormTask.FormTaskData
. -
No campo Propriedade do Item passe a variável
FormTaskData
, criada para armazenar os dados das Ações do Formulário criadas. Para este exemplo, passe a variávelTaskPersistData
. -
Para a propriedade TypeArgument , escolha
UiPath.Persistence.Activities.FormTask.FormTaskData
.
-
-
Arraste uma atividade paralela para cada em seu fluxo de trabalho.
-
Para a propriedade TypeArgument , escolha
UiPath.Persistence.Activities.FormTask.FormTaskData
. -
No campo Propriedade Valores , passe a variável
List<FormTaskData>
. Para este exemplo, passe a variávelTaskList
.
-
-
Arraste uma tarefa Aguardar formulário e retomar a atividade para o corpo da atividade Paralelo para cada .
-
No campo de propriedade TaskObject(Input) , insira o objeto
item
, referenciado na atividade Parallel For Each . Nesse caso, o objetoitem
representa as ações de formulário armazenadas na variávelTaskList
. -
No campo de propriedade TaskAction , pressione
CTRL + k
no teclado e crie uma variávelString
. Para este exemplo, nomeie-oTaskAction
. -
No campo de propriedade TaskObject(Output) , pressione
CTRL + k
no teclado e crie uma variávelFormTaskData
. Para este exemplo, nomeie-oTaskData
.
-
- Arraste uma atividade Write Line para o seu fluxo de trabalho. Esta atividade exibe no painel Saída a ação executada pelo usuário para concluir a Ação de formulário. No valor Texto , insira a variável
TaskAction
.
Esse fragmento cria várias Actions de formulário em sequência e suspende o fluxo de trabalho até que qualquer uma das Actions de formulário seja concluída.
-
Arraste uma atividade Criar tarefa de formulário para seu fluxo de trabalho de sequência.
-
No campo de propriedade TaskTitle , pressione
CTRL + k
no teclado e crie uma variávelString
. Nomeie-oTaskTitle1
. No painel Variáveis , defina o valor Padrão como"Task - " + "Approver 1"
. -
Na propriedade FormData(Collection) , crie um argumento de Tipo
String
e DireçãoIn
. Nomeie o argumentoApprover
e defina o Valor como"Approver1"
. -
No campo de propriedade TaskObject(Output) , pressione
CTRL + k
no teclado e crie uma variávelFormTaskData
. Para este exemplo, nomeie a variávelTaskPersistData1
.
-
-
Arraste uma segunda atividade Criar tarefa de formulário para o fluxo de trabalho.
-
No campo de propriedade TaskTitle , pressione
CTRL + k
no teclado e crie uma variávelString
. Nomeie-oTaskTitle2
. No painel Variáveis , defina o valor Padrão como"Task - " + "Approver 2"
. -
Na propriedade FormData(Collection) , crie um argumento de Tipo
String
e DireçãoIn
. Nomeie o argumentoApprover
e defina o Valor como"Approver2"
. -
No campo de propriedade TaskObject(Output) , pressione
CTRL + k
no teclado e crie uma variávelFormTaskData
. Para este exemplo, nomeie a variávelTaskPersistData2
.
-
-
Arraste uma terceira atividade Criar tarefa de formulário para o seu fluxo de trabalho.
-
No campo de propriedade TaskTitle , pressione
CTRL + k
no teclado e crie uma variávelString
. Nomeie-oTaskTitle3
. No painel Variáveis , defina o valor Padrão como"Task - " + "Approver 3"
. -
Na propriedade FormData(Collection) , crie um argumento de Tipo
String
e DireçãoIn
. Nomeie o argumentoApprover
e defina o Valor como"Approver3"
. -
No campo de propriedade TaskObject(Output) , pressione
CTRL + k
no teclado e crie uma variávelFormTaskData
. Para este exemplo, nomeie a variávelTaskPersistData3
.
-
- Arraste uma atividade Pick para o seu fluxo de trabalho.
- Arraste uma atividade Pick Branch para o corpo da atividade Pick . Renomeie a atividade como
Pick Branch (Task1)
. -
Arraste uma atividade Aguardar tarefa de formulário e retomar para o corpo Gatilho da atividade
Pick Branch (Task1)
.-
No campo de propriedade TaskObject (Input) , passe a variável
FormTaskData
criada para armazenar os dados da Ação do Formulário. Para este exemplo, passe a variávelTaskPersistData1
. -
No campo de propriedade TaskAction , pressione
CTRL + k
e crie uma variávelString
. Nomeie-oTaskAction1
. -
No campo de propriedade TaskObject(Output) , pressione
CTRL+ k
no teclado e crie uma variávelFormTaskData
. Nomeie-oTaskData1
.
-
-
Arraste uma atividade Write Line para o corpo Action da atividade
Pick Branch (Task1)
. Esta atividade destina-se a exibir no painel Saída a ação executada pelo usuário para concluir a Ação do formulário. No valor Texto , insira a variávelTaskAction1
. - Arraste uma atividade Pick Branch para o corpo da atividade Pick . Renomeie a atividade como
Pick Branch (Task2)
. -
Arraste uma atividade Aguardar tarefa de formulário e retomar para o corpo Gatilho da atividade
Pick Branch (Task2)
.-
No campo de propriedade TaskObject (Input) , passe a variável
FormTaskData
criada para armazenar os dados da Ação do Formulário. Para este exemplo, passe a variávelTaskPersistData2
. -
No campo de propriedade TaskAction , pressione
CTRL + k
e crie uma variávelString
. Nomeie-oTaskAction2
. -
No campo de propriedade TaskObject(Output) , pressione
CTRL+ k
no teclado e crie uma variávelFormTaskData
. Nomeie-oTaskData2
.
-
- Arraste uma atividade Write Line para o corpo Action da atividade
Pick Branch (Task2)
. Esta atividade exibe no painel Saída a ação executada pelo usuário para concluir a Ação de formulário. No valor Texto , insira a variávelTaskAction2
. - Arraste uma atividade Pick Branch para o corpo da atividade Pick . Renomeie a atividade como
Pick Branch (Task3)
. -
Arraste uma atividade Aguardar tarefa de formulário e retomar para o corpo Gatilho da atividade
Pick Branch (Task3)
.-
No campo de propriedade TaskObject (Input) , passe a variável
FormTaskData
criada para armazenar os dados da Ação do Formulário. Para este exemplo, passe a variávelTaskPersistData3
. -
No campo de propriedade TaskAction , pressione
CTRL + k
e crie uma variávelString
. Nomeie-oTaskAction3
. -
No campo de propriedade TaskObject(Output) , pressione
CTRL+ k
no teclado e crie uma variávelFormTaskData
. Nomeie-oTaskData3
.
-
- Arraste uma atividade Write Line para o corpo Action da atividade
Pick Branch (Task3)
. Esta atividade exibe no painel Saída a ação executada pelo usuário para concluir a Ação de formulário. No valor Texto , insira a variávelTaskAction3
.
Esse fragmento cria várias Actions de formulário com base na entrada de uma Tabela de dados e suspende o fluxo de trabalho até que um determinado conjunto de Actions de formulário seja concluído.
-
Arraste uma atividade Criar Tabela de Dados para o seu fluxo de trabalho.
-
No campo de propriedade DataTable , pressione
CTRL + k
no teclado e crie uma variávelSystem.DataTable
. Para este exemplo, nomeie-oCodeReviews
. -
Clique . A janela Construir Tabela de Dados é aberta.
-
Renomeie
Column1
comoReviewerName
eColumn2
comoReviewerType
. Defina o Tipo da colunaReviewerType
comoString
. -
Adicione dados dentro das linhas da tabela. Para a coluna
ReviewerType
, este exemplo usa dois tipos de revisores: proprietários de código e revisores.
-
- Arraste uma atividade Atribuir para seu fluxo de trabalho. Isso atribui um nome à tabela de dados que você criou. No campo Propriedade To , passe a variável
System.DataTable
e adicione a propriedade.TableName
a ela. No campo Valor , pressioneCTRL + k
no teclado e crie uma variávelString
. Para este exemplo, nomeie-oDataTableName
. -
Arraste uma atividade paralela para cada em seu fluxo de trabalho. Para este exemplo, nomeie-o
Create Tasks for PR Review
.-
No campo Propriedade dos valores , passe a variável
System.DataTable
e adicione a propriedade.AsEnumerable
. Para este exemplo, passe a seguinte expressão:CodeReviews.AsEnumerable
.
-
-
Arraste uma atividade Atribuir no corpo da atividade Parallel For Each .
-
No campo de propriedade Para , pressione
CTRL + k
em seu teclado e crie uma variávelString
, que contém os dados recuperados da colunaReviewerType
na tabela de dadosCodeReviews
. Para este exemplo, nomeie a variávelReviewerType
. -
No campo Propriedade Value , passe uma expressão que recupere cada item de linha da coluna
ReviewerType
e o armazene na variável criada dentro do campo To . Para este exemplo, passe a seguinte expressão:ìtem("ReviewerType").toString
.
-
-
Arraste uma atividade Criar tarefa de formulário para o Corpo da atividade Paralelo para cada .
-
No campo propriedade TaskTitle , passe a seguinte expressão:
"Code Review - " + InPullRequestName
. OInPullRequestName
é uma variávelString
, que tem o valor Padrão"#1"
. -
Na propriedade FormData(Collection) , crie quatro argumentos do tipo
String
: - 'Número PR' - com a Direção
In
e o Valor definido comoInPullRequestName
. Reviewer Name
- com a DireçãoIn
e o Valor definido comoitem("ReviewerName").toString
.Reviewer Type
- com a DireçãoIn/Out
e o valor definido como a variávelReviewerType
.-
Reviewer Comment
- com a DireçãoOut
. No campo Valor , pressioneCTRL + k
no teclado e crie uma variávelString
. Nomeie-oReviewerComments
. Esse argumento mapeia para o fluxo de trabalho quaisquer comentários feitos na Action.5.3. No campo de propriedade TaskObject(Output) , pressioneCTRL + k
no teclado e crie uma variávelFormTaskData
. Nomeie-oTaskPersistData
.
-
-
Arraste uma atividade Adicionar à coleção para o corpo da atividade Paralelo para cada . Esta atividade armazena todas as ações de formulário criadas em uma lista.
-
No campo Propriedade da coleção , pressione
CTRL + k
no teclado e crie uma variávelList<FormTaskData>
. Nomeie-oTaskDataList
. Vá para o painel Variáveis e defina o valor Padrão da variável comoNew List(of UiPath.Persistence.Activities.FormTask.FormTaskData)
. -
No campo Propriedade do item , passe a variável
FormTaskData
. Para este exemplo, passe a variávelTaskPersistData
. -
Para a propriedade TypeArgument , escolha
UiPath.Persistence.Activities.FormTask.FormTaskData
.
-
- No painel Variáveis , crie duas variáveis do tipo
Int32
e defina seu valor Padrão como0
:OwnersApprovals
eReviewersApprovals
. -
Arraste outro paralelo para cada atividade. Para este exemplo, nomeie-o
Wait for Conditional Task(s) Completion
.-
No campo Propriedade da condição , passe a seguinte expressão:
OwnersApprovals>=2 Or (OwnersApprovals = 1 And ReviewersApprovals>=2)
. Isso condiciona o fluxo de trabalho a ser retomado somente quando a condição for atendida. -
Para a propriedade TypeArgument , escolha
UiPath.Persistence.Activities.FormTask.FormTaskData
. -
No campo Propriedade do valor , passe a lista onde estão armazenadas as Ações do formulário. Para este exemplo, passe a variável
TaskDataList
.
-
- Arraste uma atividade Sequência para o Corpo da atividade Aguardar a conclusão da(s) tarefa(s) condicional(is) . Renomeie-o
Wait for Task and Resume
. -
Arraste uma atividade Aguardar tarefa de formulário e retomar para a atividade de sequência Aguardar tarefa e retomar .
-
No campo de propriedade TaskObject(Input) , passe a variável
item
. -
No campo de propriedade TaskAction, pressione
CTRL + k
em seu teclado e crie uma variávelString
. Para este exemplo, nomeie-oTaskAction
. -
No campo de propriedade TaskObject(Output) , pressione
CTRL + k
no teclado e crie uma variávelFormTaskData
. Para este exemplo, nomeie-oTaskData
.
-
-
Arraste uma atividade Se para a atividade de sequência Aguardar Tarefa e Continuar . Esta atividade destina-se a contar o número de ações de formulário que foram aprovadas pelos proprietários do código.
-
No campo propriedade Condição passe a seguinte expressão:
TaskAction="approve" And ReviewerType="code owner"
. -
Arraste e solte uma atividade Atribuir no bloco Então . No campo Propriedade To , passe a variável
OwnersApprovals
. No campo Propriedade do valor passe a expressãoOwnersApprovals + 1
.
-
-
Arraste outra atividade Se para a atividade de sequência Aguardar Tarefa e Continuar . Esta atividade destina-se a contar o número de ações de formulário que foram aprovadas pelos revisores.
-
No campo propriedade Condição passe a seguinte expressão:
TaskAction="approve" And ReviewerType="reviewer"
. -
Arraste uma atividade Atribuir no bloco Então . No campo Propriedade To , passe a variável
ReviewersApprovals
. No campo Propriedade do valor passe a expressãoReviewersApprovals + 1
.
-
-
Arraste três atividades Write Line para a atividade de sequência Wait for Task e Resume . Esta atividade exibe os valores fornecidos no painel Saída .
-
Na primeira atividade, passe a variável
ReviewComments
. -
Na segunda atividade, passe a variável
OwnersApprovals
e adicione a propriedade.toString
. -
Na terceira atividade, passe a variável
ReviewersApprovals
e adicione a propriedade.toString
.
-
Este snippet cria três ações de formulário e suspende o fluxo de trabalho até que duas ações sejam concluídas.
-
Arraste uma atividade Criar tarefa de formulário para seu fluxo de trabalho de sequência.
-
No campo de propriedade TaskTitle , pressione
CTRL + k
no teclado e crie uma variávelString
. Nomeie-oTaskTitle1
. No painel Variáveis , defina o valor Padrão como"Task - " + "Approver 1"
. -
Na propriedade FormData(Collection) , crie um argumento de Tipo
String
e DireçãoIn
. Nomeie o argumentoApprover
e defina o Valor como"Approver1"
. -
No campo de propriedade TaskObject(Output) , pressione
CTRL + k
no teclado e crie uma variávelFormTaskData
. Para este exemplo, nomeie a variávelTaskPersistData1
.
-
-
Arraste uma atividade Criar formulário para o fluxo de trabalho de sequência.
-
No campo de propriedade TaskTitle , pressione
CTRL + k
no teclado e crie uma variávelString
. Nomeie-oTaskTitle2
. No painel Variáveis , defina o valor Padrão como"Task - " + "Approver 2"
. -
Na propriedade FormData(Collection) , crie um argumento de Tipo
String
e DireçãoIn
. Nomeie o argumentoApprover
e defina o Valor como"Approver2"
. -
No campo de propriedade TaskObject(Output) , pressione
CTRL + k
no teclado e crie uma variávelFormTaskData
. Para este exemplo, nomeie a variávelTaskPersistData2
.
-
-
Arraste uma atividade Criar formulário para o fluxo de trabalho de sequência.
-
No campo de propriedade TaskTitle , pressione
CTRL + k
no teclado e crie uma variávelString
. Nomeie-oTaskTitle3
. No painel Variáveis , defina o valor Padrão como"Task - " + "Approver 3"
. -
Na propriedade FormData(Collection) , crie um argumento de Tipo
String
e DireçãoIn
. Nomeie o argumentoApprover
e defina o Valor como"Approver3"
. -
No campo de propriedade TaskObject(Output) , pressione
CTRL + k
no teclado e crie uma variávelFormTaskData
. Para este exemplo, nomeie a variávelTaskPersistData3
.
-
-
Arraste uma atividade paralela para o seu fluxo de trabalho.
-
No campo Propriedade da condição , pressione
CTRL + k
no teclado e crie uma variávelInt32
. Para este exemplo, nomeie a variávelCompleteTasksCount
e defina o valor Padrão como0
. -
No Editor de Expressão dentro da propriedade Condição , defina a condição como
CompleteTasksCount=2
. Isso condiciona a conclusão da atividade paralela quando duas das três ações forem concluídas.
-
- Arraste uma atividade de Sequência para o corpo da atividade Paralela . Renomeie a atividade como
Sequence Task1
. -
Na atividade
Sequence Task1
, arraste uma atividade Aguardar pelo formulário e retomar . Renomeie-o comoWait for Form Task and Resume(Task1)
.-
No campo de propriedade TaskObject (Input) , passe a variável
FormTaskData
criada para armazenar os dados da Ação do Formulário. Para este exemplo, passe a variávelTaskPersistData1
. -
No campo de propriedade TaskAction , pressione
CTRL + k
e crie uma variávelString
. Nomeie-oTaskAction1
. -
No campo de propriedade TaskObject(Output) , pressione
CTRL+ k
no teclado e crie uma variávelFormTaskData
. Nomeie-oTaskData1
.
-
- Arraste uma atividade Write Line para o corpo Action da atividade
Sequence Task1
. Esta atividade destina-se a exibir no painel Saída a ação executada pelo usuário para concluir a Ação do formulário. No valor Texto , insira a variávelTaskAction1
. -
Arraste uma atividade Atribuir na atividade
Wait for Form Task and Resume(Task1)
. Passe oCompleteTaskCount
no campo Para e a expressãoCompleteTaskCount
+ 1 no campo Valor . Se a ação for concluída e o fluxo de trabalho for retomado, uma nova iteração será incluída na variávelCompleteTaskCount
. - Arraste uma atividade de Sequência para o corpo da atividade Paralela . Renomeie a atividade como
Sequence Task2
. - Na atividade
Sequence Task2
, arraste e solte uma atividade Aguardar pelo formulário e retomar . Renomeie-o comoWait for Form Task and Resume(Task2)
- No campo de propriedade TaskObject (Input), passe a variável FormTaskData criada para armazenar os dados da Ação do Formulário. Para este exemplo, passe a variável
TaskPersistData2
. - No campo de propriedade TaskAction , pressione
CTRL + k
e crie uma variável String. Nomeie como TaskAction2 - No campo de propriedade TaskObject(Output) , pressione CTRL+ k no teclado e crie uma variável
FormTaskData
. Nomeie-oTaskData2
.
- No campo de propriedade TaskObject (Input), passe a variável FormTaskData criada para armazenar os dados da Ação do Formulário. Para este exemplo, passe a variável
- Arraste uma atividade Write Line para o corpo da atividade
Sequence Task2
. Esta atividade exibe no painel Saída a ação executada pelo usuário para concluir a Ação de formulário. No valor Texto , insira a variávelTaskAction2
. - Arraste uma atividade Atribuir na atividade
Wait for Form Task and Resume(Task2)
. Passe oCompleteTaskCount
no campo Para e a expressãoCompleteTaskCount + 1
no campo Valor . Se a ação for concluída e o fluxo de trabalho for retomado, uma nova iteração será incluída na variávelCompleteTaskCount
. - Arraste uma atividade de Sequência para o corpo da atividade Paralela . Renomeie a atividade como
Sequence Task3
. -
Na atividade
Sequence Task3
, arraste e solte uma atividade Aguardar pelo formulário e retomar . Renomeie-o comoWait for Form Task and Resume(Task3)
.-
No campo de propriedade TaskObject (Input) , passe a variável
FormTaskData
criada para armazenar os dados da Ação do Formulário. Para este exemplo, passe a variávelTaskPersistData3
. -
No campo de propriedade TaskAction , pressione
CTRL + k
e crie uma variávelString
. Nomeie-oTaskAction3
. -
No campo de propriedade TaskObject(Output) , pressione
CTRL+ k
no teclado e crie uma variávelFormTaskData
. Nomeie-oTaskData3
.
-
- Arraste uma atividade Write Line para o corpo Action da atividade
Sequence Task3
. Esta atividade destina-se a exibir no painel Saída a ação executada pelo usuário para concluir a Ação do formulário. No valor Texto , insira a variávelTaskAction3
. - Arraste uma atividade Atribuir na atividade
Wait for Form Task and Resume(Task3)
. Passe oCompleteTaskCount
no campo Para e a expressãoCompleteTaskCount + 1
no campo **Valor**. Se a ação for concluída e o fluxo de trabalho for retomado, uma nova iteração será adicionada à variávelCompleteTaskCount
.
- Adicionar item de fila e aguardar até a conclusão
- Criar tarefa externa e suspender até a conclusão
- Criar tarefa de formulário e suspender até a conclusão
- Criar tarefa e atribuir ao usuário
- Iniciar trabalho e retomar após a conclusão
- Suspender e retomar após 1 hora
- Suspender e retomar após 5 minutos
- Suspender e retomar após 90 segundos
- Aguarde a conclusão de todas as tarefas do formulário
- Aguarde a conclusão de qualquer tarefa de formulário
- Aguarde a Conclusão de algumas Tarefas de Formulário em Loop
- Aguarde a conclusão de algumas tarefas de formulário