Comandos de listas de Velneo V7
Tutorial avanzado » Uso avanzado de procesos » Comandos de listas de Velneo V7
Comandos de listas de Velneo V7
El grupo de comandos de Listas es un conjunto de comandos que nos permiten gestionar listas, modificarlas y acceder a sus elementos.

En el proceso de ejemplo veremos las funcionalidades de los distintos comandos y cómo afectan a la lista.
Comenzamos obteniendo una lista. Para ello usamos el comando Cargar lista en cuyo subproceso accedemos a la lista obtenida, una tabla completa ordenada por el índice seleccionado. En el subproceso conocemos el tamaño de la lista con ayuda de la variable de sistema sysListSize.
Comenzamos con el comando Cortar lista. Lo que hace es dejar en el subproceso la lista resultante tras aplicar los parámetros de corte: posición inicial y número de elementos. No quiere decir esto que los elimine de la base de datos si no que los quita de la lista, a partir de ese momento trabajaremos sobre la lista resultante. En el ejemplo mostramos el tamaño de la lista antes de realizar el corte y después, para ver cómo realiza el corte.
El siguiente comando, Filtrar lista, nos permite los mismo, pero dejando los elementos que cumplan cierta condición que establecemos como parámetro. Como en el caso anterior se trata de quitar los elementos que no cumplen la condición de la lista, no de eliminarlos de la base de datos.
Esta operación es secuencial, es decir, se requiere recorrer uno a uno los elementos solicitándolos al servidor. Esto implica lentitud por lo que no es recomendable el uso de este comando si el número de registros es grande, sustituyéndolo por otros comandos como Búsqueda, Cargar lista, Disparar objeto que, con la ayuda de los índices, nos permitan obtener la lista necesaria de forma más eficiente.
El comando Invertir lista, como su propio nombre índica, altera el orden invirtiéndo el que tiene en ese momento. Es últi por ejemplo, si hemos cargado una lista de registros por fecha, como es el caso, y queremos mostrar o trabajar primero con los más recientes.
El comando Multipartir lista que usamos a continuación permite generar tantos subprocesos como diferentes valores vaya encontrando en la lista del campo seleccionado.
Lo usual es que previamente hayamos ordenado la lista por el campo por el que queremos multipartir, para que resulte un subproceso por cada valor existente en la relación de registros. Si no hemos ordenado previamente la lista, si un valor se repite pero se trata de elementos que no están contiguos si no que se encuentran dispersos en diferentes puntos de la lista, se generarán tantos subprocesos como diferencias encuentre, aún para valores iguales.
Para ordenar no es necesario usar un comando específico como Ordenar lista que veremos más adelante, si no que si la lista viene ordenada ya según el campo requerido, es suficiente. Por ejemplo, en este caso, el orden lo determinó ya el índice del comando Cargar lista usado en un principio.
En el subproceso del comando Multipartir lista podemos acceder a la lista resultante y trabajar sobre ellas. En el proceso de ejemplo, hemos mostrado las listas resultantes con ayuda del comando Seleccionar ficha de la lista. Se trabajará de forma secuencial, una lista tras otra.
El comando permite trabajar en el subproceso con las listas resultantes, pero no altera la lista inicial, sobre la que podemos seguir trabajando, como hacemos en el ejemplo.
A continuación variamos el orden previo con ayuda del comando Ordenar lista. Este comando nos permite definir hasta 6 resoluciones de orden.
El siguiente comando que usamos, Quitar ficha de la lista, nos permite quitar un elemento de la lista, de nuevo sin eliminarlo, indicando la posición que ocupa en la lista. Podemos quitar el primero, el último o una posición cualquiera, ayudados por la variable de sistema sysListSize.
Además de gestionar la lista, podemos acceder a los elementos que la componen. Para ello tenemos una serie de comandos que nos permiten recorrer los elementos, algunos de ellos realizando operaciones de escritura (generando transacción), otros leyendo.
El primer comando que usamos, Recorrer lista solo lectura, nos permite recorrer una a una las fichas que componen la lista.
En el subproceso de este comando podremos acceder a la ficha y leer el valor de sus campos. Este comando no transacciona, por lo que no podemos realizar modificaciones, pero podremos usar los comandos de Ficha y campos que permiten leer registros. En el ejemplo mostramos cada registro en un formulario con ayuda del comando Pedir formulario.
El comando Recorrer lista lectura/escritura nos permite acceder a los registros no sólo para su lectura si no también para escribir, generando transacción y una operación para cada registro.
En el subproceso del comando podremos usar los comandos de Ficha y campos que permiten leer y modificar registros. En el ejemplo hemos modificado campos usando el comando Modificar campo.
El siguiente comando, Recorrer lista eliminando fichas nos permite recorrer la lista de registros eliminándolos de la base de datos, generando transacción y una operación para cada registro. En el subproceso tenemos acceso al registro que se va a eliminar, por lo que podemos realizar operaciones previas.
En el ejemplo eliminamos previamente todos los plurales, necesario para mantener la integridad de la base de datos, para ello hacemos uso del comando Cargar plurales, que nos permite acceder a sus plurales y usamos de nuevo el comando Recorrer lista eliminando fichas.
Tenemos también un comando que elimina los registros pero con un matiz. El comando Recorrer lista eliminando fichas si permite realizar la misma operación que el anterior comando pero no lanza las actualizaciones. De esta forma, si tenemos un histórico de datos, podemos mantenerlo aunque eliminemos los registros que generaron los acumulados.
Por último, el comando Imprimir informe permite seleccionar un objeto informe asociado a la tabla que de lista, usando esta lista como entrada del informe.
