Prueba Velneo Gratis

Te ofrecemos todo el poder de Velneo durante 1 mes para desarrollar la aplicación que tu empresa necesita.

Saber más
Thank you! Check your email for confirmation.

En Acción

Como hemos comentado en artículos anteriores, estamos trabajando con las acciones y su uso desde menús, toolbars, opciones de menú, formularios, etc.Programación de barras de herramientas y menúsA partir de ahora, en tiempo de programación vamos a decidir, es decir, programar, cuál va a ser el uso de barras de herramientas, menús desplegables (pull-down), menús de contexto, botones, etc., y vamos a usar acciones como elemento a disparar desde cada uno de estos elementos. Luego toolbars, menús desplegables, opciones de menú formulario, barras de herramientas, etc., van a ser arrays de acciones, y las opciones de menú y botones de formularios van a ser lanzadores de acciones.También esto quiere decir que las barras de herramientas programadas quedan al mismo nivel que las que antes venían por defecto con el ejecutor (Archivo, Lista: Filtrar, ordenar, partir…, Ficha: alta, modificación, baja, fundir, Navegantes: Maestros, históricos…, Ver, Ventanas, etc.) y será el programador quien defina qué barras de menú o toolbars se ven y qué elementos contienen. Esos elementos serán las acciones y, no os preocupéis, vendrán preprogramadas las que sean estándar para poder usarlas o no.Las accionesLas acciones son objetos que contienen un nombre, un icono, un texto para el estado, otro para el tooltip, para la ayuda, una tecla aceleradora, condición de activo y visible, etc. y un comando con sus parámetros.Para ello tendremos disponibles una serie de comandos según la entrada: para lista tendremos filtrar, listar, ordenar, para ficha podremos escoger alta, modificar, baja, aceptar, cancelar, etc., para interfaz, finalmente, podremos cerrar ventana, cortar, copiar y pegar, etc. Es decir, todos aquellos correspondientes a opciones de menús, barras de herramientas por defecto, barras de herramientas programadas, etc.Nuevos comandos más flexiblesPero además dispondremos de un comando muy interesante que nos proporcionará mucha flexibilidad a la hora de manejar objetos: Ejecutar objetos.Ejecutar objetos nos permite seleccionar, independientemente de la entrada o en función de ella, un objeto a ejecutar, que podremos conectar de manera consecutiva con otros objetos, incluyendo otras acciones, en función del origen y el destino de cada uno de los objetos.Por ejemplo, podemos seleccionar una búsqueda. Pero como además nos permite conectar objetos de manera consecutiva, después de la búsqueda basta seleccionar una rejilla para que el resultado de la acción sea una búsqueda que muestre una rejilla. Si en vez de la rejilla, seleccionamos un informe, el resultado de la búsqueda se imprimirá usando el informe seleccionado.Pero es que si la acción la componemos con la búsqueda, la rejilla y el informe, al dispararla realizará la búsqueda, mostrará la rejilla e imprimirá el informe. Y podremos añadir tantos objetos como queramos a esta acción: lupas que nos filtren las listas, tubos de ficha o de lista, formularios, localizadores, procesos, etc., siempre en función de la entrada de la acción o de la salida del objeto anterior.De esta manera podremos componer opciones de menús complejas sin necesidad de usar procesos para ello, y que además funcionarán de forma dinámica.Este comando nos facilita la reutilización de los objetos ya que, por ejemplo, no será necesario crear varias rejillas para que dispongan de un informe por defecto distinto, de igual forma las búsquedas no tendrán una rejilla por defecto y será en las acciones cuando podremos definir qué rejillas mostará esa búsqueda (permitirá incluso múltiples rejillas para una misma búsqueda).Incluso podremos encadenar acciones, que podrán seleccionarse en función de la entrada y salida de cada una de ellas. Cuando usemos Ejecutar objetos podremos encadenar hasta diez objetos, por lo que si necesitamos encadenar más objetos basta llamar a otra acción.Origen y destino, entrada y salidaNacen ahora los conceptos de origen y destino, y entrada y salida aplicados a un objeto: una rejilla, por ejemplo, tiene de entrada una lista que junto con la tabla asociada determinan el origen.La salida de una rejilla será de lista y la tabla asociada la misma, luego el destino es el mismo que el origen. Lo mismo sucede para el informe, el casillero, el proceso de lista. Sin embargo, el tubo de lista, puede tener una tabla asociada de origen distinta a la de la tabla de salida.Los formularios, procesos de ficha, etc., tendrán como entrada ficha y como salida ficha. Por otro lado, un tubo de ficha, por ejemplo, como origen tiene entrada ficha y una cierta tabla asociada, pero como destino tendrá también salida ficha, pero la tabla asociada será distinta.Cómo encadenemos objetos a la hora de usar el comando Ejecutar objetos dependerá del origen y destino, entrada y salida de cada objeto.El uso de la acciónEn función del comando que seleccionemos en la acción, la entrada y la salida quedan determinadas. Una acción puede tener entrada ficha, entrada lista o sin entrada, independientemente de la tabla asociada. Por ejemplo, filtrar, tiene entrada lista y salida lista, independientemente de la tabla asociada. Sin embargo, cargar históricos de la ficha seleccionada tiene entrada ficha pero tiene salida lista.Una vez creada la acción, podremos usarla en tantos sitios como queramos, por lo que la acción filtrar, por ejemplo, la podremos usar independientemente de la rejilla y la tabla asociada en que nos encontremos, y se verá activada cuando nos encontremos en un objeto de lista. Es decir, la entrada determina que estén activas o no las opciones: las de lista cuando estemos en rejillas, casilleros, las de ficha cuando estemos en una ficha o seleccionemos una ficha en una rejilla o un casillero, y las de interfaz en todo momento.Anidamiento de menús y toolbarsEn menús y toolbars, como podremos usar acciones que llamen a menús, podremos anidar menús y toolbars para hacerlos compuestos. Estos menús podremos usarlos en barras de menús desplegables (tipo pull-down), en menús de contexto, en botones de formularios, en barras de herramientas, etc.FuturoTodavía seguimos trabajando en estos conceptos, viendo como articular menús, toolbars y acciones y pensando en nuevos comandos que resulten útiles en vuestra programación.En próximas semanas os iremos contando los avances al respecto de este tema que consideramos muy importante ya que determina en gran medida la usabilidad y visualización de las aplicaciones finales que se desarrollen con V7.

Fernando Félix
14/11/2007
Regístrate ahora y nuestro equipo se pondrá en contacto muy pronto