Regenerar índices complejos


([N1] tony diana) #1

Este proceso javascript sirve para generar los índices complejos de un solo proyecto de datos, no de todos, como en los ejemplos que he visto. Espero que a alguien le sirva

‘code’
/**


  • @fileoverview: Regenera todos los índices complejos del proyecto en curso
  • @version: 1.1a

  • @supported: Velneo V20
  • @param: string ‘IDREF’: ALIAS del proyecto de datos cuyos índices complejos se desean regenerar
  • @return: No devuelve ningún valor, ofrece mensajes de reporte para vAdmin.
  •   		¡¡¡ PROCESO PENSADO PARA EL ON INIT SERVER !!!
    
  • @author: Tony Diana
  • @license: Derechos libres
  • @copyright: http://www.tonydiana.es
  • History

*/

var proyecto = theRoot.varToString ( “IDREF” );
var cant = theApp.projectInfo( proyecto ).allObjectCount( 7 );
// — theApp.mainProjectInfo().TypeComplexIndex = 7

for (var i = 0; i < cant; i++)
{ var table = theApp.projectInfo( proyecto ).allObjectInfo( 7, i ).idRef();
if ( !theApp.regenComplexIndex( table, true ))
{ alert ("Falló la regeneración del índice complejo " + table); }
else { alert ("Índice complejo " + table + “, Regeneración exitosa” ); }
}


([N1] tony diana) #2

Perdón tiene un error, sustituir:

var cant = theApp.projectInfo( proyecto ).allObjectCount( 7 )–;

el – para que el for funcione


([N1] tony diana) #3
/**
* -----------------------------------------------------------------------------
*	@fileoverview:	Regenera todos los índices complejos del proyecto en curso 
*	@version:		1.1a
* -----------------------------------------------------------------------------
*	@supported:	Velneo V20
*
*	@param:		string 'IDREF': ALIAS del proyecto de datos cuyos índices complejos se desean regenerar
*
*	@return:	No devuelve ningún valor, ofrece mensajes de reporte para vAdmin.
*				¡¡¡ PROCESO PENSADO PARA EL ON INIT SERVER !!!
*
*	@author:	Tony Diana
*	@license:	Derechos libres
*	@copyright:	http://www.tonydiana.es
*	
*	History
*	-------
*	
*/

var proyecto = theRoot.varToString ( "IDREF" );
var cant     = theApp.projectInfo( proyecto ).allObjectCount( 7 )--;
		   // --- theApp.mainProjectInfo().TypeComplexIndex = 7

for (var i = 0; i < cant; i++)
	{	var table = theApp.projectInfo( proyecto ).allObjectInfo( 7, i ).idRef();
		if ( !theApp.regenComplexIndex( table, true ))
			{	alert ("Falló la regeneración del índice complejo " + table); }
			else {	alert ("Índice complejo " + table + ", Regeneración exitosa" ); }
	}


([N1] tony diana) #4

javascript único para obtener el IdRef

theRoot.setVar( "IDREF", theRoot.objectInfo().idRef() );


([N1] tony diana) #5

Una función a declarar en cada proyecto de datos que se desee obtener el IDREF, para pasárselo a la primera rutina



([N1] tony diana) #6

Asi, perdón, yo tengo 2 constantes, TRUE y FALSE, las prefiero a usar 1 y 0, veo más claro el código