30
Velneo vDevelop
Scripts
Lenguajes
JavaScript
VProjectInfo
Este objeto contiene la información de un proyecto. Tiene funciones para obtener sus propiedades básicas, sus tablas, sus objetos y los proyectos de los que hereda.
Las funciones de tablas y de objetos que empiezan por “all” nos devuelven todas sus tablas u objetos, incluyendo las de sus proyectos heredados. Las otras solo las suyas propias.

Indice de funciones

Generales

String alias()
Boolean havePassWord()
Number history()
String id()
Boolean isNull()
String name()
Date saved()
Number type()
String version()

De tablas

Number allTableCount()
VTableInfo allTableInfo( Number nIndex )
Number tableCount()
VTableInfo tableInfo( Number nIndex )
VTableInfo tableInfo( String szIdPrimarioTabla )

De objetos

Number allObjectCount( Number nObjectType )
VObjectInfo allObjectInfo( Number nObjectType, Number nObjectIndex )
Number objectCount( Number nObjectType )
VObjectInfo objectInfo( Number nObjectType, Number nObjectIndex )
VObjectInfo objectInfo( Number nObjectType, String szIdPrimario )
VObjectInfo array subObjectsNotUsed(nObjectType)

De herencia

VProjectInfo legacyProjectInfo( Number nIndex )

De solución

VSolutionInfo solutionInfo()

De estado

Boolean isLocked()

Enumeraciones

Tipos de proyectos
  • TypeDat = 0
  • TypeApp = 1

Documentación de funciones

Funciones generales

String alias()

Devuelve el alias del proyecto.

Boolean havePassword()

Devolverá true si el proyecto en curso está protegido con contraseña y false si no lo está.

Number history()

Devuelve el número de historia del proyecto.

String id()

Devuelve el identificador del proyecto.

Boolean isNull()

Devuelve true si el objeto VProjectInfo es nulo, false si contiene un objeto.

String name()

Devuelve el nombre del proyecto.

Date saved()

Devuelve la fecha y hora de último cambio del proyecto.

Number type()

Devuelve el tipo de proyecto.
Ver enumeración de tipos de proyectos.

String version()

Devuelve la versión del proyecto.

Funciones de tablas

Number allTableCount()

Devuelve el número total de tablas de todos los proyectos, incluidos los proyectos heredados.

VTableInfo allTableInfo( Number nIndex )

Devuelve el objeto VTableInfo de una tabla.
Parámetros:
  • nIndex: es el nº ordinal de la tabla entre todas las tablas de todos los proyectos.

Number tableCount()

Devuelve el número de tablas del proyecto de datos.

VTableInfo tableInfo( Number nIndex )

Devuelve el objeto VTableInfo de una tabla.
Parámetros:
  • nIndex: es el nº ordinal de la tabla en el proyecto de datos

VTableInfo tableInfo( String szIdPrimarioTabla )

Devuelve el objeto VTableInfo de una tabla.
Parámetros:
  • szIdPrimarioTabla: identificador primario de la tabla

Funciones de objetos

Number allObjectCount( Number nObjectType )

Devuelve el número de objetos de un determinado tipo. Esta función incluye objetos de todos los proyectos incluidos los proyectos heredados.
Parámetros:
  • nObjectType: tipo de objeto. Ver enumeración de tipos de objeto en la clase VObjectInfo.

VObjectInfo allObjectInfo( Number nObjectType, Number nObjectIndex )

Devuelve un objeto VObjectInfo de un tipo y un identificador. Esta función incluye objetos de todos los proyectos incluidos los proyectos heredados.
Parámetros:
  • nObjectType: tipo de objeto. Ver enumeración de tipos de objetos en la clase VObjectInfo.
  • nObjectIndex: número de orden del objeto en la lista de objetos de ese tipo.

Number objectCount( Number nObjectType )

Devuelve el número de objetos de un tipo. Esta función incluye sólo el proyecto en curso.
Parámetros:
  • nObjectType: tipo de objeto. Ver enumeración de tipos de objetos en la clase VObjectInfo.

VObjectInfo objectInfo( Number nObjectType, Number nObjectIndex )

Devuelve un objeto VObjectInfo de un tipo y del número de orden de la lista. Esta función incluye sólo el proyecto en curso.
Parámetros:
  • nObjectType: tipo de objeto. Ver enumeración de tipos de objeto en la clase VObjectInfo.
  • nObjectIndex: número de orden del objeto en la lista de objetos de ese tipo.

VObjectInfo objectInfo( Number nObjectType, String szIdPrimario )

