- 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
- Comparação de arquivos
- Melhores Práticas de Automação
- Integração de controle de origem
- Depuração
- 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
- SR-DB-002 - Contagem alta de argumentos
- SR-DB-003 - Esvaziar bloco catechu
- SR-DB-007 - Múltiplas camadas Com fluxograma
- 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
- Argumentos
- Namespaces Importados
- Automações codificadas
- Automação assistida baseada em gatilho
- Fluxo de controle
- Repo. de Objetos
- Geração de logs
- A ferramenta ScreenScrapeJavaSupport
- Teste do Studio
- 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
- O pacote UiPath.UIAutomation.Activities e as versões do UiPath Remote Runtime não correspondem
- A extensão do UiPath necessária não está instalada na máquina remota
- Configurações de resolução de tela
- Políticas de grupo
- 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
- Políticas de grupo
- 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 o Varear Horizonte
- Plug-in do SAP Solution Manager
- Suplemento do Excel
- 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

Guia do usuário do Studio
Invocando arquivo de código-fonte
Use esse fluxo de trabalho para invocar um arquivo de código-fonte em um fluxo de trabalho de pouco código. Neste exemplo, criamos uma classe chamada no arquivo de TimeSpanHelperTimeSpanHelper.cscódigo-fonte. Esta classe gera um intervalo de tempo aleatório com base nos limites especificados. Para integrar essa classe em um fluxo de trabalho de pouco código, usamos uma atividade Invoke Workflow File, seguida por outras atividades de pouco código, dependendo do caso de uso.
- Crie um arquivo de código-fonte. Para este exemplo, nomeie-o
TimeSpanHelper.cs. - No arquivo de código-fonte, crie uma classe pública chamada TimeSpanHelper.
-
Dentro da classe TimeSpanHelper, declare um objeto estático privado Random chamado
_randompara gerar valores aleatórios.private static Random _random = new Random();private static Random _random = new Random(); -
Declare um objeto estático privado chamado
_lockObjpara proteger a thread, enquanto trabalha com várias threads ao mesmo tempo.private static object _lockObj = new object();private static object _lockObj = new object(); -
Implemente um método estático público chamado
GetRandomTimeSpanBetweenque recebe dois parâmetros integer:lowerBoundMseupperBoundMs.public static TimeSpan GetRandomTimeSpanBetween(int lowerBoundMs, int upperBoundMs) {public static TimeSpan GetRandomTimeSpanBetween(int lowerBoundMs, int upperBoundMs) { -
Use a instrução lock com
_lockObjpara proteger essa thread, enquanto trabalha com várias threads ao mesmo tempo.lock (_lockObj) {lock (_lockObj) { -
Dentro do bloco lock , gere um valor inteiro aleatório usando
_random.Nexte passelowerBoundMseupperBoundMscomo argumentos.var ms = _random.Next(lowerBoundMs, upperBoundMs);var ms = _random.Next(lowerBoundMs, upperBoundMs); -
Converter o valor aleatório gerado em um
TimeSpanobjeto usandoTimeSpan.FromMillisecondse retornar esse valor diretamente do método com o seguinte comando de retorno:return TimeSpan.FromMilliseconds(ms);return TimeSpan.FromMilliseconds(ms);
-
Com base nessas etapas, seu código final deve ser assim:
public class TimeSpanHelper
{
private static Random _random = new Random();
private static object _lockObj = new object();
public static TimeSpan GetRandomTimeSpanBetween(int lowerBoundMs, int upperBoundMs)
{
lock (_lockObj)
{
var ms = _random.Next(lowerBoundMs, upperBoundMs);
return TimeSpan.FromMilliseconds(ms);
}
}
}
public class TimeSpanHelper
{
private static Random _random = new Random();
private static object _lockObj = new object();
public static TimeSpan GetRandomTimeSpanBetween(int lowerBoundMs, int upperBoundMs)
{
lock (_lockObj)
{
var ms = _random.Next(lowerBoundMs, upperBoundMs);
return TimeSpan.FromMilliseconds(ms);
}
}
}
- Crie um fluxo de trabalho de pouco código. Para este exemplo, nomeie-o
WorkflowUsingCodeSourceFile. - Adicione uma atividade Log Message para gerar um intervalo de tempo aleatório entre dois e quatro segundos.
- No campo Mensagem, digite o nome do projeto, chame o arquivo de código-fonte e, em seguida, chame o método
GetRandomTimeSpanBetween.
No exemplo abaixo, CodedWorkflowInteroperabilityé o nome do projeto.
CodedWorkflowInteroperability.TimeSpanHelper.GetRandomTimeSpanBetween(2000, 4000)
CodedWorkflowInteroperability.TimeSpanHelper.GetRandomTimeSpanBetween(2000, 4000)