VTableInfo

Las funciones de esta clase permiten acceder a la información de la estructura de una tabla.

Tiene funciones generales de la tabla, como ver su id o su tipo, y funciones para obtener información de sus subobjetos: campos, indices e históricos.

También nos permite obtener otros VTablaInfo de las tablas enlazadas como maestros o históricos.

Indice de funciones

De tabla

String comments()

String id()

String idRef()

Boolean isInMemory()

String name()

Number registerLength()

String singleName()

Number type()

De campos

Number fieldBindType( Number nCampo )

String fieldBoundedTableId( Number nCampo )

VTableInfo fieldBoundedTableInfo( Number nPlural )

Number fieldBufferLen( Number nCampo )

String fieldComments( Number nCampo )

String fieldComments( String szIdCampo )

Number fieldCount()

Number fieldDecimals( Number nCampo )

String fieldId( Number nCampo )

Boolean fieldIsSigned( Number nCampo )

Number fieldMaximumValue( Number nCampo )

Number fieldMinimumValue( Number nCampo )

String fieldName( Number nCampo )

String fieldName( Number nCampo, Number nLenguaje, [Number nPais=0] )

String fieldName( String szIDPrimarioCampo )

String fieldName( String szIDPrimarioCampo, Number nLenguaje, [Number nPais=0] )

Number fieldObjectType( Number nCampo )

String fieldParentFieldId( Number nCampo )

Number fieldParentFieldNumber( Number nCampo )

Number fieldType( Number nCampo )

De índices

Number indexCount()

String indexId( Number nIndex )

String indexName( Number nIndex )

Number indexType( Number nIndex )

De históricos

String pluralBoundedIndexId( Number nPlural )

VObjectInfo pluralBoundedIndexInfo( Number nPlural )

String pluralBoundedTableId( Number nPlural )

VTableInfo pluralBoundedTableInfo( Number nPlural )

Number pluralCount()

String pluralId( Number nPlural )

String pluralName( Number nPlural )

De localizadores por Id

Number findField( String szIDPrimarioCampo )

Number findIndex( String szIDPrimarioIndice )

Number findPlural( String szIDPrimarioHist )

Documentación de funciones

Funciones de tabla

String comments()

Devuelve el valor de la propiedad comentarios de la tabla.

Esta función se ha incorporado al API a partir de la versión 7.14

String id()

Devuelve el identificador de la tabla. Por ejemplo: "CLIENTES".

String idRef()

Devuelve el idRef (Alias_Aplicación/Id_Tabla) de la tabla. Por ejemplo: "ERP/CLIENTES".

Boolean isInMemory()

Devuelve true si la tabla reside en memoria.

String name()

Devuelve el nombre plural de la tabla en el idioma configurado. Si no se especifican valores asume el idioma en curso. El código de país es opcional.

Parámetros:

  • nLenguage: código del idioma. Ver tabla de idiomas en documentación de Qt.

  • nPais: código del país. Ver tabla de idiomas en documentación de Qt.

Number registerLength()

Devuelve la longitud en bytes del registro de la tabla.

String singleName()

Devuelve el nombre singular de la tabla.

Number type()

Devuelve el código de tipo de tabla. Ver enum de tipos de tablas.

Funciones de campos

Numer fieldBindType( Number nCampo )

Devuelve el tipo de enlace del campo. Ver enum de tipos de enlaces de campo.

Parámetros:

  • nCampo: número de campo, el primero es el 0.

String fieldBoundedTableId( Number nCampo )

Devuelve el identificador de la tabla enlazada.

Parámetros:

  • nCampo: número de campo, el primero es el 0.

VTableInfo fieldBoundedTableInfo( Number nPlural )

Devuelve un objeto de la clase VTableInfo de la tabla enlazada.

Parámetros:

  • nPlural: número ordinal del plural en la tabla.

Number fieldBufferLen( Number nCampo )

Devuelve el tamaño en bytes de los caracteres que admite el buffer del campo. Por ejemplo un campo Alfa40 de 2 bytes de buffer, que puede almacenar 3 caracteres, devolverá 2.

