Leer variable local de un formulario desde un proceso


([N3] blanyi) #1

Buenos días foro.

Se me presenta la siguiente situación:
En un formulario tengo incrustada una multivista, en la multivista la segunda rejilla es sincronizada con un proceso. Tengo ademas en el formulario un check box cuyo contenido es una variable local boleana, esto lo tengo para habilitar o deshabilitar que muestren ciertos registros o no, según el valor de la variable local boleana.

El inconveniente lo tengo en el proceso, en este tengo un cargar plurales y lo que deseo hacer es un filtro una vez obtenida la lista de plurales de acuerdo con el valor que tenga la variable local del formulario, pero como es sabido desde el proceso no tengo acceso a la variable local del formulario.

Alguien sabe como solucionar esto?

Gracias.

YIMY MORA ACONCHA


([N4] apinna.winmotor) #2

@blanyi si utilizas en lugar de un proceso un manejador de evento si tendrás acceso a la variable local del formulario


([N3] blanyi) #3

Hola Apinna, gracias por tu respuesta.

El asunto es que creo que en una multivista como proceso sincronizador no puedo usar un manejador de evento, o al menos yo no se como se haría.

YIMY


([N4] apinna.winmotor) #4

@blanyi

pero puedes usar un manejador de evento (que conoce el valor de la variable local) que llame al proceso mediante :

  • Crear manejador de objeto (proceso sincronizador)
  • Set variable local del objeto (la local que te interesa)
  • Disparar objeto
  • Interfaz-recalcular (rejilla en el formulario)

([N4] arturomiranda) #5

@blanyi

como bien dice el compañero @apinna.winmoto puedes hacer uso del manejador de evento:

http://velneo.es/info_v7_74_es/velneo_vdevelop_v7/proyectos_objetos_y_editores/proceso/comandos/comandos_de_objetos/crear_manejador_de_objeto/

ahora lo que no te recomiendo es hacer uso del comando Filtrar, o en su defecto hacer uso lo minimo posible, en su lugar te recomiendo usar busquedas en base a indices que esten condicionados, veras una diferencia significativa en el rendimiento sobre todo si estaras en cloud

saludos


([N3] blanyi) #6

Gracias a @apinna.winmoto y a arturomiranda.gmail por su ayuda, pero la explicación, a menos que lo este haciendo mal, no aplica para mi caso. He usado el manejador de eventos pero resulta que en una rejilla el proceso sincronizador se ejecuta automáticamente cada vez que se da Interfaz-racalcular(rejilla).

Lo solucioné guardando el dato en una tabla con permanencia en memoria, en la que tengo algunos parametros. En la dicha tabla, en un campo nuevo que le cree, almaceno el valor de la variable local cada vez que cambia, luego en el proceso leo de la tabla dicho campo y de acuerdo al valor que tenga cargo los plurales de un indice si se cumple X condición o los plurales de otro indice si la condición es otra.

YIMY MORA ACONCHA