# Regenerar índices complejos

**URL:** <https://foros.velneo.com/t/regenerar-indices-complejos/9289>\
**Category:** Compartir código fuente y ejemplos\
**Created:** [15 Enero, 2017 04:52 UTC](https://foros.velneo.com/t/regenerar-indices-complejos/9289 "2017-01-15T04:52:51Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![tony-diana](https://avatars.discourse-cdn.com/v4/letter/t/edb3f5/32.png) [@tony-diana](https://foros.velneo.com/u/tony-diana)\
**Post date:** [15 Enero, 2017 04:52 UTC](https://foros.velneo.com/t/regenerar-indices-complejos/9289/1 "2017-01-15T04:52:51Z")

</div>

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](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” ); }  
}

---

<div class="post-metadata">

**Author:** ![tony-diana](https://avatars.discourse-cdn.com/v4/letter/t/edb3f5/32.png) [@tony-diana](https://foros.velneo.com/u/tony-diana)\
**Post date:** [15 Enero, 2017 04:54 UTC](https://foros.velneo.com/t/regenerar-indices-complejos/9289/2 "2017-01-15T04:54:06Z")

</div>

Perdón tiene un error, sustituir:

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

el – para que el for funcione

---

<div class="post-metadata">

**Author:** ![tony-diana](https://avatars.discourse-cdn.com/v4/letter/t/edb3f5/32.png) [@tony-diana](https://foros.velneo.com/u/tony-diana)\
**Post date:** [15 Enero, 2017 04:54 UTC](https://foros.velneo.com/t/regenerar-indices-complejos/9289/3 "2017-01-15T04:54:37Z")

</div>

```auto
/**
* -----------------------------------------------------------------------------
*	@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" ); }
	}

```

---

<div class="post-metadata">

**Author:** ![tony-diana](https://avatars.discourse-cdn.com/v4/letter/t/edb3f5/32.png) [@tony-diana](https://foros.velneo.com/u/tony-diana)\
**Post date:** [15 Enero, 2017 04:59 UTC](https://foros.velneo.com/t/regenerar-indices-complejos/9289/4 "2017-01-15T04:59:02Z")

</div>

javascript único para obtener el IdRef

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

---

<div class="post-metadata">

**Author:** ![tony-diana](https://avatars.discourse-cdn.com/v4/letter/t/edb3f5/32.png) [@tony-diana](https://foros.velneo.com/u/tony-diana)\
**Post date:** [15 Enero, 2017 05:00 UTC](https://foros.velneo.com/t/regenerar-indices-complejos/9289/5 "2017-01-15T05:00:25Z")

</div>

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

![image](https://cdck-file-uploads-canada1.s3.dualstack.ca-central-1.amazonaws.com/flex035/uploads/velneo/original/2X/b/bc3a01fe0c28befca3dc4e6f5b9f8febadbd6643.png)

---

<div class="post-metadata">

**Author:** ![tony-diana](https://avatars.discourse-cdn.com/v4/letter/t/edb3f5/32.png) [@tony-diana](https://foros.velneo.com/u/tony-diana)\
**Post date:** [15 Enero, 2017 05:01 UTC](https://foros.velneo.com/t/regenerar-indices-complejos/9289/6 "2017-01-15T05:01:27Z")

</div>

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