Vinculo Popup

Hola. SI bien hay muchas consultas en el foro con respecto al tema, no me quedaron muy claras

Tengo un formulario multilinea donde cargo detalles de un contrato. En cada fila hay un vinculo que abre un vinculo como popup donde se encuentra otro ML con las ubicaciones. Lo que necesito es que muestre las ubicaciones del detalle seleccionado.

En el evento que tiene el vinculo hice un set_cursor, pero no me sirve ya que me la acción predefinida es un vinculo


	function evt__form_ml_detalles_contrato__seleccion($seleccion)
	{
		$this->cn()->dep('dr_contratos')->tabla('dt_detalles_contrato')->set_cursor($seleccion);
	}

Asi tengo el conf del ml que se abre como vinculo


	function conf__form_ml_ubicacion(toba_ei_formulario_ml $form_ml)
	{
		$parametros = toba::memoria()->get_parametros();
		ei_arbol($parametros, 'PARAMETROS recibidos');

	        $datos = $this->dep('datos')->get_filas();
		//ei_arbol($datos[0]);
		//$form_ml->set_datos($datos[0]); // lo hice para probar si me trae una sola fila. No me funciono
	}


Captura de pantalla de 2017-07-12 12:07:01.png

Captura de pantalla de 2017-07-12 12:07:01.png

Captura de pantalla de 2017-07-12 12:08:31.png

Captura de pantalla de 2017-07-12 12:08:31.png

Hola Mariano,

eso estimo es lo que se dispara mediante el boton con la etiqueta ‘ubicacion’. Podrias subirme una captura de la definicion de ese vinculo?, quisiera ver algunos detalles.

En el evento que tiene el vinculo hice un set_cursor, pero no me sirve ya que me la acción predefinida es un vinculo

	function evt__form_ml_detalles_contrato__seleccion($seleccion)
	{
		$this->cn()->dep('dr_contratos')->tabla('dt_detalles_contrato')->set_cursor($seleccion);
	}

Esto no te va a servir ya que ese metodo no se ejecuta nunca, cuando se dispara el vinculo te vas a otra operacion, la operacion original ni se entera donde estas hasta que volves a disparar uno de sus eventos.

Lo que tenes que hacer es en la configuracion del evento (conf__evt_xx) agregar el parametro correspondiente (en este caso ubicacion) a los parametros del vinculo, ya que de otra manera el ML unicamente te va a informar el id de la fila que disparo el evento. Con esto.

Asi tengo el conf del ml que se abre como vinculo

	function conf__form_ml_ubicacion(toba_ei_formulario_ml $form_ml)
	{
		$parametros = toba::memoria()->get_parametros();
		ei_arbol($parametros, 'PARAMETROS recibidos');

	        $datos = $this->dep('datos')->get_filas();
		//ei_arbol($datos[0]);
		//$form_ml->set_datos($datos[0]); // lo hice para probar si me trae una sola fila. No me funciono
	}

Como te decia antes, en el ei_arbol se puede ver que unicamente te envio el id de la fila que genera el evento, ese vinculo no tiene asignado ningun otro parametro y por tanto no traslada nada mas. En cuanto a los parametros recibidos, seguramente tengas que recuperarlos antes para hacer la validacion y cargar el DT . Saludos