# Ejemplos JavaScrip

**URL:** <https://foros.velneo.com/t/ejemplos-javascrip/5334>\
**Category:** Velneo\
**Created:** [14 Julio, 2012 09:47 UTC](https://foros.velneo.com/t/ejemplos-javascrip/5334 "2012-07-14T09:47:07Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![neocursar](https://avatars.discourse-cdn.com/v4/letter/n/7bcc69/32.png) [@neocursar](https://foros.velneo.com/u/neocursar)\
**Post date:** [14 Julio, 2012 09:47 UTC](https://foros.velneo.com/t/ejemplos-javascrip/5334/1 "2012-07-14T09:47:07Z")

</div>

Este es un ejemplo de re-utilización de una búsqueda asignando el proyecto y el destino que genera.  
Solo tendríamos que tener una búsqueda que se llame como la tabla, y con una acción lanzamos ese proceso que siempre llama al mismo javascript. Luego con copiar y pegar podemos hacer múltiples búsquedas sin apenas cambios.

tablaOrigen = theRegisterListOut.tableInfo();  
proyecto = theApp.mainProjectInfo();

var busqueda = proyecto.name() +"/"+tablaOrigen.id()

importClass( “VQuery” );  
// Se crea el objeto búsqueda  
var bus = new VQuery( theRoot );  
bus.setQuery( busqueda );  
// Se alimentan los paŕametros de búsqueda  
var nombre = prompt(“Nombre a buscar:”, “”,“Buscar”)  
bus.setVar( “SEARCH”, nombre );  
// Se ejecuta la búsqueda y los registros encontrados se añaden a la salida  
if ( bus.exec() )  
{  
// Le pasamos los resultados a la lista de salida  
theRegisterListOut.append( bus.result() );  
}

---

<div class="post-metadata">

**Author:** ![neocursar](https://avatars.discourse-cdn.com/v4/letter/n/7bcc69/32.png) [@neocursar](https://foros.velneo.com/u/neocursar)\
**Post date:** [14 Julio, 2012 10:24 UTC](https://foros.velneo.com/t/ejemplos-javascrip/5334/2 "2012-07-14T10:24:10Z")

</div>

Le pasamos el handle de la tabla y tenemos acceso a sus datos:  
id, name, etc…

var theMainProject = theApp.mainProjectInfo();  
if (theMainProject )  
{  
var tablaNum = theRoot.varToInt( “TABLA\_NUM” );  
if ( tablaNum \> -1 )  
var tabla = theMainProject.allTableInfo( tablaNum );  
alert(tabla.id() ,“tabla”);  
}

---

<div class="post-metadata">

**Author:** ![neocursar](https://avatars.discourse-cdn.com/v4/letter/n/7bcc69/32.png) [@neocursar](https://foros.velneo.com/u/neocursar)\
**Post date:** [14 Julio, 2012 12:47 UTC](https://foros.velneo.com/t/ejemplos-javascrip/5334/3 "2012-07-14T12:47:32Z")

</div>

Modificando un poco los ejemplos de la app de scripts, podemos hacer un eliminar plurales genérico.  
Faltaría añadir que actualice la rejilla, o el objeto donde se ha ejecutado.

////////////////////////////////////////////////////////////  
// Eliminar todos los plurales de la tabla  
ti = theRegisterIn.tableInfo();  
var nombreTabla= ti.name();

// Pide confirmación para la eliminación de los plurales  
if ( confirm( "¿Deseas eliminar todos los plurales de la tabla: " + nombreTabla + “?”, “Confirmación” ) )  
{   
// Se crea la transacción  
theRoot.beginTrans( "Eliminando plurales de " + nombreTabla );

```
// Se analiza la tabla para recorrer sus plurales
numPlurales = ti.pluralCount();
numTotalReg = 0;

for ( x=0; x 0 )
	{
		
		// Si la lista de plurales tiene registros se eliminan			
		numTotalReg += numReg;
		for ( y=0; y&lt;numReg; ++y )
		{
			// Cogemos el registro plural
			regPlural = listaPlurales.readLockingAt( y );
			//borramos el plural
			regPlural.deleteRegister();
		}
	}
}
// Borramos el registro
theRegisterIn.deleteRegister();
// Se finaliza la transacción
theRoot.commitTrans();

```

} [attachment=24823,1936] [attachment=24823,1937] [attachment=24823,1938]

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/0/0da042a185f457b68a5f7a77e2881478ee69b2cd.JPG)

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/d/de2b38e227624c07e5af90584690168dadf1c1ae.JPG)

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/1/126eb4116873fc2ecb512fc7a94f46559e743e7a.JPG)

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/0/0da042a185f457b68a5f7a77e2881478ee69b2cd.JPG)

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/d/de2b38e227624c07e5af90584690168dadf1c1ae.JPG)

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/1/126eb4116873fc2ecb512fc7a94f46559e743e7a.JPG)

