- Introducción
- Primeros pasos
- Modelado de procesos
- Comprender el modelado del proceso
- Abrir el lienzo de modelado
- Modelar tu proceso
- Alinear y conectar elementos BPMN
- Autopilot™ para Maestro (vista previa)
- Implementación del proceso
- Depuración
- Simular
- Publicar y actualizar procesos de agente
- Escenarios de implementación comunes
- Extracción y validación de documentos
- Operaciones de proceso
- Supervisión de procesos
- Optimización de procesos
- Información de referencia

Guía del usuario de Maestro
Transición de C# a expresiones de JavaScript
Propósito
Esta página te ayuda a migrar los procesos de Maestro existentes de expresiones C# a expresiones JavaScript.UiPath está dejando de utilizar C# como lenguaje de expresión en Maestro para proporcionar una experiencia de scripting unificada, resaltado de sintaxis moderno y compatibilidad más amplia con otros componentes de Automation Cloud.
Qué significa este cambio
- Las expresiones C# siguen funcionando y son completamente compatibles hasta que se eliminen oficialmente en una versión futura.
- Los nuevos proyectos y características de Maestro ahora utilizan expresiones JavaScript de forma predeterminada.
- Te recomendamos que migres las expresiones existentes a JavaScript para garantizar la compatibilidad futura.
Si ves un mensaje de alerta amarillo, significa que tu proyecto utiliza actualmente el editor de expresiones C# antiguo. Puedes seguir trabajando con tus expresiones existentes, pero te recomendamos que comiences a migrarlas a JavaScript.

Diferencias clave de un vistazo
| Concepto | Sintaxis C# | Sintaxis JavaScript | Notas |
|---|---|---|---|
| Concatenación de cadenas | "Hello " + name | "Hello " + name | Idéntica en ambos lenguajes. |
| Conversión mayúsculas/minúsculas | userName.ToUpper() | userName.toUpperCase() | El nombre de método utiliza minúsculas toUpperCase. |
| Igualdad | amount == 100 | amount === 100 | Usa === para igualdad estricta. |
| Nulo o vacío | string.IsNullOrEmpty(x) | !x o x === "" | JavaScript trata null y undefined como falsy. |
| Longitud de colecciones | items.Count | items.length | El nombre de la propiedad difiere. |
| Expresión condicional | amount > 5000 ? "High" : "Low" | amount > 5000 ? "High" : "Low" | Misma sintaxis en ambos idiomas. |
| Interpolación de string | $"Hello {name}" | `Hello ${name}` | Usa backticks (`) para plantillas de cadena. |
| Fecha ahora | DateTime.Now | new Date() | Usa el objeto Date de JavaScript. |
| Math | Math.Round(x) | Math.round(x) | Los nombres de las funciones son en minúsculas en JavaScript. |
Cómo actualizar las expresiones existentes
- Abre el Editor de expresiones para cada propiedad o condición de puerta de enlace afectada.
- Copia la expresión C# y adáptala utilizando la sintaxis de JavaScript (consulta la tabla Diferencias principales).
- Utiliza Prueba en el editor para confirmar el resultado.
- Guarda y vuelve a publicar tu proceso.
Al migrar fórmulas complejas, valida los nombres de variables y asegúrate de que todas las comparaciones de string utilicen ===.
Ejemplo de migración
Antes (C#): vars.total = items.Sum(x => x.Price); if (vars.total > 10000) vars.priority = "High";
Después (JavaScript): vars.total = items.reduce((sum, x) => sum + x.Price, 0); if (vars.total > 10000) vars.priority = "High";
Equivalentes utilizados con frecuencia
| Acción común | C# | Javascript |
|---|---|---|
| Comprobar varias condiciones | (a && b) || c | (a && b) || c |
| Analizar número | int.Parse(x) | parseInt(x) |
| Convertir a string | value.ToString() | String(value) |
| Redondear a 2 decimales | Math.Round(x, 2) | Number(x.toFixed(2)) |
| Comparar ignorando mayúsculas/minúsculas | name.Equals("UIPath", StringComparison.OrdinalIgnoreCase) | name.toLowerCase() === "uipath" |
Consejos de prueba
- Usa el botón Prueba en el editor de expresiones para confirmar las salidas.
- Ten en cuenta las diferencias en el manejo nulo y la coerción de tipo (
===frente a==). - Las cadenas y números se convierten automáticamente en JavaScript; utiliza conversiones explícitas si la precisíón es crítica.
Próximos pasos
- Comienza a escribir nuevas expresiones en JavaScript.
- Actualiza procesos existentes a lo largo del tiempo utilizando esta guía.
- Planifica la migración utilizando Autopilot o traducción manual.
- Haz un seguimiento de las notas de la versión futuras para la eventual eliminación de expresiones C#.