Controller

El objetivo del Controller es poder determinar un comportamiento a aplicar después de que es confirmado un registro de la Transacción del nivel superior declarada en la instancia.

En Transacciones complejas, en las que tenemos cabezal y líneas y eventualmente otras cosas, en las que después de ingresar el cabezal tenemos que pasar al Trabajar Con Líneas. Entonces para estos casos, el Controller lo que nos permite básicamente es programar un Web Panel que no tiene interfaz gráfica, sólo tiene el Event Start en el cual podemos insertar un PreviousCode en la sección Events para instanciar algún dato, alguna variable que podamos necesitar a fin de evaluar la condición que va a determinar la secuencia de ejecución.

Podemos asimilar la prestación del Controller a la prestación del Conditional Call que vimos para las Acciones. Si hacemos botón derecho sobre el nodo “Conditional Call” y Add conditionalCall, agregamos a la instancia el nodo “Call”: En este nodo Call se declara el objeto “GXObject” a llamar cuando se cumpla la condición “Condition” de la sección “General”. Y esta condición se puede instanciar, como vimos, en el PreviousCode del nodo Controller. Y hay que asumir que los datos que tenemos en el Controller, habiendo una Tabla Base (que debe haberla porque partimos de una Transacción), en ese PreviousCode están instanciados los valores correspondientes a los atributos, o sea, que se va a hacer automáticamente el ForEach sobre la Tupla que se acaba de manipular, porque esa información la tenemos en los parámetros que estamos recibiendo de la Transacción.

Esto quiere decir que los parámetros que recibe el Controlador son los mismos parámetros que va a recibir la Transacción: El Modo y las Claves. Obviamente en el caso de Insert, las Claves se reciben ya instanciadas con el valor que se insertó y uno puede en el PreviousCode o directamente en la Condition del nodo Call preguntar por los valores de los atributos de la Transacción. Si el atributo tal fuera tal cosa..., sin necesidad de hacer un ForEach ni ninguna otra cosa porque eso ya está instanciado dentro de la lógica del sistema.

Esto es lo que permite afectar la secuencia de ejecución dependiendo de lo que se haya hecho a nivel de un registro de la Transacción.

Grupos de Propiedades:

Sub Nodos: