ef_combo_editable

Hola…

Tengo un ef_combo_editable que asu vez es casacada de un ef_combo provincias;
estoy tratando que en este editable sea posible la busqueda combinada,
osea que vizualice los datos sin tener que tipiar la primera letra correcta sino que muestre por cualquier convinacion, ejemplo:
si el editable contiene como dato roque perez, que muestre si tipeo perez.
Eh puesto esta condicion pero no me devuelve datos en el ef_combo_editable, si en postgres.
$filtro = quote(“%{$filtro}%”);
Otro tema que me gustaria poder hacer, no se si esposible lograr desde este elemento:

  • si no existe el dato poder guardarlo como uno nuevo.

Metodos relacionados:

function get_localidad_filtro($filtro=null, $id_provincia, $array=null)
{
	if (! isset($filtro) || trim($filtro) == '') {
		return array();
	}
	$where = '';
	if (isset($array)) {
		$array = quote($array);
		$where = " AND posicion =$array";
	}
	$filtro = quote("%{$filtro}%");
	$sql = "SELECT 
				id_localidad
				,nombre
			FROM 
				localidades
			WHERE	
				nombre ILIKE $filtro
			AND 	id_provincia = $id_provincia	
				$where
			LIMIT 20
	";
	return consultar_fuente($sql);		
}

function get_localidad($id_localidad=null)
{
	if (! isset($id_localidad)) {
		return array();
	}
	$sql = "SELECT 
			id_localidad 
			,nombre
		FROM 
			localidades
		WHERE
			id_localidad = $id_localidad";
	$result = consultar_fuente($sql);
	if (! empty($result)) {
		return $result[0]['nombre'];
	}
}

Bueno desde ya agredesco cualquier sugerencia.
Saludos.

Hola Sandra,

aparentemente por lo que me contas es bastante probable que se este escapando por el primer “if” de la funcion, estaria bueno poder ver que le esta llegando como parametro a la llamada, luego de seleccionar el combo de provincias, mira en el logger de toba que es lo que te muestra, casi sobre el final de la pagina deberia leerse algo estilo ‘Estado de los maestros’ y ahi te informa que valores le paso a la funcion y en que orden.

Saludos

Hola Ricardo Dalinger

La verdad que le di vueltas a este metodo y no pude encontrar el error…
los filtros que recibo en el metodo get_localidad_filtro son:
$filtro: es el dato que tipeo (nombre de localidad).
$id_provincia: es el id de la provincia que selecciono.

Hola Sandra,

te pediria que antes de la ejecucion de la sentencia ‘consultar_fuente($sql);’ del metodo get_localidad_filtro agregues la sentencia toba::logger()->debug(“Metodo cascada combo editable: $sql”); de manera que podamos visualizar cual es exactamente la SQL que se esta enviando al servidor y el porque no se estan devolviendo los datos correctamente.

Saludos

Hola Ricardo…

Aqui esta el sql:

SELECT id_localidad ,nombre FROM localidades WHERE nombre ILIKE ‘%la pla%’ AND id_provincia = 26 LIMIT 20

{“195”:“La Plata”}

Adjunto la imagen…


Hola Sandra,

la consulta aparentemente esta devolviendo datos al cliente segun lo que veo en la imagen, lo que nos deja como opcion un error en javascript que este coartando la visualizacion de los mismos, fijate en la consola del browser (si tenes Firebug 100 veces mejor) si aparece algun error de JS cuando estas tipeando en el combo editable, ahi hay algo raro.

Saludos

Hola Ricardo…

La verdad que no me da ningun tipo de error…

Saludos

Hola Sandra,

no te muestra ningun error de JS y sigue sin funcionar. Probaste eliminando manualmente la cache del browser por si esta tomando algo de codigo viejo?.
Lo que tenes es muy similar al ejemplo de toba_referencia, ese ejemplo te funciona correctamente?

Saludos

Hola, yo tengo el mismo problema y no he podido resolverlo.
Tengo un formulario que contiene dos ef_combo, uno maestro del otro, y cuando intenta cargar los datos en el combo esclavo me tira el mismo error JS.
Ese formulario tiene una subclase asociada, si le quito dicha extensión funciona correctamente, eso es lo raro.

Saludos.

Hola Alejandro,

y que es lo que tenes en dicha extension?.. alguna redefinicion del layout?, algun JS?

Saludos

Richard

Tengo el siguiente JS:

<?php
   
  //----------------------------------------------------------------
  class form_registros extends toba_ei_formulario{
  function extender_objeto_js()  {
          echo"
          {$this->objeto_js}.evt__concepto_id__procesar = function(es_inicial){
                      this.mostrar_bloque_A(true);
                  }
          {$this->objeto_js}.mostrar_bloque_A = function(visible){
                      this.ef('modificar').mostrar(visible);
                  }
          ";
      }
   
  }?>

Saludos

Hola Alejandro,

en ppio no pareciera existir nada raro en el codigo (supongo que existen ambos efs), cual es el error JS que mencionas en el post anterior?.

Saludos