---

<div class="post-metadata">

**Author:** ![neocursar](https://avatars.discourse-cdn.com/v4/letter/n/7bcc69/32.png) [@neocursar](https://foros.velneo.com/u/neocursar)\
**Post date:** [14 Julio, 2012 13:13 UTC](https://foros.velneo.com/t/ejemplos-javascrip/5334/4 "2012-07-14T13:13:47Z")

</div>

Información:  
[http://velneo.es/listado-de-novedades-velneo-v7-7-10/](http://velneo.es/listado-de-novedades-velneo-v7-7-10/)  
[http://jarboleya.com/tag/javascript/](http://jarboleya.com/tag/javascript/)  
[http://varquitecto.wordpress.com/?s=javascript](http://varquitecto.wordpress.com/?s=javascript)

---

<div class="post-metadata">

**Author:** ![neocursar](https://avatars.discourse-cdn.com/v4/letter/n/7bcc69/32.png) [@neocursar](https://foros.velneo.com/u/neocursar)\
**Post date:** [23 Julio, 2012 10:44 UTC](https://foros.velneo.com/t/ejemplos-javascrip/5334/5 "2012-07-23T10:44:44Z")

</div>

Cambio modo vista ventana:

theMainWindow.setBootMode(theRoot.varToInt(“VIEW\_MODE”));  
theApp.setGlobalVar( “nBaseDat/SYS\_VIEW\_MODE”, theRoot.varToInt(“VIEW\_MODE”) );

[attachment=24933,1951]

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/b/b7d97f21b21ad15cec59a6bf74b7f0b9b576c200.png)

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/b/b7d97f21b21ad15cec59a6bf74b7f0b9b576c200.png)

---

<div class="post-metadata">

**Author:** ![ngrodri](https://avatars.discourse-cdn.com/v4/letter/n/a5b964/32.png) [@ngrodri](https://foros.velneo.com/u/ngrodri)\
**Post date:** [11 Noviembre, 2014 16:28 UTC](https://foros.velneo.com/t/ejemplos-javascrip/5334/6 "2014-11-11T16:28:24Z")

</div>

Si se copia y pega el script para eliminar plurales:  
1- hay que cambiar todas las comillas que pega (son abre y cierra comillas de imprenta) por comillas de la tecla 2 (")  
2- El bucle  
for ( x=0; x 0 )

supongo que será:  
for ( x=0; x\<numPlurales; ++x )

3- Sobra el } final

Con eso no da errores

---

<div class="post-metadata">

**Author:** ![Cuco](https://avatars.discourse-cdn.com/v4/letter/c/c4cdca/32.png) [@Cuco](https://foros.velneo.com/u/Cuco)\
**Post date:** [12 Noviembre, 2014 10:50 UTC](https://foros.velneo.com/t/ejemplos-javascrip/5334/7 "2014-11-12T10:50:26Z")

</div>

Como dice Noé, así no da errores pero a mi no me funciona, por lo que, como aconsejan en otro hilo, he copiado a mano el js de eliminación de plurales, con los cambios que aconseja Noé para que no me diera error. Pues,bien, no funciona  
Si bien no soy ni si quiera usuario principiante en js, para mí que el segundo **for** tampoco está bien, pero no sé en qué:

// Si la lista de plurales tiene registros se eliminan  
numTotalReg += numReg;  
for ( y=0; y\<numReg; ++y )  
{  
// Cogemos el registro plural  
regPlural = listaPlurales.readLockingAt( y );  
//borramos el plural  
regPlural.deleteRegister();  
}

1- No se sabe qué valor toma **numReg** cómo límite superior del bucle .  
2 - **numTotalReg** se incrementa con el valor (desconocido) de **numReg** en cada ciclo del primer bucle  
y luego su valor no se usa para nada.

¿Alguien podría sugerir algo al respecto?

NOTA: el comentario debería ser “//tomamos el registro plural”. nuestros colegas de hispanoamerica podrían pensar otra cosa:  
A los programadores se nos acusa de falta de líbido, natural, por lo visto la malgastamos cogiendo registros plurales
