- Notas de Versão
- Introdução
- Configuração e Instalação
- Projetos de automação
- Sobre a publicação de projetos de automação
- Projetando automações
- Gerenciamento de pacotes de atividades
- Como definir as configurações do projeto de atividades
- Como assinar pacotes
- Governança
- Como importar entidades
- Experiência de Criação Moderna
- Vincular um projeto a uma ideia no Automation Hub
- Usando o Gerenciador de dados
- Dependências
- Tipos de fluxos de trabalho
- Fluxo de controle
- Comparação de arquivos
- Melhores Práticas de Automação
- Integração de controle de origem
- Sobre o controle de versões
- Como gerenciar projetos com o TÁS
- Como gerenciar projetos com o SN
- Dif. do fluxo de trabalho
- Depuração
- Geração de logs
- A ferramenta de diagnóstico
- Analisador de Fluxo de Trabalho
- Sobre o Analisador de Fluxo de Trabalho
- STN MG-001 - Convenção de nomenclatura de variáveis
- STN MG-002 - Convenção de nomenclatura de argumentos
- STN MG-004 - Duplicação de Nome de Exibição
- STN MG-005 - Variável substitui variável
- STN MG-006 - Variável substitui argumento
- STN MG-008 - Comprimento de variável excedido
- STN MG-009 - Variáveis Catablema de prefixo
- STN MG-011 - Argumentos Catablema de prefixo
- STN MG-012 - Valores padrão de argumentos
- STN MG-016 - Comprimento do argumento excedido
- ST-NMG-017 - O nome da classe corresponde ao namespace padrão
- SR-DB-002 - Contagem alta de argumentos
- SR-DB-003 - Esvaziar bloco catechu
- SR-DB-007 - Múltiplas camadas Com fluxograma
- ST-DPB-010 - Várias instâncias de [Fluxo de trabalho] ou [Caso de teste]
- SR-DB-020 - Propriedades de saída indefinidas
- SR-DB-021 - Tempo limite embutido em código
- SR-DB-023 - Fluxo de trabalho vazio
- SR-DB-024 - Verificação da atividade Persistente
- SR-DB-025 - Pré-requisito de serialidade de variáveis
- SR-DB-026 - Uso da atividade Dela
- SR-DB-027 - Melhores práticas de persistência
- SR-DB-028 - Pré-requisito de serialidade de argumentos
- SR-US-005 - Argumentos de atividades embutidos em código
- SR-US-009 - Variáveis não utilizadas
- SR-US-010 - Dependências não utilizadas
- SR-US-014 - Restrições de pacotes
- SR-US-020 - Mensagens de logue mínimas
- SR-US-024 - Não utilizado e postergado
- SR-US-025 - Uso incorreto do valor salvo
- SR-US-026 - Restrições da atividade
- SR-US-027 - Pacotes necessários
- ST-USG-28 — restringir modelos de invocação de arquivos
- ST-USG-032 — rótulos obrigatórios
- ST-USG-034 — URL do Automation Hub
- Variáveis
- Como gerenciar variáveis
- O painel Variáveis
- Variáveis proprietárias da Quipata
- Argumentos
- Namespaces Importados
- Automações codificadas
- Introdução
- Registro de serviços personalizados
- Contextos Antes e Depois
- Gerando código
- Geração de caso de teste codificado a partir de casos de teste manuais
- Automação assistida baseada em gatilho
- Gravação
- Elementos de Interface Gráfica
- Seletores
- Repo. de Objetos
- Extração de Dados
- Automação de imagem e texto
- Citrix Technologies Automation
- Automação RDP
- Automação do Varear Horizonte
- Automação da Salesforce
- Automação SAP
- Automaçāo da interface gráfica do macOS
- A ferramenta ScreenScrapeJavaSupport
- O protocolo Servodrive
- Extensões
- Sobre extensões
- Ferramenta SetupExtensions
- UiPathRemoteRuntime.exe não está sendo executado na sessão remota
- O UiPath Remote Runtime bloqueia a sessão do Citrix de ser fechado
- O UiPath Remote Runtime causa vazamento de memória
- UiPath.UIAutomation.Activities package and UiPath Remote Runtime versions mismatch
- A extensão do UiPath necessária não está instalada na máquina remota
- Configurações de resolução de tela
- Group Policies
- Não é possível se comunicar com o navegador
- A extensão do Chrome é removida automaticamente
- A extensão pode ter sido corrompida
- Verifique se a extensão para o Chrome está instalada e habilitada
- Check if ChromeNativeMessaging.exe is running
- Check if ComSpec variable is defined correctly
- Habilite o Acesso às URLs do arquivo e o Modo Anônimo
- Multiple browser profiles
- Group Policy conflict
- Known issues specific to MV3 extensions
- Lista de extensões para Chrome
- Extensão do Chrome no Mac
- Group Policies
- Não é possível se comunicar com o navegador
- A extensão Edge é removida automaticamente
- A extensão pode ter sido corrompida
- Check if the Extension for Microsoft Edge is installed and enabled
- Check if ChromeNativeMessaging.exe is running
- Check if ComSpec variable is defined correctly
- Enable access to file URLs and InPrivate mode
- Multiple browser profiles
- Group Policy conflict
- Known issues specific to MV3 extensions
- Lista de extensões para Edge
- Extensão para Safari
- Extensão para o Varear Horizonte
- Extensão para Amazon WorkSpaces
- Plug-in do SAP Solution Manager
- Suplemento do Excel
- Test Suite — Studio
- Solução de problemas
- Sobre a solução de problemas
- Suporte e limitações do Microsoft Apo-V
- Solução de problemas do Internet Explorer x64
- Problemas do Microsoft Office
- Como identificar elementos de EU em PDF com opções de acessibilidade
- Reparando o suporte da Active Accessibility
- Validation of large Windows-legacy projects takes longer than expected
Variáveis proprietárias da Quipata
A variável GenericValue é um tipo de variável que pode armazenar qualquer tipo de dados, incluindo texto, números, datas e matrizes, e é específica do Studio.
As variáveis GenericValue são convertidas automaticamente em outros tipos de variável para executar determinadas ações. No entanto, é importante usar esses tipos de variáveis cuidadosamente, pois a conversão pode não ser a correta para o seu projeto.
O UiPath Studio tem um mecanismo de conversão automático das variáveis GenericValue que você pode orientar para o resultado desejado definindo cuidadosamente suas expressões. Leve em consideração que o primeiro elemento na sua expressão será usado como diretriz para a operação executada pelo Studio. Por exemplo, quando você tenta adicionar duas variáveis GenericValue, caso a primeira da expressão esteja definida como String, o resultado será a concatenação de ambas. Se estiver definida como um Inteiro, o resultado será a soma delas.
Nome/Sintaxe |
Description |
---|---|
CompararCom
| |
Contém
|
Usado para verificar se uma variável string contém ou não uma determinada substring. Por exemplo, se você quiser verificar se uma frase contém uma palavra específica, a expressão deve ser
[SentenceVariable].Contains("term") , onde [SentenceVariable] é a variável GenericValue contendo a frase e "term" será a palavra a ser pesquisada.
Observação: ao usar este método com uma variável GenericValue de dados do tipo Int, Float ou Booleana, os dados serão convertidos automaticamente para String e gerenciados como tal.
|
É igual a
| |
ObterCódigoHash
| |
ObterTipo
| |
ObterCódigoTipo
| |
ÍndiceDe
|
Usado para retornar o índice de uma substring contida dentro de uma variável string. Por exemplo, se você quiser encontrar o índice da palavra "localizar" dentro da frase "Encontre "localizar" nesta frase", a expressão deve ser
[SentenceVariable].IndexOf("locate") , onde [SentenceVariable] é a variável GenericValue contendo a frase e "locate" será o termo a ser pesquisado.
Observação: ao usar este método com uma variável GenericValue de dados do tipo Int, Float ou Booleana, os dados serão convertidos automaticamente para String e gerenciados como tal.
|
Tamanho
|
Usado para retornar o número de caracteres em uma variável string. Por exemplo, se você quiser saber quantas letras tem uma palavra, a expressão deve ser
[WordVariable].Length , onde [WordVariable] é a variável GenericValue contendo a palavra.
Observação: ao usar este método com uma variável GenericValue de dados do tipo Int, Float ou Booleana, os dados serão convertidos automaticamente para String e gerenciados como tal.
|
Substituir
|
Usado para substituir dados contidos dentro de uma variável string. Por exemplo, se você quiser alterar um caminho de arquivo local
C:\ExampleFolder\Main.xaml para o caminho de arquivo do servidor C:/ExampleFolder/Main.xaml correspondente, a expressão deve ser [PathVariable].Replace("\","/") onde [PathVariable] é a variável GenericValue contendo o caminho do arquivo, "\" será o caractere a ser substituído e "/" será o caractere usado para substituí-lo.
Observação: ao usar este método com uma variável GenericValue de dados do tipo Int, Float ou Booleana, os dados serão convertidos automaticamente para String e gerenciados como tal.
|
Dividir
|
Usado para retornar componentes individuais de uma variável string. Por exemplo, se você quiser extrair o ano de um formato MM.DD.YYYY a expressão deve ser
[DateVariable].Split(".".ToCharArray)(2) , onde [DateVariable] é a variável GenericValue contendo a data, "." é o caractere usado como separador, .ToCharArray é um método que cria um intervalo com os elementos delimitados pelo separador e (2) representa o índice do elemento a ser retornado, no nosso caso, o ano.
Observação: ao usar este método com uma variável GenericValue de dados do tipo Int, Float ou Booleana, os dados serão convertidos automaticamente para String e gerenciados como tal.
|
Substring
|
Usado para retornar uma substring contida em uma variável string. Por exemplo, se você quiser extrair uma palavra da frase "Há 100 máquinas disponíveis" a expressão deve ser
[SentenceVariable].Substring(10,3) , onde [SentenceVariable] é a variável GenericValue contendo a frase, 10 será o índice do primeiro caractere a ser retornado e 3 será o comprimento da substring contando do primeiro caractere. Neste exemplo, a substring resultante será "100".
Observação: ao usar este método com uma variável GenericValue de dados do tipo Int, Float ou Booleana, os dados serão convertidos automaticamente para String e gerenciados como tal.
|
ParaBoliano
| |
ParaByte
| |
ParaCar
| |
ParaDecimal
| |
ParaDobro
| |
ParaInt
|
Usado para converter um valor especificado em um número inteiro nulificável. Observação: ao usar este método com uma variável GenericValue de dados do tipo Boolianos, os valores "True" e "False" são convertidos, respectivamente para 1 e 0.
|
ParaInt16
|
Observação: ao usar este método com uma variável GenericValue de dados do tipo Boolianos, os valores "True" e "False" são convertidos, respectivamente para 1 e 0.
|
ParaInt32
|
Observação: ao usar este método com uma variável GenericValue de dados do tipo Boolianos, os valores "True" e "False" são convertidos, respectivamente para 1 e 0.
|
ParaInt64
|
Observação: ao usar este método com uma variável GenericValue de dados do tipo Boolianos, os valores "True" e "False" são convertidos, respectivamente para 1 e 0.
|
ParaMenor
|
Observação: ao usar este método com uma variável GenericValue de dados do tipo Int, Float ou Booleana, os dados serão convertidos automaticamente para String e gerenciados como tal.
|
ParaMenorInvariável
|
Observação: ao usar este método com uma variável GenericValue de dados do tipo Int, Float ou Booleana, os dados serão convertidos automaticamente para String e gerenciados como tal.
|
ParaSByte
| |
ParaÚnico
| |
ParaString
| |
ParaTipo
| |
ParaUInt16
|
Observação: ao usar este método com uma variável GenericValue de dados do tipo Boolianos, os valores "True" e "False" são convertidos, respectivamente para 1 e 0.
|
ParaUInt32
|
Observação: ao usar este método com uma variável GenericValue de dados do tipo Boolianos, os valores "True" e "False" são convertidos, respectivamente para 1 e 0.
|
ParaUInt64
|
Observação: ao usar este método com uma variável GenericValue de dados do tipo Boolianos, os valores "True" e "False" são convertidos, respectivamente para 1 e 0.
|
ParaMaior
|
Observação: ao usar este método com uma variável GenericValue de dados do tipo Int, Float ou Booleana, os dados serão convertidos automaticamente para String e gerenciados como tal.
|
ParaMaiorInvariável
|
Observação: ao usar este método com uma variável GenericValue de dados do tipo Int, Float ou Booleana, os dados serão convertidos automaticamente para String e gerenciados como tal.
|
Cortar
|
Observação: ao usar este método com uma variável GenericValue de dados do tipo Int, Float ou Booleana, os dados serão convertidos automaticamente para String e gerenciados como tal.
|
ReduzirFim
|
Observação: ao usar este método com uma variável GenericValue de dados do tipo Int, Float ou Booleana, os dados serão convertidos automaticamente para String e gerenciados como tal.
|
ReduzirInício
|
Observação: ao usar este método com uma variável GenericValue de dados do tipo Int, Float ou Booleana, os dados serão convertidos automaticamente para String e gerenciados como tal.
|
Ao usar Ctrl + K, Ctrl + M, ou Ctrl + Shift + M diretamente no corpo da atividade Formatar Valor, a variável ou argumento criado será do tipo GenericValue. Para outras atividades, o tipo criado seguirá o tipo requerido para aquele tipo de atividade.
Para demonstrar como uma variável GenericValue funciona, crie uma automação que executa várias operações cujos resultados dependem da forma como definiremos suas expressões. Criamos duas variáveis GenericValue de diferentes tipos de dados e exibimos os resultados no painel Saída.
- Crie um novo projeto em branco.
- Crie três variáveis GenericValue:
Int
,Str
eResult
. -
Na coluna Padrão para a variável
Int
, digite 12, e para a variávelStr
, digite "34". A primeira variável é interpretada como um número inteiro e a segunda é interpretada como uma string. - Adicione uma atividade Atribuir ao painel de Projeto e conecte-a ao nó Iniciar.
- No painel Propriedades, no campo Para adicione a variável
Result
. - No campo Valor, digite
Int
+Str
. - Adicione uma atividade Gerar Linha e conecte-a à atividade Atribuir.
-
Clique duas vezes no cartão de atividades e, no campo Texto, digite a variável
Result
.O projeto deverá parecer com a captura de tela a seguir.
-
Pressione F5 para executar sua automação. Note que que, no painel Saída, a soma dos dois números é exibida.
-
Retorne para a atividade Atribuir adicionada anteriormente e altere o campo Valor para
Str
+Int
para reverter a ordem das variáveis. O projeto deverá ter a seguinte aparência. -
Pressione F5 para executar sua automação. Note que no painel Saída, a concatenação dos dois números é exibida.
Isso significa que o UiPath Studio considera o primeiro elemento definido na sua expressão como uma diretriz a respeito de qual operação executar. Se o primeiro elemento na sua expressão for um número inteiro ou uma variável GenericValue preenchida com um número inteiro, o UiPath Studio executará a soma dos elementos.
Se o primeiro elemento na sua expressão for uma string ou uma variável GenericValue preenchida como string, UiPath Studio executará a concatenação dos elementos.
Recomendamos que você leia a página Sobre filas e transações, para ter uma visão geral sobre as filas e as transações, antes de prosseguir para a variável QueueItem.
Antes de entrar em um detalhamento profundo do assunto, certifique-se de entender a distinção entre os itens da fila (itens armazenados em uma fila no Orchestrator) e variáveis QueueItem (variáveis usadas no Studio para processar itens de fila). Nós nos referimos a eles exatamente assim: "variáveis QueueItem" e "itens de fila".
Em geral, como o nome indica, uma variável QueueItem armazena um item que foi extraído de um contêiner de itens, uma fila. Essa extração geralmente é feita com o propósito de reutilizar os itens da fila em diferentes cenários. Digamos que você represente uma instituição bancária e tenha um relatório de depósitos de 50 clientes. Você deseja processar os dados de cada cliente que tenha depositado anteriormente um cheque On-Us menor do que $ 5000, usando um aplicativo financeiro externo. Neste caso, você pode fazer um fluxo de trabalho no qual o armazenamento de variáveis QueueItem armazene, um por vez, as informações de cada cliente. Cada entrada lida pela variável QueueItem será armazenada em um item de fila e adicionada à fila designada no Orchestrator. O resultado do processo inteiro será uma fila que contém as informações dos clientes, cada uma no item de fila correspondente.
Para processar os dados que atendem à sua condição, você deve criar outro fluxo de trabalho que extrai dessa fila criada anteriormente os itens apresentando valor menor que $5000 para cheques On-Us. O procedimento passo a passo sobre como criar esse projeto será fornecido ao final deste tópico.
Nome/Sintaxe |
Description |
---|---|
É igual a
| |
ObterCódigoHash
| |
ObterTipo
| |
ParaString
|
Nome/Sintaxe |
Description |
---|---|
AtribuídoA
| |
DueDate
|
A data e a hora mais recente na qual o item deve ser processado. Se estiver vazio, o item pode ser processado a qualquer momento. |
DeferDate
|
A data e a hora mais antiga remota na qual o item está disponível para o processamento. Se estiver vazio, o item estará disponível para ser processado de imediato. |
Id
| |
ChaveDoItem
|
O identificador exclusivo de cada item. Por exemplo,
1bf829e1-cd6b-4275-a364-19db3cfe09c7 .
|
Prioridade
|
A prioridade do item de fila conforme definido no Studio no campo Prioridade no painel Propriedades. |
ExceçãoNoProcessamento
|
A exceção de processamento de um item apresentando erro. |
Progresso
|
Informações personalizadas sobre o progresso de um item de fila cujo status seja EmProgresso. |
IdDeDefiniçãoDeFila
|
O identificador exclusivo da fila sob a qual um item/transação de fila tenha sido criado. |
QueueName
|
O nome da fila contendo os itens processados. |
Referência
|
Um valor especificado pelo usuário para facilitar a identificação de itens de fila. |
TentativaNo
|
O número de vezes que o item foi recuperado. |
ReviewStatus
|
O status de revisão do item de fila conforme recuperado do Orchestrator. |
VersãoDaLinha
|
Um campo interno usado para estampagem de versão. Ele será atualizado sempre que uma propriedade da transação atual seja alterada. |
ConteúdoEspecífico
|
Uma coleção de pares de valores chave contendo dados personalizados associados à transação atual, conforme configurado na atividade Adicionar Item de Fila. |
HoraDeInícioDaTransação
|
A hora e a data em que o processamento de transações teve início. |
Status
|
O status do item de fila conforme recuperado do Orchestrator. |
Devido à natureza deste exemplo, dividimos esta seção em duas partes, cada uma representando um dos dois fluxos de trabalho principais utilizado ao se trabalhar com filas e itens de fila:
Carregar itens para uma fila
.xlsx
. Digamos que você represente uma instituição bancária e tenha um relatório de depósitos de 50 clientes. Você deseja processar os dados de cada cliente que depositou anteriormente um Cheque On-Us menor do que $ 5000, usando um aplicativo financeiro de externo. O relatório contém o nome do cliente, o valor de Cheque On-Us e dois valores adicionais, digamos Compensação e Cheque Terceiros. Criamos um fluxo de trabalho no qual a variável QueueItem armazena, um por vez, as informações de cada cliente. Cada entrada lida pela variável QueueItem é então armazenada em um item de fila e adicionada à fila designada no Orchestrator. O resultado final do processo é uma fila que contém informações específicas para cada cliente. Antes de prosseguir para o fluxo de trabalho em si, pode ser interessante dar uma olhada no relatório dos clientes aqui. Trabalharemos com a planilha "Relatórios de Julho".
Sem mais delongas:
- Crie uma nova sequência.
- Adicione uma atividade Excel Process Scope dentro da sequência.
- Adicione uma atividade Use Excel File e defina a localização da pasta de trabalho no campo Arquivo do Excel da atividade.
- Adicione uma atividade Read Range para ler o intervalo desejado de valores do relatório e armazene-os em uma variável DataTable.
- No lado direito do campo Intervalo, selecione Mais > Excel > Indicar no Excel e selecione um intervalo de células (por exemplo, A1:D51).
-
No campo Salvar em, pressione Ctrl + K para criar uma nova variável DataTable, que armazena o intervalo de dados previamente lido. Nomeie-a
dt_DataTable1
ou algo semelhante. O painel Variáveis também deve exibir a variável recém-criada da seguinte maneira:
-
A seguir, adicione uma atividade For Each Row in Data Table ao painel Designer e preencha os campos em branco com “row” e o nome da variável DataTable,
dt_DataTable1
, respectivamente. Essa atividade executa a ação definida dentro dela para cada linha na tabela de dados. A sequência deve ser semelhante à seguinte captura de tela até agora:
- Adicione uma atividade Add Queue Item na atividade For Each Row in Data Table. Isso adiciona um item a uma fila (definido abaixo nas etapas 8 e 12), para cada linha na planilha.
- No campo Nome da fila, insira o nome da fila na qual deseja que seus itens sejam armazenados, por exemplo,
ReportQueue
. -
Clique no campo em Informações do item para abrir a janela Construtor de dicionários. Crie 4 argumentos, cada um correspondendo a uma coluna do relatório. Defina-os da seguinte maneira:
Name
, mantendo os valores padrão para Direção e Tipo e com Valor definido comorow(0).ToString
. Isso recupera o valor da coluna apresentando o contador 0 para cada linha na pasta de trabalho, em nosso caso o nome do cliente.CashIn
, mantendo os valores padrão para Direção e Tipo e com Valor definido comorow(1).ToString
. Isso recupera o valor da coluna apresentando o contador 1 para cada linha na pasta de trabalho, no nosso caso o valor de Compensação.OnUsCheck
, mantendo os valores padrão para Direção e Tipo e com Valor definido comorow(2).ToString
. Isso recupera o valor da coluna apresentando o contador 2 para cada linha na pasta de trabalho, no nosso caso o valor do Cheque On-Us.NotOnUsCheck
, mantendo os valores padrão para Direção e Tipo e com Valor definido comorow(3).ToString
. Isso recupera o valor da coluna apresentando o contador 3 para cada linha na pasta de trabalho, no nosso caso o valor do Cheque Terceiros.
-
A janela Construtor de dicionários deve ser semelhante à seguinte captura de tela:
- Conecte o Robô do Studio ao Orchestrator. Para detalhes sobre como fazer isso, clique aqui.
- navegar para https://cloud.uipath.com. Faça login usando suas credenciais e crie uma fila, ReportQueue para armazenar os itens. Certifique-se de que o nome usado acima (etapa 8) seja o mesmo usado nesta etapa.
- Retorne para o Studio. Neste ponto seu fluxo de trabalho deve estar isento de erros e funcionando corretamente, assim, a próxima etapa será disponibilizá-lo para o Orchestrator. Para tal, clique em Projeto > Publicar.
-
Para executar o processo, clique em Projeto > Executar.
Observação: leve em consideração que, após o processamento, os itens da fila se tornam transações e são tratados posteriormente como tal. - Navegue até https://cloud.uipath.com novamente e exiba as transações.
Processando as Transações de uma Fila
Para demonstrar como adicionalmente processar transações de uma fila, criaremos um segundo fluxo de trabalho que recupera da fila apropriada as transações com um valor de cheque On-Us menor do que $5000. Para cada transação que atenda a essa condição, os valores serão coletados e introduzidos em um aplicativo exemplo externo. Demais transações serão rotuladas como exceções.
- Acesse Projeto > Novo > Fluxograma para criar um novo arquivo no projeto iniciado acima.
- Adicione uma atividade Use Application/Browser para abrir o aplicativo fictício de terceiros. Conecte-a ao nó Iniciar.
- Preencha os detalhes necessários (Nome da exibição, Caminho do arquivo, Selecionador) no painel Propriedades e configure a atividade para fazer login com as credenciais correspondentes. Use
admin
para o campo NomedeUsuário epassword
para o campo Senha. - No campo Caminho do arquivo, preencha o caminho do aplicativo.
- No campo Seletor, usando o Editor de Seletor, defina o seletor para UIDemo.
- Adicione uma atividade Interrupção Necessária ao painel Projeto e conecte-a à atividade Abrir Aplicativo.
-
Adicione uma atividade Decisão de Fluxo ao painel Projeto e conecte-a à atividade Interrupção Necessária. Estas duas últimas atividades verificam se você interrompeu o trabalho durante a execução. Isso oferece a possibilidade de se fazer configurações adicionais ao fluxo de trabalho com o intuito de executar diversas rotinas de segurança após a interrupção ser disparada. Veja abaixo um exemplo de uma tal rotina:
- Adicione uma atividade Mensagem de Log e conecte-a à ramificação Verdadeiro da decisão de fluxo adicionada anteriormente.
- No painel Propriedades, no campo Mensagem, digite "Requisição de Interrupção do Processo" ou algo semelhante a ser exibido caso a interrupção seja disparada.
- Adicione uma atividade Fechar Aplicativo e conecte-a à atividade Mensagem de Log adicionada anteriormente.
- No painel Propriedades, no campo NomeDeExibição após Fechar Aplicativo, digite
UIDemo.exe UIDemo
.
- Adicione uma atividade Obter Item de Transação à ramificação Falso da decisão de fluxo adicionada anteriormente (etapa 7). Esta atividade recupera os itens de transação da fila e armazena-os um por vez, a cada iteração do loop, em uma variável QueueItem.
- No painel Propriedades, no campo NomeDeFila digite o nome da fila que armazenará seus itens. No nosso caso, conforme definido na seção Carregando Itens numa Fila, o nome será "FilaRelatório".
- No campo ItemDaTransação pressione Ctrl+K para criar a variável QueueItem que armazenará cada item da transação. Nomeie-a "TransItem" ou algo semelhante.
- Adicione uma atividade Decisão de Fluxo ao painel Projeto e conecte-a à atividade Adquirir Item da Transação.
- No painel Propriedades, no campo Condição, digite
TransItem isNot Nothing
. Esta atividade verifica o valor de cada item para determinar se o fim da fila foi atingido. - Conecte a ramificação Falso da decisão de fluxo à atividade Mensagem de Log criada na etapa 7. Isso garante que o job será interrompido ao se atingir o fim da fila.
- Adicione outra atividade Decisão de Fluxo ao painel Projeto e conecte-a à ramificação Verdadeiro da decisão de fluxo criada na etapa 11.
-
No painel Propriedades, no campo Condição, digite
cint(TransItem.SpecificContent("OnUSCheck").ToString) < 5000
, onde:cint
converte uma variável do tipo string para uma do tipo integer.TransItem
é a variável QueueItem (etapa 18) usada para armazenar os itens.SpecificContent("OnUSCheck")
Recupera o conteúdo do argumento Cheque On Us para cada item..ToString
converte o conteúdo da variável QueueItem em uma variável string.-
< 5000
é a condição contra a qual é efetuada a verificação.A expressão acima converte o valor OnUSCheck em cada variável QueueItem em uma variável string que será convertida posteriormente em um número inteiro. A conformidade do valor assim obtido será verificada pela condição.
- Adicione uma atividade Definir Status de Transação ao painel Projeto e conecte-a à ramificação Falso da decisão de fluxo anterior (etapa 13).
- No painel Propriedades, certifique-se de que o campo Status esteja definido para Fracasso e TipodeErro para Empresarial. Desta maneira, se o valor do cheque OnUs for maior ou igual a 5000, a transação será marcada como fracassada sob uma exceção Empresarial.
- No campo ItemDeTransação adicione a variável
TransItem
. - No campo Motivo, digite "Valor de cheque OnUs é maior que 5000" ou algo semelhante para exibir no caso das transações fracassadas.
- Conecte a atividade Definir Status de Transação à atividade Interrupção Necessária (etapa 6), para criar um loop e processar a próxima transação na fila.
- Adicione uma atividade Sequência ao painel Projeto e conecte-a à ramificação Verdadeiro da decisão de fluxo anterior (etapa 13). Dentro da sequência, adicione uma atividadeTeste de Captura e configure-a para que quaisquer potenciais erros sejam rotulados corretamente como erros de aplicativos ao processar os itens.
- Abra o aplicativo de UIDemo e faça login com o nome de usuário
admin
e a senhapassword
. -
Execute a seguinte série de atividades para cada um dos campos Compensado, Cheque On Us e Cheque Terceiros no aplicativo UIDemo:
- Na atividade Try Catch anterior, adicione uma atividade Use Application/Browser para abrir o aplicativo.
- Adicione uma atividade Type Into.
- Clique em Indicar destino na tela e selecione na interface do UIDemo o campo em branco correspondente a Cash In.
- No campo Digitar isso, digite
transItem.SpecificContent("CashIn").ToString
. Cada termo da expressão se encontra explicado acima (etapa 15). Esta expressão converte o valor em cada variável QueueItem em uma variável string.
- Adicione uma atividade Get Text após as atividades Type Into anteriores e selecione "Indicar destino na tela" no menu de opções.
- Aponte para o número da transação no aplicativo UIDemo e clique em Confirmar.
- Defina o campo Texto como uma nova variável, digamos,
TransNumber
. Isso recupera o número de transação para cada item de fila que atenda à condição inicial. - Adicione uma atividade Set transaction status após a atividade Get Text.
- Certifique-se de que o campo Status esteja definido como Bem-sucedido e que o ErrorType esteja definido como Aplicativo. Assim, caso o conjunto de valores seja introduzido com sucesso no aplicativo, o status da transação será definido como Sucesso; caso contrário, será classificado como uma exceção de aplicativo.
- Na janela Saída, defina um novo argumento e adicione a variável criada anteriormente,
TransNumber
(etapa 25) como valor. - No campo Item de transação, adicione a variável
TransItem
. - Adicione uma atividade Click após a atividade Set transaction status.
- Clique em Indicar destino na tela e selecione o botão Aceitar na interface do UIDemo.
-
A atividade Teste de Captura deverá ter uma aparência semelhante à seguinte captura de tela:
- Retorne para o fluxograma e conecte a atividade anterior Sequência (etapa 21) à atividade Interrupção Necessária (etapa 6) para criar um loop e processar a próxima transação na fila.
-
O fluxograma deve ter aparência semelhante à seguinte captura de tela:
- Para executar o processo, clique em Projeto > Executar.
- Após a execução terminar, você pode navegar até https://cloud.uipath.com e exibir as transações processadas com os detalhes de processamento correspondentes:
-
Transação Bem-Sucedida
-
Transação Fracassada