13 Mar ¿Sabes cómo optimizar la carga de plurales en Velneo V7?
¿Estás desesperado porque tus formularios con plurales incrustados en pestañas tardan en cargarse?
¿Sabes que puedes optimizar la carga de plurales en Velneo V7 con 3 simples manejadores de evento?.
¿No me crees?
¡Ingenuo!
Imaginad que tenemos un formulario con una ficha de un maestro y en un separador tenemos unos cuantos formularios en los que tenemos incrustados varios plurales (en mi caso tengo un extracto contable y unos cuantos plurales para ver sus vencimientos, iva soportado, iva repercutido, el iva, etc etc…)
Lo normal cuando estamos empezando es poner en cada uno de los formularios un objeto vista de datos con un maravilloso proceso con estas líneas:
Este proceso hace precisamente lo que queremos. Nos carga el plural deseado y nos devuelve la lista a la salida…
Este sistema tiene dos problemas:
- 1.- Velneo, antes de mostrarnos el formulario, carga todos los registros de los plurales que se encuentren en el control «Separador de formularios» (vayamos a mostrarlo o no) al mostrar el formulario principal en el que se encuentra nuestro separador.
- 2.- El cabreo que se coge el usuario cada vez que tenga que mostrar el formulario que hará que se acuerde de toda tu familia.
¡Tranquilo.!
Hay una solución sencilla para tu problema.
On Hide y On Show son tus aliados para cargar los plurales en Velneo V7
antes de explicarte el proceso, vamos a ir con un poco de teoría sobre estas señales:
- On Show: el manejador de evento asociado se disparará cuando el formulario que contiene dicha señal esté visible. Esta señal nos permite cargar el contenido del formulario cuando se vaya a mostrar la pestaña en la que está contenido dicho formulario. Hablando en plata… usando esta señal evitaremos que se cargue el contenido al mostrar el formulario principal y por lo tanto evitaremos en problema número 1 visto anteriormente. Para conseguirlo tendremos que disparar un manejador de evento en el que (en el caso de los plurales) nos cargue el contenido en la vista de datos correspondiente.
- On Hide: el manejador de evento asociado se disparará cuando el formulario deje de estar visible.
¿Que objetos necesitamos para realizar este montaje
Antes de crear ningún objeto, para optimizar todavía mas la carga de los plurales, tenemos que asegurarnos que la vista de datos del formulario se cargue sin registros. Mostraremos la vista de datos sin registros. Ya nos encargaremos posteriormente de cargarlos
Creando los objetos
– 2 Variables
- Visible: de tipo booleano para saber si el formulario que contiene el plural está visible
- Loaded: de tipo booleano para saber si ya hemos cargado el plural en la vista de datos
– 3 conexiones de evento
- ON_HIDE: lanzará el manejador de evento asociado cuando se dispare la señal «On hide», es decir cuando se oculte el formulario
- ON_SHOW: lanzará el manejador de evento asociado cuando se dispare la señal «On Show», es decir cuando se muestre el formulario
- CHR_REG: lanzará el manejador de evento asociado cuando se dispare la señal «Item_ cambio de seleccionado» (recordad que este formulario puede estar en un multivista por ejemplo)
– 4 manejadores de evento
- ON_HIDE: marcaremos como oculto el formulario (variable VISIBLE = 0).
- ON_SHOW: marcaremos el formulario como visible (variable VISIBLE = 1) y si no está cargado (variable LOADED = 0), llamaremos al manejador de evento que carga el plural.
- CHR_REG: si cambiamos de registro, marcaremos el plural como no cargado (variable LOADED = 0) y si el formulario está visible (variable VISIBLE = 1), llamaremos al manejador de evento que carga el plural.(
- CARGAR_PLURAL: es este manejador, primero crearemos una cesta local de la tabla que vayamos a cargar el plural. Cargaremos el plurar deseado y añadiremos los registros a la cesta creada anteriormente.
Procesaremos el control en el que se encuentra la vista de datos («Interfaz: Procesar control»); cortaremos la lista incluida en el mismo (para asegurarnos de que no tenemos ningún registro anterior) y le añadiremos a la vista de datos los registro guardados en la cesta. Por último marcaremos como cargados los registros del plural (variable LOADED = 1).
Con esto hemos terminado de realizar nuestra optimización para cargar los plurales de un formulario.
Si queremos ir un paso mas allá, podemos realizar esta carga en tercer plano. Tan solo tenemos que crear un proceso que se encargue de cargar el plural que queramos (en el ejemplo en lugar de cargar el plurar directamente, cargo una lista con el valor de una variable que le paso desde el manejador ya que lo lanzo desde una tabla virtual)
y modificar el manejador de evento «CARGAR_PLURAL» para que llame a este proceso en tercer plano… mas o menos así:
Ya sólo nos queda sacar la «churrera» (como diría mi amigo Jorge) y copy-paste todo este montaje en aquellos formularios donde queramos optimizar la carga de plurales (¡recordad cambiar el plural que os conozco!)
Si te parecido útil el artículo, puedes dejarme un comentario mas abajo y si crees que es interesante… por favor compártelo
NOTA: gracias a Jesús Arboleya por «iluminarme» para la realización de este montaje
Héctor Santoveña
Posted at 18:13h, 13 marzoTe puedes ahorrar el evento y la conexion on_hide: en el evento CHR_REG, «setea» la variable VISIBLE con la instruccion «Interfaz: ¿Esta visible?» y listo 😉
Francisco José Vila Martín
Posted at 09:34h, 14 marzoHola Héctor:
Si tú lo dices… amén. Un placer tener a un maestro de V7 como tú por aquí.
Por cierto el año pasado te escapaste de los hangouts…. esto año no creo que tengas la misma suerte.
Un saludo y gracias por darte una vuelta por mi blog.
Héctor Santoveña
Posted at 18:35h, 17 marzoAquí me tienes para lo que gustes.
Gran trabajo el que haces en Ayudavelneo. Sigue así 🙂
Un saludo desde el norte.