- Introducción
- Primeros pasos
- Crear en cualquier lienzo
- Crear con caso
- Referencia
- Definir claves de caso (de sistema o externo)
- Establecer contratos de entrada/salida y de escritura diferida de tareas
- Modelar las etapas principal y secundaria
- Iniciar un caso desde Data Fabric
- Implementar perfiles y permisos a nivel de etapa
- Establecer SLA y reglas de escalado automatizadas
- Configurar un bucle de reprocesamiento (reingreso)
- Configurar y probar el agente de Case Manager (vista previa)
- Crear con flujo
- Crear con BPMN
- En funcionamiento
- Supervisión
- Optimizando
- Información de referencia
Script
El nodo Script ejecuta código JavaScript y devuelve su resultado, con la configuración, el entorno JavaScript y ejemplos.
Lo que hace
Ejecuta código JavaScript y pasa el valor devuelto a los nodos posteriores.
Referencia de configuración
| Campo | Obligatorio | Predeterminado | Descripción |
|---|---|---|---|
| Código | Sí | Ninguno | Código JavaScript a ejecutar. Debe contener una instrucción return , y el valor devuelto se convierte en la salida del nodo. |
El entorno JavaScript
Los scripts se ejecutan en un runtime aislado y tienen acceso a:
$vars: el ámbito de la variable del flujo de trabajo. La salida de los nodos anteriores está disponible como$vars.<nodeName>.<property>.$metadata: información sobre la ejecución, comoInstanceId.- JavaScript estándar integrado, como
JSON,Math,Date,Array,Object,String,Number,RegExp,Error,Promise,URL,URLSearchParamsy las funciones de temporizador.
Por seguridad, el runtime bloquea las API de red (fetch, XMLHttpRequest, WebSocket), la ejecución de código dinámico (eval, Function) y las API de almacenamiento (indexedDB, caches). Para llamar a una API externa, el nodo Solicitud HTTP es la alternativa.
Los scripts están destinados a una lógica rápida en memoria: mantenlos rápidos y evita procesar cargas útiles muy grandes, que pueden superar los límites de tiempo de ejecución o el tiempo de espera.
Acceder a la salida del nodo anterior
Los nodos anteriores se leen con $vars.<nodeName>.<property>, donde <nodeName> es el ID del nodo, que se muestra en la pestaña Avanzado de su panel de propiedades:
// Access HTTP Request node response
const body = $vars.httpRequest1.output.body;
const status = $vars.httpRequest1.output.code;
// Access a workflow variable
const count = $vars.myVariable;
// Access HTTP Request node response
const body = $vars.httpRequest1.output.body;
const status = $vars.httpRequest1.output.code;
// Access a workflow variable
const count = $vars.myVariable;
ValorDeRetorno
El script debe devolver un valor. El valor devuelto se convierte en la salida del nodo, accesible en sentido descendente como $vars.<nodeName>.output:
return {
message: "Processed",
count: items.length
};
return {
message: "Processed",
count: items.length
};
Entradas y salidas
Entrada
El nodo Script puede acceder a cualquier variable anterior a través de $vars. No tiene un esquema de entrada con tipo: cualquier cosa en $vars está disponible.
Salida
En caso de éxito, la salida $vars.<nodeName>.output, que es el valor devuelto por el script. Su forma depende de lo que devuelva el script.
En caso de fallo, cuando se conecta un controlador de errores, el error es $vars.<nodeName>.error
{
"code": "string",
"message": "string",
"detail": "string",
"category": "string",
"status": 0
}
{
"code": "string",
"message": "string",
"detail": "string",
"category": "string",
"status": 0
}
Generar scripts con IA
El icono de destello sobre el editor de código acepta una descripción en lenguaje sencillo de lo que quieres y genera el JavaScript para ti. Esto es útil para acceder a la salida de un nodo ascendente o escribir una transformación rápida sin buscar la sintaxis $vars exacta.
Ejemplos
Ejemplo 1: calcular valores para nodos posteriores
// Set a variable that downstream nodes can reference
return {
orderTotal: $vars.httpRequest1.output.body.price * $vars.httpRequest1.output.body.quantity,
currency: "USD"
};
// Set a variable that downstream nodes can reference
return {
orderTotal: $vars.httpRequest1.output.body.price * $vars.httpRequest1.output.body.quantity,
currency: "USD"
};
Los nodos posteriores acceden a los valores como $vars.script1.output.orderTotal y $vars.script1.output.currency.
Ejemplo 2: leer una respuesta HTTP
const data = $vars.httpRequest1.output.body;
return {
title: data.title,
userId: data.userId
};
const data = $vars.httpRequest1.output.body;
return {
title: data.title,
userId: data.userId
};
Ejemplo 3: lógica condicional
const status = $vars.httpRequest1.output.code;
if (status === 200) {
return { success: true, data: $vars.httpRequest1.output.body };
} else {
return { success: false, statusCode: status };
}
const status = $vars.httpRequest1.output.code;
if (status === 200) {
return { success: true, data: $vars.httpRequest1.output.body };
} else {
return { success: false, statusCode: status };
}
Ejemplo 4: transformar una matriz
const items = $vars.fetchItems1.output.body;
return {
count: items.length,
names: items.map(item => item.name)
};
const items = $vars.fetchItems1.output.body;
return {
count: items.length,
names: items.map(item => item.name)
};
Elegir entre Script y Transformación de datos
| Usar script cuando... | Utilizar Transformación de datos cuando... |
|---|---|
| Necesitas la lógica de JavaScript completa: bucles, condicionales, manipulación de cadenas | Necesita una asignación de campo simple o una transformación sin código |
| Desea calcular algo a partir de la salida del nodo anterior | Quieres un asignador visual sin escribir código |
| La transformación es compleja o con estado | La transformación es una reforma directa |
Próximos pasos
- Variables y flujo de datos:
$vars, sintaxis de expresión y ámbito de variable. - Nodo de solicitud HTTP: una fuente típica de datos para un script.
- Nodo de decisión: ramificación en la salida de un script.
- Lo que hace
- Referencia de configuración
- El entorno JavaScript
- Acceder a la salida del nodo anterior
- ValorDeRetorno
- Entradas y salidas
- Entrada
- Salida
- Generar scripts con IA
- Ejemplos
- Ejemplo 1: calcular valores para nodos posteriores
- Ejemplo 2: leer una respuesta HTTP
- Ejemplo 3: lógica condicional
- Ejemplo 4: transformar una matriz
- Elegir entre Script y Transformación de datos
- Próximos pasos