- Introdução
- Introdução
- Modelagem de processos
- Noções Básicas sobre Modelagem de Processos
- Abertura da tela de modelagem
- Modelagem de seu processo
- Alinhamento e conexão de elementos BPMN
- Autopilot™ para Maestro (pré-visualização)
- Implementação de processos
- Configuração de propriedades e dados
- Variáveis e Editor de expressão
- Events
- Gateways
- Implementação de várias instâncias
- Subprocessos
- Projetos baseados em soluções: configurações especiais
- Transição de expressões de C# para expressões JavaScript
- Depuração
- Simulação
- Publicação e atualização de processos agênticos
- Cenários de implementação comuns
- Extração e validação de documentos
- Operações do processo
- Monitoramento de processo
- Otimização de processos
- Informações de referência

Guia do usuário do Maestro
Transição de expressões de C# para expressões JavaScript
Finalidade
Esta página ajuda você a mover processos existentes do Maestro de expressões de C# para expressões de JavaScript. A UiPath está descontinuando o C# como linguagem de expressão no Maestro para fornecer uma experiência de script unificada, destacando a sintaxe moderna e compatibilidade mais ampla com outros componentes do Automation Cloud.
O que essa alteração significa
- As expressões C# continuam a funcionar e são totalmente compatíveis até que sejam oficialmente removidas em uma versão futura.
- Novos projetos e funcionalidades do Maestro agora usam expressões JavaScript por padrão.
- Recomendamos que você migre expressões existentes para o JavaScript para garantir a compatibilidade futura.
Se você vir uma mensagem de alerta amarela, isso significa que seu projeto usa atualmente o editor de expressão C# mais antigo. Você pode continuar trabalhando com suas expressões existentes, mas recomendamos que comece a migrá-las para o JavaScript.

Resumo das principais diferenças
| Conceito | Sintaxe do C# | Sintaxe do JavaScript | Observações |
|---|---|---|---|
| Concatenação de strings | "Hello " + name | "Hello " + name | Idênticos em ambos os idiomas |
| Conversão de casos | userName.ToUpper() | userName.toUpperCase() | Nome do método usa letras minúsculas toUpperCase. |
| Igualdade | amount == 100 | amount === 100 | Use === para igualdade rigorosa. |
| Nulo ou vazio | string.IsNullOrEmpty(x) | !x ou x === "" | O JavaScript trata null e undefined como falsos. |
| Tamanho das coleções | items.Count | items.length | O nome da propriedade difere. |
| Expressão condicional | amount > 5000 ? "High" : "Low" | amount > 5000 ? "High" : "Low" | Mesma sintaxe em ambos os idiomas. |
| Interpolação de string | $"Hello {name}" | `Hello ${name}` | Use backticks (`) para literais de modelo. |
| Data agora | DateTime.Now | new Date() | Use o Object JavaScript Date. |
| Matemática | Math.Round(x) | Math.round(x) | Os nomes das funções são em letra minúscula no JavaScript. |
Como atualizar expressões existentes
- Abra o Editor de expressão para cada propriedade ou condição do gateway afetada.
- Copie a expressão C# e adapte-a usando a sintaxe do JavaScript (consulte a tabela Resumo das principais diferenças).
- Use Teste no editor para confirmar o resultado.
- Salve e publique novamente seu processo.
Ao migrar fórmulas complexas, valide nomes de variáveis e certifique-se de que todas as comparações de strings usem ===.
Exemplo de migração
Antes (C#): vars.total = items.Sum(x => x.Price); if (vars.total > 10000) vars.priority = "Alta";
Depois (JavaScript): vars.total = items.reduce((sum, x) => sum + x.Price, 0); if (vars.total > 10000) vars.priority = "Alta";
Equivalentes usados com frequência
| Ação comum | C# | JavaScript |
|---|---|---|
| Consultar várias condições | (a && b) || c | (a && b) || c |
| Analisar número | int.Parse(x) | parseInt(x) |
| Converter para string | value.ToString() | String(value) |
| Arredondar para 2 decimais | Math.Round(x, 2) | Number(x.toFixed(2)) |
| Comparar ignorando caso | name.Equals("UIPath", StringComparison.OrdinalIgnoreCase) | name.toLowerCase() === "uipath" |
Dicas de testes
- Use o botão Teste no Editor de expressões para confirmar as saídas.
- Preste atenção em diferenças no tratamento de valores nulos e coerção do tipo (
===vs==). - Strings e números são convertidos automaticamente para JavaScript; use casts explícitos se a precisão for crítica.
Próximas Etapas
- Comece a escrever novas expressões em JavaScript.
- Atualize processos existentes ao longo do tempo usando este guia.
- Planeje a migração usando o Autopilot ou a tradução manual.
- Rastreie futuras notas de versão para a eventual remoção de expressões C#.