VRegisterList

Los objetos de esta clase representan una lista de fichas de una tabla. Dispone de funciones de manejo de la lista y sus items pudiendose obtener objetos de la clase VRegister por index, en modos lectura y lectura con bloqueo si vamos a modificar.

Las funciones del navegante devuelven otro objeto clase VRegisterList con la lista del maestro o histórico.

Funciones

Constructor

Inicialización

Generales

De Api de tabla

De lista & ítems

De navegante

Varias

Serialización

Documentación de funciones

Constructor

VRegisterList( VRoot root )

Constructor del objeto VRegisterList.

Parámetros:

  • root: Objeto VRoot, normalmente usaremos theRoot.

Inicialización

void setTable( String szIdRefTable )

Asigna la tabla al objeto VRegisterList creado con el constructor. Devuelve true si ha podido asignar la tabla correctamente. Una vez ejecutada es equivalente a crear una cesta de la tabla.

Parámetros:

  • szIdRefTable: String que contiene el identificador referencia de la tabla.

Funciones generales

Boolean setTitle( String title )

Establece un título para la lista que podemos usar de forma interna para controlarla.

Esta función ha sido incluida en la versión Velneo 7.11.

String title()

Devuelve el título de la lista que hayamos establecido.

Esta función ha sido incluida en la versión Velneo 7.11.

Funciones de Api de tabla

VTableInfo tableInfo()

Devuelve un objeto VTableInfo de la tabla de la lista de registros.

Funciones de lista & ítems

void append( VRegister register )

Añade un registro a la lista. Equivale al comando de instrucción "Cesta: Añadir ficha a la cesta".

Parámetros:

void append( VRegisterList registerList )

Añade una lista a la lista. Equivale al comando de instrucción "Cesta: Añadir lista a la cesta".

Parámetros:

  • registerList: Objeto de la clase VRegisterList.

void clear()

Limpia la lista de registros. Equivale al comando de instrucción "Cesta: Limpiar".

void cross( VRegisterList registerList )

Cruza la lista de registros con la lista en curso. En la lista en curso sólo quedarán los registros coincidentes. Equivale al comando de instrucción "Cesta: Cruzar la lista de la cesta".

Parámetros:

  • registerList: Objeto de la clase VRegisterList.

void invert()

Invierte el orden de los registros de la lista.

Boolean load( String szIdIndice, Array aKeyPartsResol )

Carga en el VRegisterList los registros encontrados en la búsqueda realizada con el índices y las resoluciones configuradas. Devuelve false si la búsqueda no ha podido ejecutarse por algún error y devuelve true si la búsqueda ha podido realizarse, aunque no haya encontrado ningún registro. Esta función es equivalente al comando de instrucción de Velneo cargar lista.

Parámetros:

  • szIdIndice: String que contiene el identificador del índice.

  • aKeyPartsResol: Array que contiene las resoluciones de cada una de las partes del índice.

Array[VRegisterList] multiSplit( String szIdCompuestoCampo )

Multiparte la lista creando un array de VRegisterLists que contiene cada una de las listas resultantes.

Parámetros:

  • szIdCompuestoCampo: String que contiene el identificador compuesto del campo por el que se multiparte.

Esta función ha sido incluida en la versión Velneo 7.11.

Number pos()

Devuelve la posición del registro en curso de la lista.

VRegister& readAt( Number nIndex )

Devuelve una referencia a un objeto de la clase VRegister que se genera interamente con el registro de la posición seleccionada.

Al ser una referencia a un registro interno, una segunda ejecución de readAt provocará que se destruya la referencia anterior y se cree otra nueva. Para guardar este registro debemos crear un nuevo VRegister y mediande la función copyFrom copiar el registro interno en el nuevo VRegister.

Ver ejemplo: 4. Creación de un nuevo VRegister para guardar el registro interno leído con readAt()

Parámetros:

  • nIndex: Número que contiene la posición del registro en la lista. La primera posición es la 0.

VRegister& readLockingAt( Number nIndex )

Devuelve una referencia a un objeto de la clase VRegister que se genera interamente con el registro de la posición seleccionada. Este registro está bloqueado y permite realizar operaciones de base de datos contra el registro.

Al ser una referencia a un registro interno, una segunda ejecución de readAt provocará que se destruya la referencia anterior y se cree otra nueva. Para guardar este registro debemos crear un nuevo VRegister y mediande la función copyFrom copiar el registro interno en el nuevo VRegister.

Ver ejemplo: 4. Creación de un nuevo VRegister para guardar el registro interno leído con readAt()

Parámetros:

  • nIndex: Número que contiene la posición del registro en la lista. La primera posición es la 0.

void remove( VRegister register )

Quita de la lista el registro. Esto no eliminar el registro de la base de datos, sólo de la lista. Equivale al comando de instrucción "Cesta: Quitar ficha de la cesta".

Parámetros:

void remove( VRegisterList registerList )

Quita de la lista los registros de la lista que se pasa. En la lista en curso quedarán los registros no coincidentes. Esto no elimina los registros de la base de datos, sólo los quita de la lista.

Parámetros:

  • registerList: Objeto de la clase VRegisterList.

void removeAt( int nIndex )

Quita de la cesta el registro de la posición indicada. Esto no eliminar el registro de la base de datos, sólo de la lista.

Parámetros:

  • nIndex: Number que contiene la posición del registro en la lista

Number size()

Devuelve el número de registros que contiene la lista.

void sort( Array aszIdCompuestoCampo )

Ordena la lista de registros por los campos indicados en el array de identificadores que se indica como parámetro.

Parámetros:

  • aszIdCompuestoCampo: Array de cadenas que contiene los identificadores del campo de la tabla o de sus enlazadas que se usarán para ordenar.

