Class VTableInfo para vJavaScript

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 name( Number idioma, [Number pais] );
  • String singleName();
  • String singleName( Number idioma, [Number pais] );
  • Number type();
  • Boolean isInMemory();
  • Number registerLength();

Campos

  • Number fieldCount();
  • String fieldId( Number nCampo );
  • String fieldName( Number nCampo );
  • String fieldName( Number nCampo, Number idioma, [Number pais] );
  • 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 );
  • String pluralBoundedIndexId( Number nPlural );
  • VObjectInfo pluralBoundedIndexInfo( Number nPlural );

Localizadores por id

  • Number findField( String szIDPrimarioCampo );
  • Number findIndex( String szIDPrimarioIndice );
  • Number findPlural( String szIDPrimarioHist );

Enumeraciones:

Tipos de tablas

  • TypeMaster
  • TypeHistorical
  • TypeMasterSub
  • TypeMasterTree

Tipos de campo

  • FieldTypeAlpha256
  • FieldTypeAlpha128
  • FieldTypeAlpha64
  • FieldTypeAlpha40
  • FieldTypeAlphaLatin1
  • FieldTypeAlphaUtf16
  • FieldTypeNumeric
  • FieldTypeDate
  • FieldTypeTime
  • FieldTypeDateTime
  • FieldTypeBool
  • FieldTypeObject
  • FieldTypeFormulaNumeric
  • FieldTypeFormulaAlfa
  • FieldTypeFormulaDate
  • FieldTypeFormulaDate
  • 16 – // No usado
  • 17 – // No usado
  • FieldTypeVirtualBind

Tipos de campos objeto

  • ObjectTypePicture
  • ObjectTypeText
  • ObjectTypeRichText
  • ObjectTypeBinary
  • ObjectTypeFormula

Tipos de enlaces de campo (bindType)

  • BindTypeNone
  • BindTypeMaster
  • BindTypeStatic
  • BindTypeIndirectReal
  • BindTypeIndirectVirtual
  • BindTypeSingularPluralPos
  • BindTypeSingularPluralIndex
  • BindTypeAdjacentSibling

Tipos de indices

  • IndexTypeSingleKey
  • IndexTypeWords
  • IndexTypeMultiKey
  • IndexTypeAcceptRepeat
  • IndexTypeWordParts

Ejemplos:

1: Controlar si es una tabla maestra normal

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

o bien

if (VTableInfo.TypeMaster == theRegisterListIn.tableInfo().type())
{
    .....
}
About these ads
Post a comment or leave a trackback: Trackback URL.

Comentarios

  • Pepeto  On 1 diciembre, 2011 at 20:27

    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

  • Nacho  On 1 diciembre, 2011 at 20:31

    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

  • jcobos  On 1 diciembre, 2011 at 21:14

    @pepeto no adelantes acontecimientos que eso es de la clase VApplication

    • Pepeto  On 2 diciembre, 2011 at 22:10

      Eso me gusta, hay mas clases, voy a tener que hacerme una ampliacion de neuronas, que a este paso se me queda pequeña :D

      un saludo.

  • Fran Varona  On 1 diciembre, 2011 at 21:30

    Pero bueno… Lo vamos a toquetear… todo! !

  • Hector Santoveña  On 1 diciembre, 2011 at 21:31

    Como sigas asi voy a dejar de escribir procesos en v7!! Me encanta lo que leo. Esto es otra herramienta!

  • Fernando Maltrana (@maltrana)  On 2 diciembre, 2011 at 11:11

    Acabamos programando en C, lo que yo te diga :-)

    • Nacho  On 2 diciembre, 2011 at 11:39

      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” :D

  • jarboleya (Jesús)  On 31 diciembre, 2011 at 1:16

    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“. [...]

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 29 seguidores

%d personas les gusta esto: