JavaScript y variables globales


([N4] velavisual) #1

En mis comienzos con JavaScript, me veo en la necesidad de:

  • Desde un formulario de edición poder asignar el valor de un campo a una variable global.

  • Desde un formulario de edición poder asignar el valor de una variable global a un campo.

¿Alguien podría poner algún código JavaScript que me aclare algo? Gracias


([N4] Fran) #2

Hola Antonio:

Yo también estoy empezando con javascript y no estoy verde… ni siquiera llego al verde!!!

El tema de asignar un valor a una variable global si lo he hecho y es algo así:

theApp.setGlobalVar( “403v5wci.vcd/NOMBRE_VARIABLE”, VALOR_PARA_LA_VARIABLE )

El nombre de la variable se puede seleccionar desde un botón del asistente de javascript… poco más te puedo contar.


([N4] velavisual) #3

Gracias Fran.

Lo probaré, pero el problema creo que lo tendré cuando tenga que indicarle como VALOR_PARA_LA_VARIABLE un campo de la ficha del formulario donde me encuentro.


([N1] sergi.esteve) #4

No lo he probado, pero es posible que tengas la variable theRegister con la que acceder a la ficha activa.


([N1] Velasco) #5

Buenas Antonio.

Estando en una lista de registros puedes usar readAt(x) donde x será o un número de registro o una var local dentro de un for

Te pongo un ejemplo de algo parecido a lo que pides:

var num_registros = theRegisterListIn.size();
for( var x=0; x < num_registros; x++ )
{
var registro = theRegisterListIn.readAt( x );
if (registro.isOK() )
{
texto += registro.fieldToString(“IDE”);
texto +="\n";
}
}

En este ejemplo
1.- Cojo el número de registros de la lista que recibo en el proceso vJavascript.
2.- Los recorro con un for
3.- Me voy quedando con cada registro con el readAt()
4.- Después asigno a una variable local el campo IDE de mi tabla y hago un salto de linea.

Espero haberte aclarado como coger el valor de un registro de una tabla

un saludo


([N1] Velasco) #6

Si le quieres dar valor desde un evento que está en un formulario es mucho mas fácil

theRegisterIn.fieldToString( “ID” )

Este es el valor del campo ID que lo cojo desde un evento que lanzo desde el botón Aceptar de mi formulario.

Un saludo


([N4] velavisual) #7

Gracias a todos.

@Jorge,

Con tu anterior post ya logro recoger un campo y ponerlo en una variable.

Ahora lo paso a la variable global y cuando la consulto, no la ha asignado.
La signación no es correcta por algún motivo.

Este es el manejador javascript:

/* Obtenemos el campo NAME del registro actual del formulario en edición y se lo asignamos a la variable cName */

var cName =theRegisterIn.fieldToString( “NAME” );
alert(cName);

theApp.setGlobalVar( “alias/VARIABLE”, cName );

Gracias


([N4] velavisual) #8

Hola,

Modificando un poco el código anterior, ya logramos lo esperado.
Lógicamente se debe especificar el alias proyecto de datos, la variables se declaran allí. Cosas de novatos. :slight_smile:

/* Obtenemos el campo NAME del registro actual del formulario en edición y se lo asignamos a la variable cName */ var cName =theRegisterIn.fieldToString( “NAME” ); theApp.setGlobalVar( “alias_prj_datos/VARIABLE”, cName );

Ahora por la segunda parte:

Una variable global a un campo del registro en edición…


([N1] Cuco) #9

Anima mucho observar a las Grandes Estrellas de Velneo aprendiendo y ayudándose entre ellos.
Majestuoso

Juan Figueroa


([N1] leonardo daniel velazquez fuentes) #10

Hola a ver si me pueden ayudar, ya me canse y no doy con bola… necesito extrar el dato de mi variable global, variable que se llena en el formulario login y que es usada en el formulario principal para mostrar el usuario conectado, y ademas se usa para guadarlo en en una columna de algunas tablas y todo funciona… PEROOO ahora necesito un manejador de evento JS para llenar un combobox y necesito el usuario conectado para seleccionarlo en el combobox…

//Sacar usuario conectado - varianble global
var user = theApp.globalVarToString("vAztecaDat/USUARIO");
alert( user, "usuario logeado");

Revise en vAdmin en la seccion de soluciones, selecciono mi solucion y en la parte de abajo en Proyecto, aparece vAztecaDat (Datos), vAztecaApp y colgando de el aparecen vAztecaDat de nuevo, vTools_app, vTools

en proyectos instanciados de datos aparece vAztecaDat y ahi cuelga “vAztecaApp_vAztecaDat” ya puse ese nombre para extrar la variable global y nada.!