void sort( String szIdCompuestoCampo )

Ordena la lista de registros por el campo indicado.

Parámetros:

  • szIdCompuestoCampo: String que contiene el identificador del campo de la tabla o de sus enlazadas.

Funciones de navegante

VRegisterList loadMasters( String szIDPrimarioCampo )

Devuelve la lista de registros maestros del campo enlace a maestro. Devuelve los maestros sin repetición, aunque varios registros apunten al mismo maestro sólo lo devuelve una vez. Equivale al comando cargar maestros y a navegar a maestros.

Parámetros:

  • szIDPrimarioCampo: String que contiene el identificador del campo con enlace a tabla maestra.

VRegisterList loadPlurals( String szIDHistorico )

Devuelve una referencia a un objeto de la clase VRegisterList que se genera interamente con la lista de registros del enlace plural de la lista de registros actual. Equivale al comando cargar plurales y a navegar a histórico de todos.

Al ser una referencia a una lista de registros interna, una segunda ejecución de la función loadPlurals provocará que se destruya la referencia anterior y se cree otra nueva. Para guardar esta lista debemos crear un nuevo VRegisterList y mediande la función append añadir a esta nueva lista los registros de la lista interna devuelta por loadPlurals().

Ver ejemplo: 5. Creación de VRegisterList para guardar la lista interna obtenida con loadPlurals()

Parámetros:

  • szIDHistorico: String que contiene el identificador del plural.

Funciones varias

Boolean runProcess( String szIdRefProcess )

Ejecuta un proceso Velneo o JavaScript.

Parámetros:

  • szIdRefProcess: String que contiene el identificador referencia del proceso ("Alias_proyecto/ID_proceso").

Serialización

Boolean loadFromData( VByteArray buffer )

Carga en el objeto de la clase VRegisterList una lista de registros previamente serializados en un byte array con la función saveToData().

La función devuelve true si la carga se ha realizado correctamente.

Si el VRegisterList no tiene asignada una tabla esta función se encarga de asignarle automáticamente la tabla y luego le añade los registros a la lista.

Parámetros:

  • buffer: Objeto de la clase VByteArray que contiene los registros serializados.

Esta función ha sido incluida en la versión Velneo 7.16.

Boolean loadFromFile( String path )

Carga en el objeto de la clase VRegisterList una lista de registros previamente serializados en un fichero en disco con la función saveToFile().

La función devuelve true si la carga se ha realizado correctamente.

Si el VRegisterList no tiene asignada una tabla esta función se encarga de asignarle automáticamente la tabla y luego le añade los registros a la lista.

Parámetros:

  • path: Senda del fichero en disco que contiene los registros serializados.

Esta función ha sido incluida en la versión Velneo 7.16.

VByteArray saveToData()

Almacena en un objeto de la clase VByteArray la serialización de la lista de registros que contiene el objeto de la clase VRegisterList.

Esta función ha sido incluida en la versión Velneo 7.16.

Boolean saveToFile( String path )

Almacena en un fichero en disco la serialización de la lista de registros que contiene el objeto de la clase VRegisterList.

Parámetros:

  • path: Senda del fichero en disco donde se almacenarán la lista de registros serializados, si el fichero no existe se crea y si existe se limpia.

Esta función ha sido incluida en la versión Velneo 7.16.

Ejemplos

1. Navegante / Plurales de todos

var facturas = theRegisterListIn.loadPlurals("FACTURAS");
theRegisterListOut.append(facturas)

2. Recorrer la lista modificando

if (theRoot.beginTrans("Titulo"))
{
    for( var x=0; x < theRegisterListIn.size(); x++)
    {
        var registro = theRegisterListIn.readLockingAt(x);

        if (registro.isOK())
        {
            registro.setField( "IDCAMPO1", dato );
            registro.setField( "IDCAMPO2", hoy );
            .....
            registro.modifyRegister();
            if (!registro.isOK())
                ... //mensaje de error
        }
    }
    // No hace falta hacer theRoot.submit(), lo hace Velneo automaticamente
}

3. Multipartir

var curView = theMainWindow.currentView();

if ( curView )
{
    if ( curView.root() )
    {
        var pvc = curView.root().dataView();

        if ( pvc.isListType() )
        {
            var lista = new VRegisterList( theRoot );
            pvc.getList( lista );

            var aListas = lista.multiSplit("SEXOS.NAME");

            for( x in aListas )
            {
               var newView = theMainWindow.addDataView( VObjectInfo.TypeQmlList, "CINE/LISTAQML", aListas[x] );
               newView.setTitle( aListas[x].title() + " " + aListas[x].size() );
            }
        }
    }
}

4. Creación de un nuevo VRegister para guardar el registro interno leído con readAt()

var registro1 = new VRegister( theRoot );
var registro2 = new VRegister( theRoot );

registro1.copyFrom( lista.readAt( 0 ) );
registro2.copyFrom( lista.readLockingAt( 1 ) );

// Así tendremos guardados los registros en registro1 y registro2 sin que le afecten otros readAt() o readLockingAt().

5. Creación de VRegisterList para guardar la lista interna obtenida con loadPlurals()

var listaPlural1 = new VRegisterList( theRoot );
listaPlural1.setTable( "aliasApp/TABLA" );

var listaPlural2 = new VRegisterList( theRoot );
listaPlural2.setTable( "aliasApp/TABLA" );

listaPlural1.append( theRegisterListIn.loadPlurals( "PLURAL1" ) );
listaPlural2.append( theRegisterListIn.loadPlurals( "PLURAL2" ) );

// Así tendremos en listaPlural1 y listaPlural2 los registros plurales sin que le afecten otros loadPlurals().

Última actualización