- Introdução
- Introdução
- Crie em qualquer tela
- Criar com Caso
- Referência
- Definição de chaves de caso (sistema versus externo)
- Estabelecimento de contratos de E/S e de write-back
- Modelagem de estágios primário e secundário
- Disparo de um caso a partir do Data Fabric
- Implementação de personas e permissões no nível de estágio
- Configuração de SLAs e regras de escalonamento automatizadas
- Configuração de um loop de retrabalho (reentrada)
- Configuração e teste do agente do caso (pré-visualização)
- Criar com fluxo
- Criar com BPMN
- Configuração de propriedades e dados
- Configuração do tratamento de erros
- Variáveis e Editor de expressão
- Events
- Gateways
- Implementação de várias instâncias
- Projetos baseados em soluções: configurações especiais
- Transição de expressões de C# para expressões JavaScript
- Operando
- Monitoramento
- Otimizando
- Informações de referência
Transição de expressões de C# para expressões JavaScript
Migrate Maestro Orchestrate processes from C# to JavaScript expressions to align with UiPath's unified scripting experience and deprecation timeline.
Finalidade
This page helps you move existing Maestro Orchestrate processes from C# expressions to JavaScript expressions. UiPath is deprecating C# as an expression language in Maestro Orchestrate to provide a unified scripting experience, modern syntax highlighting, and broader compatibility with other Automation Cloud components.
C# expressions are deprecated. Maestro Orchestrate now shows a deprecation warning on all C# expressions, including the planned removal date.
JavaScript is the default expression language for all new Maestro Orchestrate development.
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.
- New Maestro Orchestrate projects and features now use JavaScript expressions by default.
- 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
Para migrar uma expressão em C# para JavaScript, abra o Editor de expressão para cada propriedade afetada e adapte a sintaxe usando os equivalentes na tabela acima.
-
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.
Resultado: as expressões são atualizadas para a sintaxe JavaScript e o processo está pronto para publicação sem avisos de descontinuação.
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 = "High";
vars.total = items.Sum(x => x.Price);
if (vars.total > 10000) vars.priority = "High";
Depois (JavaScript)
vars.total = items.reduce((sum, x) => sum + x.Price, 0);
if (vars.total > 10000) vars.priority = "High";
vars.total = items.reduce((sum, x) => sum + x.Price, 0);
if (vars.total > 10000) vars.priority = "High";
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#.