simpleVariables y complexVariables
En Kosmos, existen diferentes funciones y herramientas que ayudan a crear, obtener o modificar variables en un flujo. Para facilitar esta tarea, se han desarrollado dos métodos propios de la plataforma: simpleVariables y complexVariables.
El método simpleVariables.set se utiliza para obtener, crear variables de forma práctica en un flujo. Para asignar un valor a una variable, se utiliza la siguiente estructura:
simpleVariables.set("nombre_variable", valor);
El valor puede ser un valor fijo definido por el usuario, un valor capturado de un campo de formulario o el resultado de una función LET, entre otros. Además, también es posible modificar el valor de una variable existente utilizando el método simpleVariables.modify.
Por otro lado, el método complexVariables.set se utiliza para obtener, crear o modificar arreglos y objetos. Para crear un arreglo, se utiliza la siguiente estructura:
complexVariables.set("nombre_lista", [valor, valor, valor]);
Mientras que para crear un objeto, se utiliza la siguiente estructura:
complexVariables.set("nombre_objeto", {"variable": valor, "variable": valor, variable: valor});
Además de los ejemplos previos, tanto simpleVariables como complexVariables son compatibles con diversos tipos de datos y usos, lo que las hace herramientas muy versátiles. Para asignar, crear o modificar variables, según el tipo de dato, se escribe de la siguiente manera.
STRING - Escribe tu valor entre comillas.
ENTERO - Escribe el número.
FLOAT - Escribe el número con decimales.
DECLARACIÓN DE VARIABLES - Escribe el nombre de la variable
VARIABLE DE FLUJO - Escribe el nombre de la variable (parámetro de entrada).
BOOLEAN - Escribe true o false o, 0 o 1.
También es posible obtener documentos a través de base64 con la variación documentVariables.
A continuación, te mostramos algunos ejemplos:
STRING:
Para asignar un valor de tipo string a una variable, simplemente usamos la siguiente estructura:
simpleVariables.set("nombre_variable", "valor");
Ejemplo: simpleVariables.set (“carrito”, "vacio");
ENTERO:
Para asignar un valor de tipo entero a una variable, utilizamos esta estructura:
simpleVariables.set("nombre_variable", 123);
Ejemplo: simpleVariables.set (“carrito”, 0);
FLOAT:
Para asignar un valor de tipo float a una variable, utilizamos esta estructura:
simpleVariables.set("nombre_variable", 12.34);
Ejemplo: simpleVariables.set("temperatura", 28.04)
DECLARACIÓN:
Para asignar el resultado de una declaración de variables a otra variable, simplemente usamos su nombre:
simpleVariables.set("nombre_variable", variableDeclarada);
Ejemplo:
let numeroproductos;
numerproductos = carrito
simpleVariables.set (“pedido”, numeroproductos);
VARIABLE DE FLUJO:
Para asignar a una variable el valor de otra variable dentro del flujo, utilizamos la siguiente estructura:
simpleVariables.set("nombre_variable", variable);
Ejemplo: simpleVariables.set (“Variable”, campodeformulario); ➝ simpleVariables.set (“prospecto”, name);
BOOLEAN:
Para asignar un valor booleano a una variable, utilizamos la siguiente estructura:
simpleVariables.set("nombre_variable", true o false);
CREAR UN ARREGLO:
Para crear un arreglo, utilizamos esta estructura:
complexVariables.set("nombre_lista", [valor, valor, valor]);
También puedes crear arreglos con las distintas opciones seleccionados en campos de tipo Checklist.
Ejemplo: complexVariables.set("nombrelista", campo) ➝ complexVariables.set("productos", selecciona_dispositivos)
CREAR UN OBJETO:
Para crear un objeto, utilizamos esta estructura:
complexVariables.set("nombre_objeto", {“variable”: valor, “variable”: valor, variable: valor});
Ejemplo: complexVariables.set("prospecto", {“nombre”: Selene, “apellidop”: Delgado, "apellidom": Lopez})
OBTENER VALOR DE JSON:
Para obtener el valor de una propiedad de un objeto JSON, utilizamos esta estructura:
simpleVariables.set(“nombre_variable”, _json.get(“variable_respuesta”));
OBTENER VALOR DE UN OBJETO JSON:
Para obtener el valor de una propiedad de un objeto JSON, utilizamos esta estructura:
simpleVariables.set(“nombre_variable”, _json.get("objeto_respuesta").get(“variable_respuesta”));
OBTENER VALOR DE UN ARREGLO JSON:
Para obtener el valor de una propiedad de un arreglo JSON, utilizamos esta estructura:
simpleVariables.set("nombre_variable", _json.get("arreglo_respuesta")[1].get("variable_arreglo"));
OBTENER VALOR DE UN OBJETO XML:
Para obtener el valor de una propiedad de un objeto XML, utilizamos esta estructura:
simpleVariables.set("nombre_variable", _xml.get("objeto_respuesta").get("variable_respuesta"));
OBTENER VALOR DE XML:
Para obtener el valor de una propiedad de un objeto XML, utilizamos esta estructura:
simpleVariables.set(“nombre_variable”, _xml.get(“variable_respuesta”));
OBTENER OBJETO DE JSON:
Para obtener un objeto completo de un objeto JSON, utilizamos esta estructura:
complexVariables.set("nombre_objeto", _json.get("objeto_respuesta"));
"nombre_objeto" Es el nombre que le vas a dar al objeto en el flujo
"objeto_respuesta" Es el nombre del objeto tal y como aparece en la respuesta JSON.
OBTENER ARREGLO DE JSON:
Para obtener un arreglo completo de una respuesta JSON, utilizamos esta estructura:
complexVariables.set("nombre_lista", _json.get("lista_respuesta"));
"nombre_lista" Es el nombre que le vas a dar la lista en el flujo
"lista_respuesta" Es el nombre de la lista tal y como aparece en la respuesta JSON.
OBTENER OBJETO DE XML:
Para obtener un objeto completo de un objeto XML, utilizamos esta estructura:
complexVariables.set("nombre_objeto", _xml.get("objeto_repuesta"));
"nombre_objeto" Es el nombre que le vas a dar la lista en el flujo
"objeto_respuesta" Es el nombre de la lista tal y como aparece en la respuesta
CAMBIAR VALOR:
Para modificar un valor de tipo string a una variable, simplemente usamos la siguiente estructura:
simpleVariables.modify(“variable”, "nuevo_valor");
"variable" Es la variable cuyo valor vas a modificar
"nuevo_valor" Es el nuevo valor que se va a asignar a esa variable, puedes capturar un valor fijo, o usar otra variable.
Además de los ejemplos previos, tanto simpleVariables como complexVariables son compatibles con diversos tipos de datos y usos, lo que las hace herramientas muy versátiles. A continuación, te mostramos algunos ejemplos
Ejemplos de uso
Para asignar un número de cuenta aleatorio:
simpleVariables.set("numeroCuenta", Math.floor(Math.random() * 100000000));
En este caso, se usa una función matemática para generar un número aleatorio y se asigna a la variable "numeroCuenta".
Para calcular el monto de la primera inversión:
let montoInicial = net_monthly_income_ * 12;
simpleVariables.set("montoInicial", montoInicial);
En este caso, se realiza una operación matemática para calcular el monto de la primera inversión y se asigna a la variable "montoInicial". En este código se usa el parámetro de entrada net_monthly_income_ del campo “Ingreso neto mensual comprobable” de un formulario.