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 el identificador del proyecto que hereda.
Parámetros:
- nIndex: número de orden del proyecto en la lista de proyectos heredados.
Devuelve un objeto VProjectInfo.
Parámetros:
- nIndex: número de orden del proyecto en la lista de proyectos heredados
Devuelve el nombre del proyecto que hereda.
Parámetros:
- nIndex: número de orden del proyecto en la lista de proyectos heredados.
Devuelve la versión del proyecto que hereda.
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á.
Devuelve el número de idiomas del proyecto.
Devuelve el código del pais del idioma del proyecto.
Parámetros:
- nIndex: número de orden del idioma del proyecto en la lista de idiomas configurados.
Devuelve el nombre del pais del idioma del proyecto.
Parámetros:
- nIndex: número de orden del idioma del proyecto en la lista de idiomas configurados.
Devuelve el código del idioma del proyecto.
Parámetros:
- nIndex: número de orden del idioma del proyecto en la lista de idiomas configurados.
Devuelve el nombre del idioma del proyecto.
Parámetros:
- nIndex: número de orden del idioma del proyecto en la lista de idiomas configurados.
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 10mo ago