- Visão geral
- Texto Explicativo
- Complex Scenarios
- Credenciais
- Data Service
- Sobre o pacote de atividades Data Service
- Compatibilidade do projeto
- 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
- Notas de Versão
- Sobre o pacote de atividades Workflow Events
- Compatibilidade do projeto
- Monitorando o progresso em aplicativos em tempo real usando o Interim Process Result
- Criação de um cronômetro em tempo real
- Workflow Foundation
Monitorando o progresso em aplicativos em tempo real usando o Interim Process Result
Para entender melhor como funcionam os resultados provisórios do processo, você pode construir o exemplo descrito nesta página.
Ao seguir este procedimento, você criará um processo no Studio que envolve o envio de dados intermediários para UiPath Apps usando a atividade Send Interim Result . Você criará um aplicativo que exibirá uma barra de progresso (usando o controle Slider ) em tempo real à medida que as tabelas forem preenchidas com dados.
Para este exemplo, vamos construir o seguinte:
- Um processo de automação
- Um aplicativo usando UiPath Apps
Construindo o processo
O processo deste tutorial é usado para demonstrar os recursos da atividade Interim Process Result . O processo recebe duas entradas:
- O número de itens a serem processados.
- O número de etapas em cada item.
O processo é executado com essas entradas e envia os seguintes resultados provisórios para o aplicativo:
- O item atual sendo executado pelo processo.
- A etapa atual no item.
- A porcentagem de progresso para o item específico.
- Uma tabela que preenche cada etapa, incluindo um carimbo de data/hora.
- Abra Studio e crie um novo Processo.
- Crie os seguintes argumentos:
Argument name Direction Tipo de argumento Valor padrão in_number_of_steps
Em Int32 3 in_number_of_items
Em Int32 2 out_progress_percentage
Out Int32 - out_progress_datatable
Out TabelaDeDados - out_current_step
Out Int32 - out_current_item
Out Int32 - - Arraste uma Sequência para o Designer de fluxo de trabalho.
- Crie as seguintes variáveis:
Nome da variável Tipo de variável Valor padrão var_item
Int32 1 var_step
Int32 1 var_percentage
Int32 0
- Crie as seguintes variáveis:
- Adicione uma atividade Construir tabela de dados dentro do contêiner Sequência.
- Adicione o argumento
out_progress_datatable
no campo DataTable. - Adicione quatro colunas à tabela:
- Número do item como
Int32
. - Número da etapa como
Int32
. - Tempo como
DateTime
. - Progresso % como
Int32
.
- Número do item como
- Adicione uma atividade While abaixo da atividade Build Data Table e configure-a conforme abaixo:
- Adicione o argumento
- Adicione
var_item<=in_number_of_items
no campo Condição.
- Adicione uma atividade While no Body.
- Adicione
var_step<=in_number_of_steps
no campo Condição. - Adicione uma atividade Add Data Row no Body.
- Adicione
{var_item,var_step,now(),(var_step/in_number_of_steps) * 100}
no campo ArrayRow . - Adicione
out_progress_datatable
no campo DataTable .
- Adicione
- Adicione uma atividade Delay abaixo de Add Data Row. Adicione
00:00:02
no campo Duração (2 segundos). - Adicione uma atividade Send Interim Result abaixo de Delay.
- Adicione
out_progress_datatable
no campo Nome do argumento eout_progress_datatable
no campo Valor do argumento .
- Adicione
- Adicione uma atividade Multiple Assign abaixo de Send Interim Result.
- Adicione
var_percentage
no campo Para eConvert.ToInt32((var_step/in_number_of_steps) * 100)
no campo Valor .
- Adicione
- Adicione uma atividade Send Interim Result abaixo de Multiple Assign.
- Adicione
out_progress_percentage
no campo Nome do argumento evar_percentage
no campo Valor do argumento .
- Adicione
- Adicione uma segunda atividade Enviar resultado provisório antes da anterior.
- Adicione
out_current_step
no campo Nome do argumento evar_step
no campo Valor do argumento .
- Adicione
- Adicione uma terceira atividade Enviar resultado provisório .
- Adicione
out_current_item
no campo Nome do argumento evar_item
no campo Valor do argumento .
- Adicione
- Adicione uma atividade Multiple Assign abaixo da última atividade Send Interim Result .
- Adicione
var_step
no campo Para evar_step+1
no campo Valor .
- Adicione
- Adicione uma atividade Multiple Assign abaixo do último While.
- Adicione
var_step
no campo Para e1
no campo Valor . - Adicione
var_item
no campo Para evar_item+1
no campo Valor . - Adicione
var_percentage
no campo Para e1
no campo Valor .
- Adicione
Resultado
No final, seu fluxo de trabalho deve ser semelhante ao abaixo.
Criação do aplicativo
O aplicativo deste tutorial recebe informações do processo criado anteriormente. O aplicativo exibe os seguintes resultados provisórios recebidos do processo:
- O item atual sendo executado pelo processo.
- A etapa atual no item.
- A porcentagem de progresso para o item específico.
- Uma tabela que preenche cada etapa, incluindo um carimbo de data/hora.
Antes de começar a criar seu aplicativo, verifique se o processo de automação da seção Construindo o processo foi criado e publicado em seu orquestrador.
- Abra seu aplicativo existente ou inicie um novo.
- Consulte o processo na seção Pré-requisitos .
- Adicione um contêiner à página.
- Adicione um controle de cabeçalho no contêiner. Adicionar App - Resultados do processo provisório na propriedade Text . Este será o título do aplicativo.
- Adicione um segundo controle de cabeçalho abaixo do anterior. Adicione Entrada na propriedade Texto . Certifique-se de que o tamanho da fonte seja um pouco menor (por exemplo,
20 px
).- Adicione um controle Textbox dentro do contêiner. Adicione o argumento
in_number_of_items
do processo referenciado anteriormente na propriedade de ligação de valor. Adicione2
na propriedade Texto padrão eNumber of items (iterations)
na propriedade Rótulo . - Adicione um divisor à direita do controle Textbox .
- Adicione um controle Textbox à direita do Divider. Adicione o argumento
in_number_of_steps
do processo referenciado anteriormente na propriedade de ligação de valor. Adicione3
na propriedade Texto padrão eNumber of steps in item
na propriedade Rótulo . - Adicione um controle Button à direita do Textbox. Adicione
Start Process
na propriedade Text . Configure uma regra de processo Iniciar para o evento Clicado . Configure a regra para iniciar o processo referenciado no início e marque-o como Assistido.
- Adicione um controle Textbox dentro do contêiner. Adicione o argumento
- Adicione um divisor abaixo do contêiner.
- Adicione um cabeçalho abaixo do divisor. Adicione o resultado do processo provisório na propriedade Text .
- Adicione um contêiner abaixo do cabeçalho.
- Adicione mais dois controles de contêiner , um dentro do outro.
- Adicione um Label dentro do último container. Adicione
Current item being processed:
na propriedade Text . - Adicione um segundo Label ao lado do anterior. Adicione o argumento
out_current_item
do processo referenciado na propriedade Text .
- Adicione um Label dentro do último container. Adicione
- Adicione um Container abaixo do último.
- Adicione um Label dentro do último container. Adicione
Current step:
na propriedade Text . - Adicione um segundo Label ao lado do anterior. Adicione o argumento
out_current_step
do processo referenciado na propriedade Text .
- Adicione um Label dentro do último container. Adicione
- Adicione um divisor à direita dos dois últimos contêineres.
- Adicione um Container à direita do Divisor e outro Container dentro do primeiro.
- Adicione um controle Label e adicione
Step completion % :
na propriedade Text . - Adicione mais dois controles Container , um dentro do outro, e um controle Label e um controle Slider no último. Adicione o argumento
out_progress_percentage
do processo na propriedade Text do Label. Configure as propriedades do Slider : Incremento do slide para0
e Valor padrão para0
.
- Adicione um controle Label e adicione
- Adicione um divisor abaixo.
- Adicione um controle Table abaixo do divisor.
- Adicione o argumento
out_progress_datatable
do processo no campo Data Source . - Adicione uma coluna Item Number e forneça
Item Number
do processo da tabela de dados como Source. - Adicione uma coluna Step Number e forneça
Step Number
do processo datatable como Source. - Adicione uma coluna Time e forneça
Time
do processo da tabela de dados como Source. - Adicione uma coluna Progress % e forneça
Progress %
do processo da tabela de dados como Source.
- Adicione o argumento
Resultado
No final, seu aplicativo deve ser semelhante ao abaixo:
Resultado
Ao visualizar o aplicativo, você pode pressionar o botão Iniciar processo .
O aplicativo fornecerá as seguintes informações provisórias para o processo:
- Item atual sendo processado
- Etapa atual
- Conclusão da etapa (porcentagem)
- Tabela com informações referentes ao item, número do passo, timestamp e andamento.
Você também pode alterar o número de itens ou as etapas de um item usando os campos de texto.
Para verificar o fluxo de trabalho completo e o aplicativo ou para referência futura, baixe os arquivos aqui.