Comment on page
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.
De tabla
Retorno | Función |
String | |
String | |
String | |
Boolean | |
String | |
Number | |
String | |
Number |
De campos
Retorno | Función |
Numer | |
String | |
VTableInfo | |
Number | |
String | |
String | |
Number | |
Number | |
String | |
Boolean | |
Number | |
Number | |
String | |
String | |
String | |
String | |
Number | |
String | |
Number | |
Number |
De índices
Retorno | Función |
Number | |
String | |
String | |
Number |
De históricos
Retorno | Función |
String | |
String | |
VTableInfo | |
Number | |
String | |
String |
De localizadores por Id
Retorno | Función |
Number | |
Number | |
Number |
Tipos de campo
- FieldTypeAlpha256 = 00 - Alfa 256
- FieldTypeAlpha128 = 01 - Alfa 128
- FieldTypeAlpha64 = 02 - Alfa 64
- FieldTypeAlpha40 = 03 - Alfa 40
- FieldTypeAlphaLatin1 = 04 - Alfa Latin1
- FieldTypeAlphaUtf16 = 05 - Alfa UTF-16
- FieldTypeNumeric = 06 - Numérico
- FieldTypeDate = 07 - Fecha
- FieldTypeTime = 08 - Hora
- FieldTypeDateTime = 09 - Tiempo (fecha y hora)
- FieldTypeBool = 10 - Booleano
- FieldTypeObject = 11 - Objeto
- FieldTypeFormulaNumeric = 12 - Fórmula numérica
- FieldTypeFormulaAlfa = 13 - Fórmula alfabética
- FieldTypeFormulaDate = 14 - Fórmula fecha
- FieldTypeFormulaDateTime = 15 - Fórmula tiempo (fecha y hora)
- FieldTypeVirtualBind = 18 - Puntero virtual
Tipos de campos objeto
- ObjectTypePicture = 0 - Imagen
- ObjectTypeText = 1 - Texto
- ObjectTypeRichText = 2 - Texto enriquecido
- ObjectTypeBinary = 3 - Binario
- ObjectTypeFormula = 4 - Fórmula dinámica
Tipos de enlaces de campo (bindType)
- BindTypeNone = 0 - Ninguno
- BindTypeMaster = 1 - Tabla maestra
- BindTypeStatic = 2 - Tabla estática
- BindTypeIndirectReal = 3 - Indirecto real
- BindTypeIndirectVirtual = 4 - Indirecto virtual
- BindTypeSingularPluralPos = 5 - Singular de plural por posición
- BindTypeSingularPluralIndex = 6 - Singular de plural por índice
- BindTypeAdjacentSibling = 7 - Hermano contiguo
- BindTypeMasterExt = 8 - Maestro de extensión
Tipos de índices
- IndexTypeSingleKey = 0 - Clave única
- IndexTypeWords = 1 - Palabras
- IndexTypeMultiKey = 2 - Múltiples claves
- IndexTypeAcceptRepeat = 3 - Acepta repetidas
- IndexTypeWordParts = 4 - Trozos de palabras
Tipos de tablas
- TypeMaster = 0 - Maestra
- TypeHistorical = 1 - Histórica
- TypeMasterSub = 2 - Submaestra
- TypeMasterTree = 3 - Arbolada
- TypeMasterExt = 4 - Maestro de extensión
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
Devuelve el identificador de la tabla. Por ejemplo: "CLIENTES".
Devuelve el idRef (Alias_Aplicación/Id_Tabla) de la tabla. Por ejemplo: "ERP/CLIENTES".
Devuelve true si la tabla reside en memoria.
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.
Devuelve la longitud en bytes del registro de la tabla.
Devuelve el nombre singular de la tabla.
Devuelve el código de tipo de tabla. Ver enum de tipos de tablas.
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.
Devuelve el identificador de la tabla enlazada.
Parámetros:
- nCampo: número de campo, el primero es el 0.
Devuelve un objeto de la clase VTableInfo de la tabla enlazada.
Parámetros:
- nPlural: número ordinal del plural en la tabla.
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.
Devuelve el valor de la propiedad comentarios del campo.
Parámetros:
- nCampo: número de campo, el primero es el 0.
Esta función se ha incorporado al API a partir de la versión 7.14
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
Devuelve el número de campos del registro de la tabla.
Devuelve el nº de decimales de un campo numérico.
Parámetros:
- nCampo: número de campo, el primero es el 0.
Devuelve el identificador del campo.
Parámetros:
- nCampo: número de campo, el primero es el 0.
Devuelve true si el campo numérico admite signo.
Parámetros:
- nCampo: número de campo, el primero es el 0.
Devuelve el valor máximo de un campo numérico.
Parámetros:
- nCampo: número de campo, el primero es el 0.
Devuelve el valor mínimo de un campo numérico.
Parámetros:
- nCampo: número de campo, el primero es el 0.
Devuelve el nombre del campo.
Parámetros:
- nCampo: número de campo, el primero es el 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).
Devuelve el nombre del campo.
Parámetros:
- szIDPrimarioCampo: identificador del campo.
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).
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.
Devuelve el identificar del campo padre de una tala submaestra.
Parámetros:
- nCampo: número de campo, el primero es el 0.
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.
Devuelve el tipo de campo. Ver enum de tipos de campo.
Parámetros:
- nCampo: número de campo, el primero es el 0.
Devuelve el número de índices de la tabla.
Devuelve el identificador del índice.
Parámetros:
- nIndex: número de orden del índice, el primer valor es el 0.
Devuelve el nombre del índice.
Parámetros:
- nIndex: número de orden del índice, el primer valor es el 0.
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.
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.
Parámetros:
- nPlural: número de orden del plural, el primero valor es el 0.
Devuelve el identificador de la tabla enlazada maestra.
Parámetros:
- nPlural: número de orden del plural, el primero valor es el 0.
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.
Devuelve el número de enlaces plurales de la tabla.
Devuelve el identificado del plural.
Parámetros:
- nPlural: número de orden del plural, el primero valor es el 0.
Devuelve el nombre del plural.
Parámetros:
- nPlural: número de orden del plural, el primero valor es el 0.
Devuelve el número de campo de un identificador.
Parámetros:
- szIdPrimarioCampo: identificador del campo.
Devuelve el número del índice de un identificador.
Parámetros:
- szIdPrimarioIndice: identificador del índice.
Devuelve el número del enlace plural de un identificador.
Parámetros:
- szIdPrimarioIndice: identificador del enlace plural.
if (VTableInfo.TypeMaster == theRegisterIn.tableInfo().type())
{
.....
}
o bien
if (VTableInfo.TypeMaster == theRegisterListIn.tableInfo().type())
{
.....
}
/**
* 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 3yr ago