UiPath Documentation
maestro
latest
false
Guía del usuario de Maestro
Importante :
La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.

Transición de C# a expresiones de JavaScript

Migra los procesos de Maestro de C# a expresiones JavaScript para alinearlos con la experiencia de scripting unificada de UiPath y el calendario de obsolescencia.

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.

ADVERTENCIA:

Las expresiones C# se han declarado obsoletas. Maestro ahora muestra una advertencia de obsolescencia en todas las expresiones C#, que incluye la fecha de eliminación planificada.

JavaScript es el lenguaje de expresión predeterminado para todos los nuevos desarrollos de Maestro.

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​

ConceptoSintaxis C#Sintaxis JavaScriptNotas
Concatenación de cadenas"Hello " + name"Hello " + nameIdéntica en ambos lenguajes.
Conversión mayúsculas/minúsculasuserName.ToUpper()userName.toUpperCase()El nombre de método utiliza minúsculas toUpperCase.
Igualdadamount == 100amount === 100Usa === para igualdad estricta.
Nulo o vacíostring.IsNullOrEmpty(x)!x o x === ""JavaScript trata null y undefined como falsy.
Longitud de coleccionesitems.Countitems.lengthEl nombre de la propiedad difiere.
Expresión condicionalamount > 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 ahoraDateTime.Nownew Date()Usa el objeto Date de JavaScript.
MathMath.Round(x)Math.round(x)Los nombres de las funciones son en minúsculas en JavaScript.

Cómo actualizar las expresiones existentes​

Para migrar una expresión de C# a JavaScript, abre el Editor de expresiones para cada propiedad afectada y adapta la sintaxis utilizando los equivalentes de la tabla anterior.

  1. Abre el Editor de expresiones para cada propiedad o condición de puerta de enlace afectada.

  2. Copia la expresión C# y adáptala utilizando la sintaxis de JavaScript (consulta la tabla Diferencias principales).

  3. Utiliza Prueba en el editor para confirmar el resultado.

  4. Guarda y vuelve a publicar tu proceso.

    Resultado: las expresiones se actualizan a la sintaxis de JavaScript y el proceso está listo para publicarse sin advertencias de obsolescencia.

Consejo:

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";
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";
vars.total = items.reduce((sum, x) => sum + x.Price, 0);
if (vars.total > 10000) vars.priority = "High";

Equivalentes utilizados con frecuencia​

Acción comúnC#Javascript
Comprobar varias condiciones(a && b) || c(a && b) || c
Analizar númeroint.Parse(x)parseInt(x)
Convertir a stringvalue.ToString()String(value)
Redondear a 2 decimalesMath.Round(x, 2)Number(x.toFixed(2))
Comparar ignorando mayúsculas/minúsculasname.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#.

¿Te ha resultado útil esta página?

Conectar

¿Necesita ayuda? Soporte

¿Quiere aprender? UiPath Academy

¿Tiene alguna pregunta? Foro de UiPath

Manténgase actualizado