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.
Tipos de proyectos
- TypeDat = 0
- TypeApp = 1
Devuelve el alias del proyecto.
Devolverá true si el proyecto en curso está protegido con contraseña y false si no lo está.
Devuelve el número de historia del proyecto.
Devuelve el identificador del proyecto.
Devuelve true si el objeto VProjectInfo es nulo, false si contiene un objeto.
Devuelve el nombre del proyecto.
Devuelve la fecha y hora de último cambio del proyecto.
Devuelve el tipo de proyecto.
Ver enumeración de tipos de proyectos.
Devuelve la versión del proyecto.
Devuelve el número total de tablas de todos los proyectos, incluidos los proyectos heredados.
Parámetros:
- nIndex: es el nº ordinal de la tabla entre todas las tablas de todos los proyectos.
Devuelve el número de tablas del proyecto de datos.
Parámetros:
- nIndex: es el nº ordinal de la tabla en el proyecto de datos
Parámetros:
- szIdPrimarioTabla: identificador primario de la tabla
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:
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:
- nObjectIndex: número de orden del objeto en la lista de objetos de ese tipo.
Devuelve el número de objetos de un tipo. Esta función incluye sólo el proyecto en curso.
Parámetros:
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:
- nObjectIndex: número de orden del objeto en la lista de objetos de ese tipo.
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:
- szIdPrimario: identificador del objeto.
Parámetros:
Si se especifica el tipo devuelve solo los de ese tipo, si no se pasa parámetro los devuelve todos.
Devuelve el número de proyectos heredados del proyecto en curso.
Devuelve un objeto VProjectInfo.
Parámetros:
- nIndex: número de orden del proyecto en la lista de proyectos heredados
‌Devuelve la solución de un proyecto.
Devolverá true si el proyecto en curso ya está abierto en edición y false si no lo está.
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();
....
}
}
////////////////////////////////////////////////////////////
// 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 );
}
////////////////////////////////////////////////////////////
// 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 1yr ago