Lenguaje de Expresiones

Te permiten implementar lógica de negocio en el modelamiento de los procesos.

Ej:

  • Condiciones para avanzar hacia una tarea
  • Renderizado de documentos
  • Renderizado de formularios

Variables Simple

Simple almacena variables obtenidas durante un trámite.

El valor de las variables es un JSON.

Ej:

["hola mundo", "bla bla"]
"Juan"
{"codigo": "UY", "pais": "Uruguay"}

Los inputs de los formularios almacenan sus resultados en variables Simple.

También las variables pueden ser llenadas por otros métodos:

  • Acción Generar Variable
  • Acción Consultar Webservice

Las variables se obtienen en Simple mediante la sintaxis:

@@nombreDeVariable

Variables de Sesión Simple

Simple adicionalmente almacena variables de sesión. Corresponden a datos del usuario logueado y realizando el trámite.

Las variables de sesión disponible son:

  • nombres
  • apellido_paterno
  • apellido_materno
  • email
  • tramite_id

Las variables de sesión se obtienen en Simple mediante la sintaxis:

@!nombreDeVariable

Variable Globales Simple

Simple adicionalmente almacena variables con la información de todos los trámites correspondientes a un proceso.

Por ejemplo, si la variable de un trámite se llama edad, la variable global edad obtendrá un array de todos los campos edad que ha completado la gente que ha hecho el trámite.

Las variables globales se obtienen en Simple mediante la sintaxis:

@#nombreDeVariable

Operaciones con expresiones

El motor de expresiones de Simple permite incluso aplicar funciones sobre una variable.

Ej:

strlen(@@nombreDeVariable)

Se admiten todas las funciones PHP que se encuentre dentro de una Whitelist:

application/libraries/SaferEval.php

Se permiten también operadores lógicos PHP

==, >=, <=, !=, <,>

Motor de expresiones

El motor que calcula el resultado de las expresiones simple se encuentra en:

application/models/regla.php

Esta clase Regla tiene los siguientes métodos:

// Constructor: Asigna la expresión a evaluar
public function __construct($regla)

// Evalúa una expresión y da su resultado
public function evaluar($etapa_id)

public function getExpresionParaEvaluar($etapa_id)
Obtiene la expresión que será evaluada

Por ejemplo, este es el resultado si ejecuta el método evaluar con la siguiente expresión:

strlen(@@nombre) => 7   //@@nombre = "Nicolas"

Este es el resultado si se ejecuta en cambio el método getExpresionParaEvaluar

strlen(@@nombre) => strlen(“Nicolas”)   //@@nombre = "Nicolas"