Introducción
Se implementó una alternativa al diálogo de pantalla completa manejado en las aplicaciones con interfaz Windows generadas en Java y .NET. Esta alternativa provee una mayor interacción con el usuario final, realizando validaciones y cálculos a medida que se ingresan datos.
Hasta ahora las aplicaciones con interfaz Windows generadas con .NET y Java realizaban las validaciones de los campos en el momento de presionar el botón confirmar. A partir de la versión GeneXus Olimar, las validaciones y cálculos se realizan a medida que se ingresan los campos, permitiendo así un mayor control sobre los mismos.
Descripción
La validación al nivel de cliente es una alternativa a la validación en el servidor. Permite incrementar sustancialmente la interacción de las Transacciones con el usuario final. Esto se logra validando los datos y calculando fórmulas a medida que el usuario se mueve entre los campos de la pantalla y/o ingresa información en ellos.
La validación al nivel de cliente no evita que se realice la validación a nivel del servidor. Esta última siempre se realiza para asegurar la integridad de los datos y evitar realizar bloqueos de registros mientras el usuario final esta ingresando datos.
Por esta razón, las reglas de una Transacción pueden ejecutarse más de una vez. Es necesario entonces tener esto en cuenta, si las reglas invocan programas que actualizan la base de datos.
El procesamiento de los datos ingresados por el usuario final es a "pantalla completa". Esto implica que no se graba por nivel. En particular, utilizando como ejemplo la inserción en una Transacción típica de facturación, el cabezal no se graba en la Base de Datos cuando el usuario final esta ingresando el detalle. Tampoco, en el mismo ejemplo, se graba cada línea de detalle al terminar cada una de ellas.
Otro aspecto importante a considerar en cuanto a este diálogo es que, nuevamente en el ejemplo típico de facturación, no está previsto un método programático para agregar líneas de detalle. Por ejemplo, no es posible invocar a un procedimiento que agregue líneas en el detalle de una Transacción de facturación.
Una recomendación general es que las reglas no deberían involucrar llamadas a objetos con interfaz (otras Transacciones, Work Panels, etc.) o que actualicen la base de datos.
Para habilitar la validación a nivel del cliente, se cuenta con la propiedad del modelo, dentro del grupo "User Interfase", llamada "Client Side Validation".
Esta propiedad permite seleccionar el nivel de interacción con el usuario final de las Transacciones para aplicaciones Windows.
Valores
Yes: Activa la realización de validaciones y cálculos, a medida que el usuario final ingresa datos en los diferentes campos de la pantalla. Las validaciones y cálculos se repiten cuando el usuario activa el evento Enter.
No: Evita la realización de validaciones y cálculos, a medida que el usuario final ingresa datos en los diferentes campos de la pantalla. Toda la validación y cálculos se realizan una vez que el usuario activa el evento Enter.
Valor por defecto = No
Se cuenta además con la propiedad de mismo nombre a nivel del objeto Transacción, dentro del grupo "Java and C# Specific", donde además de los valores mencionados tiene el valor "Use model's property value". Este valor indica que se va a tomar el valor de la propiedad del modelo para habilitar o no este comportamiento. Este último es el valor por defecto.
Por más información sobre la versión Olimar de GeneXus:
http://www.genexus.com/olimar