- Introducción
- Primeros pasos
- Modelado de procesos con BPMN
- Comprender el modelado del proceso
- Abrir el lienzo de modelado
- Modelar tu proceso
- Alinear y conectar elementos BPMN
- Autopilot para Maestro (vista previa)
- Repositorio de procesos
- Modelado de procesos con gestión de casos
- Diseñar un esquema de entidad de caso persistente
- Definir claves de caso (de sistema o externo)
- Establecer contratos de entrada/salida y de escritura diferida de tareas
- Reglas de salida y terminación temprana de etapas
- 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)
- Gestionar instancias de casos en ejecución: pausar, migrar y reintentar
- Diccionario de componentes de la gestión de casos de Maestro
- Modelado de procesos con Flow
- 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
Referencia de nodo de script: configuración, entorno y ejemplos de JavaScript.
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 |
|---|---|---|---|
| Script | Sí | Ninguno | Código JavaScript a ejecutar. Debe contener una instrucción return ; el valor devuelto se convierte en la salida de este nodo. |
El entorno JavaScript
Los scripts se ejecutan en un runtime aislado y tienen acceso a:
$vars: el ámbito de la variable del flujo. Accede a la salida del nodo anterior a través de$vars.<nodeName>.<property>.metadata: metadatos de ejecución de flujo- 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, utiliza el nodo de solicitud HTTP en su lugar.
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
Usa $vars.<nodeName>.<property> donde <nodeName> es el nombre de la variable del nodo (que se muestra en el panel de propiedades):
// Access HTTP Request node response
const body = $vars.httpRequest1.output.body;
const status = $vars.httpRequest1.output.statusCode;
// Access a flow variable
const count = $vars.myVariable;
// Access HTTP Request node response
const body = $vars.httpRequest1.output.body;
const status = $vars.httpRequest1.output.statusCode;
// Access a flow 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 — $vars.<nodeName>.output:
El valor devuelto del script. La forma depende de lo que devuelva el script.
En caso de fallo (cuando se conecta un controlador de errores) — $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 la varita mágica sobre el editor de scripts 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: establecer una variable de proceso
// 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: procesar 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.statusCode;
if (status === 200) {
return { success: true, data: $vars.httpRequest1.output.body };
} else {
return { success: false, statusCode: status };
}
const status = $vars.httpRequest1.output.statusCode;
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)
};
Cuándo utilizar esto frente a Data Transform
| 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 |
Páginas relacionadas
- Variables y flujo de datos :
$vars, sintaxis de expresión, ámbito de variable - Nodo de solicitud HTTP : fuente de datos ascendente típica
- Nodo de decisión : rama basada en la salida del 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: establecer una variable de proceso
- Ejemplo 2: procesar una respuesta HTTP
- Ejemplo 3: lógica condicional
- Ejemplo 4: transformar una matriz
- Cuándo utilizar esto frente a Data Transform
- Páginas relacionadas