Parámetros:

  • nCampo: número de campo, el primero es el 0.

String fieldComments( Number nCampo )

Devuelve el valor de la propiedad comentarios del campo.

Parámetros:

  • nCampo: número de campo, el primero es el 0.

String fieldComments( String szIdCampo )

Devuelve el valor de la propiedad comentarios del campo.

Parámetros:

  • szIdCampo: identificador del campo.

Esta función se ha incorporado al API a partir de la versión 7.14

Number fieldCount()

Devuelve el número de campos del registro de la tabla.

Number fieldDecimals( Number nCampo )

Devuelve el nº de decimales de un campo numérico.

Parámetros:

  • nCampo: número de campo, el primero es el 0.

String fieldId( Number nCampo )

Devuelve el identificador del campo.

Parámetros:

  • nCampo: número de campo, el primero es el 0.

Boolean fieldIsSigned( Number nCampo )

Devuelve true si el campo numérico admite signo.

Parámetros:

  • nCampo: número de campo, el primero es el 0.

Number fieldMaximumValue( Number nCampo )

Devuelve el valor máximo de un campo numérico.

Parámetros:

  • nCampo: número de campo, el primero es el 0.

Number fieldMinimumValue( Number nCampo )

Devuelve el valor mínimo de un campo numérico.

Parámetros:

  • nCampo: número de campo, el primero es el 0.

String fieldName( Number nCampo )

Devuelve el nombre del campo.

Parámetros:

  • nCampo: número de campo, el primero es el 0.

String fieldName( Number nCampo, Number nLenguaje, [Number nPais=0] )

Devuelve el nombre del campo en el idioma y país especificados en los parámetros.

Parámetros:

  • nCampo: número de campo, el primero es el 0.

  • nLenguaje: número que corresponde al código del lenguaje (Tabla de código Qt).

  • nPais: número que corresponde al código del país (Tabla de códigos Qt).

String fieldName( String szIDPrimarioCampo )

Devuelve el nombre del campo.

Parámetros:

  • szIDPrimarioCampo: identificador del campo.

String fieldName( String szIDPrimarioCampo, Number nLenguaje, [Number nPais=0] )

Devuelve el nombre del campo en el idioma y país especificados en los parámetros.

Parámetros:

  • szIDPrimarioCampo: identificador del campo.

  • nLenguaje: número que corresponde al código del lenguaje (Tabla de código Qt).

  • nPais: número que corresponde al código del país (Tabla de códigos Qt).

Number fieldObjectType( Number nCampo )

Devuelve el tipo de objeto de un campo objeto. Ver enum de tipos de campos objeto.

Parámetros:

  • nCampo: número de campo, el primero es el 0.

String fieldParentFieldId( Number nCampo )

Devuelve el identificar del campo padre de una tala submaestra.

Parámetros:

  • nCampo: número de campo, el primero es el 0.

Number fieldParentFieldNumber( Number nCampo )

Devuelve el número de campo del campo padre de una tala submaestra.

Parámetros:

  • nCampo: número de campo, el primero es el 0.

Number fieldType( Number nCampo )

Devuelve el tipo de campo. Ver enum de tipos de campo.

Parámetros:

  • nCampo: número de campo, el primero es el 0.

Funciones de índices

Number indexCount()

Devuelve el número de índices de la tabla.

String indexId( Number nIndex )

Devuelve el identificador del índice.

Parámetros:

  • nIndex: número de orden del índice, el primer valor es el 0.

String indexName( Number nIndex )

Devuelve el nombre del índice.

Parámetros:

  • nIndex: número de orden del índice, el primer valor es el 0.

Number indexType( Number nIndex )

Devuelve el identificador del índice. Ver enum de tipos de índices.

Parámetros:

  • nIndex: número de orden del índice, el primer valor es el 0.

Funciones de históricos

String pluralBoundedIndexId( Number nPlural )

Devuelve el identificador del índice de la tabla enlazada maestra.

Parámetros:

  • nPlural: número de orden del plural, el primero valor es el 0.