Devuelve un objeto VObjectInfo del proyecto en curso de un tipo y un identificador. Esta función incluye sólo el proyecto en curso.
Parámetros:
  • nObjectType: tipo de objeto. Ver enumeración de tipos de objeto en la clase VObjectInfo.
  • szIdPrimario: identificador del objeto.

VObjectInfo array subObjectsNotUsed(NObjectType)

Devuelve un array de objectinfos de todos los objetos y subobjetos no usados del proyecto.
Parámetros:
  • nObjectType: tipo de objeto. Ver enumeración de tipos de objeto en la clase VObjectInfo.
Si se especifica el tipo devuelve solo los de ese tipo, si no se pasa parámetro los devuelve todos.

Funciones de herencia

Number legacyProjectCount()

Devuelve el número de proyectos heredados del proyecto en curso.

VProjectInfo legacyProjectInfo( Number nIndex )

Devuelve un objeto VProjectInfo.
Parámetros:
  • nIndex: número de orden del proyecto en la lista de proyectos heredados

Funciones de solución

VSolutionInfo solutionInfo()

‌Devuelve la solución de un proyecto.
‌Esta función está sólo disponible para su uso en extensiones de Velneo vDevelop.

Funciones de estado

Boolean isLocked()

Devolverá true si el proyecto en curso ya está abierto en edición y false si no lo está.

Ejemplos

1. Recorre todas las tablas históricas de un proyecto (heredadas incluidas)

var mainProject = theApp.mainProjectInfo();
for( var nIndex=0; nIndex < mainProject.allTableCount(); nIndex++ )
{
var tableInfo = mainProject.allTableInfo( nIndex );
if (tableInfo.type() == 1)
{
var nameTable = tableInfo.name();
....
}
}

2. Mostrar los datos del proyecto en curso

////////////////////////////////////////////////////////////
// Mostrar los datos del proyecto en curso
var proyecto = theApp.mainProjectInfo();
var info = proyecto_datos( proyecto );
alert( "El proyecto principal tiene la siguiente información: \n\n" +
"Id = " + info[0] + "\n" +
"Alias = " + info[1] + "\n" +
"Tipo = " + info[2] + "\n" +
"Nombre = " + info[3] + "\n" +
"Versión = " + info[4] + "\n" +
"Ultimo cambio = " + info[5] + "\n" +
"Nº historia = " + info[6] );
////////////////////////////////////////////////////////////
// Almacenar datos generales de un proyecto
// proyecto = Proyecto del que se extraerá la información
function proyecto_datos( proyecto )
{
var datos = new Array();
datos[0] = proyecto.id();
datos[1] = proyecto.alias();
datos[2] = proyecto.type();
datos[3] = proyecto.name();
datos[4] = proyecto.version();
datos[5] = proyecto.saved();
datos[6] = proyecto.history();
return( datos );
}

3. Mostrar los datos de los proyectos heredados

////////////////////////////////////////////////////////////
// Mostrar los datos de los proyectos heredados
var proyecto = theApp.mainProjectInfo();
var msg = "";
var resultado = proyectos_info( proyecto );
alert( msg, "Información de herencia" );
////////////////////////////////////////////////////////////
// Almacenar datos generales de un proyecto
// proyecto = Proyecto del que se extraerá la información
function proyectos_info( proyecto )
{
// Se compone el mensaje final a mostrar
msg += "Proyecto heredado: " + proyecto.name() + " (" + proyecto.alias() + ")" + "\n" +
"Nº tablas: " + proyecto.objectCount( VObjectInfo.TypeTable) + "; " + "\n" +
"Nº tablas estáticas: " + proyecto.objectCount( VObjectInfo.TypeStaticTable) + "; " + "\n" +
"Nº esquemas: " + proyecto.objectCount( VObjectInfo.TypeScheme) + "\n\n";
alert ( proyecto.name() );
// Se analiza si el proyecto tiene otros proyectos heredados
var num_pry_heredados = proyecto.legacyProjectCount();
// Por cada proyecto heredado se ejecuta la función de forma reentrante hasta procesar todos los proyectos
for ( var x = 0; x < num_pry_heredados; x++ )
{
var proyecto_heredado = proyecto.legacyProjectInfo( x );
resultado = proyectos_info( proyecto_heredado );
}
}
Última actualización 7mo ago
Copiar enlace
Esquema
Indice de funciones
Generales
De tablas
De objetos
De herencia
De solución
De estado
Enumeraciones
Documentación de funciones
Funciones generales
Funciones de tablas
Funciones de objetos
Funciones de herencia
Funciones de solución
Funciones de estado
Ejemplos
1. Recorre todas las tablas históricas de un proyecto (heredadas incluidas)
2. Mostrar los datos del proyecto en curso
3. Mostrar los datos de los proyectos heredados