JavaScript y variables globales

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

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.

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.

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

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

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

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

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…

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

Juan Figueroa

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.!