VObjectInfo pluralBoundedIndexInfo( Number nPlural )

Devuelve un objeto de la clase VObjectInfo del índice de la tabla enlazada maestra.

Parámetros:

  • nPlural: número de orden del plural, el primero valor es el 0.

String pluralBoundedTableId( Number nPlural )

Devuelve el identificador de la tabla enlazada maestra.

Parámetros:

  • nPlural: número de orden del plural, el primero valor es el 0.

VTableInfo pluralBoundedTableInfo( Number nPlural )

Devuelve un objeto de la clase VTableInfo de la tabla enlazada maestra.

Parámetros:

  • nPlural: número de orden del plural, el primero valor es el 0.

Number pluralCount()

Devuelve el número de enlaces plurales de la tabla.

String pluralId( Number nPlural )

Devuelve el identificado del plural.

Parámetros:

  • nPlural: número de orden del plural, el primero valor es el 0.

String pluralName( Number nPlural )

Devuelve el nombre del plural.

Parámetros:

  • nPlural: número de orden del plural, el primero valor es el 0.

Funciones de localizadores por Id

Number findField( String szIDPrimarioCampo )

Devuelve el número de campo de un identificador.

Parámetros:

  • szIdPrimarioCampo: identificador del campo.

Number findIndex( String szIDPrimarioIndice )

Devuelve el número del índice de un identificador.

Parámetros:

  • szIdPrimarioIndice: identificador del índice.

Number findPlural( String szIDPrimarioHist )

Devuelve el número del enlace plural de un identificador.

Parámetros:

  • szIdPrimarioIndice: identificador del enlace plural.

Ejemplos

1. Controlar si es una tabla maestra normal

if (VTableInfo.TypeMaster == theRegisterIn.tableInfo().type())
{
    .....
}

o bien

if (VTableInfo.TypeMaster == theRegisterListIn.tableInfo().type())
{
    .....
}

2. Eliminar todos los plurales de la tabla ENT-M de vERP

/**
 * Eliminar todos los plurales de un registro
 *
 * @param {Object} root Objeto desde el que se ejecuta  la función
 * @param {VRegister} registro Registro del que se desean eliminar los plurales
 * @returns {Boolean} True si se han eliminado todos los plurales o false en caso contrario
 */
velneoDB.eliminarPlurales = function (root, registro) {

    "use strict";

    // VARIABLES: declaración de las variables
    var listaPlurales,
        indice = 0,
        numPlurales,
        numRegistro = 0,
        numRegistros,
        pluralId,
        registroPlural,
        retorno = true,
        tablaInfo,
        transActiva,
        transNueva;

    // PROCESO: se leen todas las tablas de la aplicación incluídas las heredadas
    if (root) {

        // Si no hay transacción se crea una nueva      
        transActiva = theRoot.existTrans();
        if (transActiva === false) {
            transNueva = theRoot.beginTrans("Eliminando históricos de la tabla " + tablaInfo.name());
        }
        if (transActiva || transNueva) {

            // Se analiza la tabla para recorrer sus plurales
            tablaInfo = registro.tableInfo();
            numPlurales = tablaInfo.pluralCount();

            // Se recorren los plurales de la tabla
            for (indice; indice < numPlurales; indice += 1) {
                pluralId = tablaInfo.pluralId(indice);
                listaPlurales = theRegisterIn.loadPlurals(pluralId);
                numRegistros = listaPlurales.size();

                // Se eliminan los registros plurales
                if (numRegistros > 0) {
                    for (numRegistro; numRegistro < numRegistros; numRegistro += 1) {
                        registroPlural = listaPlurales.readLockingAt(numRegistro);
                        if (registroPlural.deleteRegister() === false) {
                            retorno = false;
                        }
                    }
                }
            }

            // Si se ha creado una transacción nueva, se cierra
            if (transNueva === true) {
                theRoot.commitTrans();
            }
        }
    }

    // RETORNO: retornor true si se han podido eliminar todos los plurales
    return retorno;
};

Última actualización