Set Variable Global


([N1] glpunzi.lordzealon) #1

A ver si me podéis echar un cable a ver qué estoy haciendo mal.

Tengo una tabla en la que quiero seleccionar un Centro de Trabajo.

He creado un formulario, donde quiero seleccionar un centro de trabajo, que quedará en una variable para el resto de la aplicación. Sería ideal hacerlo de otra manera, como por ejemplo, que la aplicación lo pida al principio con algún tipo de contraseña, pero, como no tengo ni idea de como hacerlo, de momento, así, me vale.

El botón aceptar, llama un Evento Selecc_Centro, que setea la cariable Centro_Selec al ID del Centro seleccionado. Si el valor es 0, salta un mensaje diciendo que debe seleccionar un centro.

Creo que lo tengo bien hecho, pero en cambio, siempre me salta el mensaje.

Alguna idea?

 

[attachment=12250,1113] [attachment=12250,1114]


([N1] info) #2

Podrias al cargar el cliente asignar el centro de trabajo en una variable global, despues poner como contenido inicial de lcampo esta variable .

 

Un saludo.


([N1] glpunzi.lordzealon) #3

No es viable. El centro, es un centro de trabajo. Lo hago así, porque ahora mismo no se me ocurre como hacer una especie de login para el centro de trabajo (aparte de no ser necesario).

Lo único que necesito, es, que el centro de trabajo, al correr la aplicación, se identifique en esta, y a efectos, todas las compras y movimientos que haga, sean asociados a ese centro. No quiero que tengan que estar eligiéndolo cada vez.

 

El tema, es, que lo tendría digamos resuelto, pero no sé qué estoy haciendo mal, como para que no se Setee la variable.


([N4] eic) #4

Hola.

No te asigna ningún valor porque el campo #ID, en esa línea, no tiene valor. Fíjate que esa línea la ejecutas en un evento del formulario, luego te devolverá el campo ID del registro que "muestra" ese formulario. Pero tú lo que quieres hacer es que se asigne el ID del registro que el usuario selecciona en esa rejilla, que está dentro del control objeto, lo cual es muy distinto.

Lo que debes hacer es:

- Interfaz: procesar control (CONTROL_OBJETO, Seleccionados)

- Seleccionar ficha por posicion (1)

- Leer ficha seleccionada

- Modificar variable global VARIABLE, ID

- Interfaz Aceptar

De este modo, leerás el ID del registro que seleccionó el usuario.

Saludos,

Fran Varona

 


([N1] glpunzi.lordzealon) #5

Hola Fran,

Perfecto, pero, porque me dice...

"La ficha de centrosdetrabajo está vacía.

Rellene algún campo"

Un saludo.


([N1] glpunzi.lordzealon) #6

Mea Culpa.

Tenía la Acción como Ficha Alta. La he cambiado a Dispara Objeto .. llamando al formulario, y aparentemente solucionado.