Los objetos de esta clase contienen la informacion de la estructura de una tabla.
Tiene funciones generales de la tabla, como ver su id o su tipo, y funciones para obtener informacion de sus subobjetos: campos, indices e historicos.
Tambien nos permite obtener otros VTablaInfo de las tablas enlazadas como maestros o historicos.
Funciones:
Tabla
- String id();
- String idRef();
- String name();
- String singleName();
- Number type();
- Boolean isInMemory();
- Number registerLength();
Campos
- Number fieldCount();
- String fieldId( Number nCampo );
- String fieldName( Number nCampo );
- Number fieldType( Number nCampo );
- Number fieldObjectType( Number nCampo );
- Number fieldBufferLen( Number nCampo );
- Number fieldDecimals( Number nCampo );
- Boolean fieldIsSigned( Number nCampo );
- Number fieldMinimumValue( Number nCampo );
- Number fieldMaximumValue( Number nCampo );
- Numer fieldBindType( Number nCampo );
- String fieldBoundedTableId( Number nCampo );
- VTableInfo fieldBoundedTableInfo( Number nPlural );
- String fieldParentFieldId( Number nCampo );
- Number fieldParentFieldNumber( Number nCampo );
Indices
- Number indexCount();
- String indexId( Number nIndex );
- String indexName( Number nIndex );
- Number indexType( Number nIndex );
Historicos
- Number pluralCount();
- String pluralId( Number nPlural );
- String pluralName( Number nPlural );
- String pluralBoundedTableId( Number nPlural );
- VTableInfo pluralBoundedTableInfo( Number nPlural );
Localizadores por id
- Number findField( String szIDPrimarioCampo );
- Number findIndex( String szIDPrimarioIndice );
- Number findPlural( String szIDPrimarioHist );
Enumeraciones:
Tipos de tablas
- 0 – Maestro
- 1 – Histórico
- 2 – Submaestro
- 3 – Arbolado
Tipos de campo
- 00 – Alfa256
- 01 – Alfa128
- 02 – Alfa64
- 03 – Alfa40
- 04 – AlfaLatin1
- 05 – AlfaUtf16
- 06 – Numerico
- 07 – Fecha
- 08 – Hora
- 09 – Tiempo (fecha y hora)
- 10 – Booleano
- 11 – Objeto
- 12 – FormulaNumerica
- 13 – FormulaAlfa
- 14 – FormulaFecha
- 15 – FormulaTiempo (fecha y hora)
- 16 – // No usado
- 17 – // No usado
- 18 – PunteroVirtual
Tipos de campos objeto
- 0 – Imagen
- 1 – Texto
- 2 – RichText
- 3 – Binario
- 4 – Formula dinamica
Tipos de enlaces de campo (bindType)
- 0 – Ninguno
- 1 – Maestro
- 2 – Estatica
- 3 – IndirectoReal
- 4 – IndirectoVirtual
- 5 – SingularPluralPosicion
- 6 – SingularPluralIndice
- 7 – Hermano
Tipos de indices
- Clave unica
- Palabras
- Multiples claves
- Acepta repetidas
- Trozos de palabras
Ejemplos:
1: Controlar si es una tabla maestra normal
if (0 == VRegisterIn.tableInfo().type())
{
.....
}
o bien
if (0 == VRegisterListIn.tableInfo().type())
{
.....
}
Advertisement
Comentarios
Es brutal , pero se me ocurre, que seria perfecto, si pudieramos ver tambien las tablas de un proyecto (¿vProyectInfo?). Si no me equivoco, ahora mismo, necesitariamos un proceso para cada tabla. Si pudieramos simplemente recorrer la lista de tablas de un proyecto y obtener su ID.
Solo pensaba en voz alta,
Es genial, muchas gracias
un abrazo
José Luis
@Pepeto:
Con el VAplication, seguro que tendrás muchas mas posibilidades, pero con lo que hemos visto hasta ahora, puedes utilizar un proceso para muchas tablas.
Mira este ejempo: http://nachov7.wordpress.com/2011/12/03/vjavascript-ejemplo-cargar-plurales/
Me voy a ahogar con tanta información. Con esto ya podemos acceder a la estructura de la base de datos y navegar por ella!!!!
Desde luego el límite estará en nuestra imaginación. Está claro que los procesos de tipo v7, quedarán para las cosas sencillas, cuando quieras potencia a programar en javascript!!!
¿Alguien se quejaba de que la programación en v7 era muy rígida?….. Toma VJavascript.
Vamos a tener la potencia de v7 sumada a la de los entornos de programación clásicos
@pepeto no adelantes acontecimientos que eso es de la clase VApplication
Eso me gusta, hay mas clases, voy a tener que hacerme una ampliacion de neuronas, que a este paso se me queda pequeña
un saludo.
Pero bueno… Lo vamos a toquetear… todo! !
Como sigas asi voy a dejar de escribir procesos en v7!! Me encanta lo que leo. Esto es otra herramienta!
Acabamos programando en C, lo que yo te diga
No lo dudes, pero solo para el que quiera. Siempre podremos seguir con los procesos clásicos de v7, o profundizar hasta donde queramos en este “siniestro mundo”
En el siguiente enlace podrás acceder a un artículo con información de las pruebas realizadas en vEST sobre esta clase VTableInfo.
http://jarboleya.com/2011/12/31/testeo-vjavascript-clase-vtableinfo/
En el artículo se incluyen capturas del código utilizado para las pruebas funcionales que pueden ser de ayuda complementaria a la aportada en este blog del vArquitecto sobre la aplicación práctica de las funciones y sus sintaxis..
Espero que os sean de utilidad.
Trackbacks
[...] VTableInfo es una clase diseñada para obtener información sobre la estructura de un objeto Tabla. En el blog del vArquitecto encontrarás la información detallada sobre esta clase y sus funciones “Class VTableInfo para vJavaScript“. [...]