Hola, sigo con problemas con el mismo esquema de siempre.
Hace unos dias puse un post donde decia que la aplicacion habia dejado de funcionar.
El problema estaba en una columna externa.
Lo que necesito es lo siguiente;
mostrar en un cuadro una columna que es FK de otra tabla, o mejor dicho, en un cuadro mostrar la descripcion de un campo que es FK a otra tabla.
No puedo usar el DT directamente porque el cuadro, viene de una seleccion desde otro cuadro previo y la unica manera de mostrar los registros correspondientes es de esta manera.
En el evento conf_ del cuadro se esta usando el metodo: nueva_busqueda().
Y observe lo siguiente:
no esta invocando al metodo get_listado() que tengo definido en el dt de t_dominio,
si agrego una columna externa a la tabla t_dominio produce lo que comentaba mas arriba, se produce algun error de php o algo asi y la pantalla no muestra nada, ni siquiera un error, (active el display_error en On y tampoco)
Lo que no comprendo es como hay que definir la columna externa, si el nombre de la columna es “pepe”, el o los metodo de recuperacion deben devolver ;
UNA y SOLO UNA columna llamada “pepe”?
Puede devolver cualquier cantidad de columnas, excepto que al menos una debe llamarse “pepe”?
no importa la cantidad de columnas, solo toma el valor de la primer columna ?
Esto implica entonces que los datos para el cuadro se tienen que obtener de un metodo que ejecute una SQL directamente contra la bd. Segun recuerdo tenias un metodo llamado get_listado().
En el evento conf_ del cuadro se esta usando el metodo: nueva_busqueda().
Y observe lo siguiente:
no esta invocando al metodo get_listado() que tengo definido en el dt de t_dominio,
Este metodo lo tenes que llamar vos explicitamente para obtener los datos que tenes que entregarle al cuadro.
si agrego una columna externa a la tabla t_dominio produce lo que comentaba mas arriba, se produce algun error de php o algo asi y la pantalla no muestra nada, ni siquiera un error, (active el display_error en On y tampoco)
En el tab de carga de columnas externas, que metodologia de carga de descripciones le especificaste para la columna en cuestion?
(podrias adjuntarme una captura de dicho tab?)
Lo que no comprendo es como hay que definir la columna externa, si el nombre de la columna es "pepe", el o los metodo de recuperacion deben devolver ;
UNA y SOLO UNA columna llamada "pepe"?
Puede devolver cualquier cantidad de columnas, excepto que al menos una debe llamarse "pepe"?
no importa la cantidad de columnas, solo toma el valor de la primer columna ?
El resultado de la consulta/metodo debe devolver un arreglo asociativo (recordset) que contenga [b]como minimo[/b] la columna 'pepe' (ya que de dicha manera sera buscada).
Si utilizas un metodo de carga masiva, ademas junto a la columna se debe devolver la clave a la cual pertenece dicha descripcion, bajo el nombre que se le dio en el DT.
Lo importante es que si vos estas cargando datos para una unica fila, el metodo devuelva como resultado 1 sola fila… si para una columna externa puntual el metodo me devuelve 5 filas distintas… estoy al horno ya que no se con cual debo quedarme.
Igual me parece que te estas complicando demasiado, si el cuadro lo vas a cargar a partir de un metodo que ejecuta una consulta SQL… que la SQL tenga un join a la otra tabla y obtenga la descripcion.
Tome este ejemplo de la operacion de Personas en el Toba Referencia.
por eso este cuadro en el conf se carga con ->nueva_busqueda(), y por ende no invoca al ->get_listado()
en el ->get_listado() si tengo el join y traigo la descripcion que necesito.
Voy a probar de invocar a get_listado() y ver que pasa, tene en cuenta que deberia filtrar en ese listado, ya que es como ir a buscar una lista de items de una cabecera …
Acabo de probar y no funciona.
Cuando le digo al conf del cuadro que use get_listado() al hacer click en la solapa que deberia mostrarme el cuadro, me da un error :
El array provisto para cargar el cuadro posee un formato incorrecto Las columnas: “x_dbr_clave” NO EXISTEN
, entonces no puedo usar ese metodo.
Pero si dejo q el sql lo haga toba … no me trae la columna…
En el metodo de busqueda de la columna externa, por ahora siempre uso un “tabla (datos tabla)”…
Al metodo get_listado le podes pasar el where que arma el filtro como parametro y luego lo pegas adentro del metodo al resto de la sql.
Acabo de probar y no funciona.
Cuando le digo al conf del cuadro que use get_listado() al hacer click en la solapa que deberia mostrarme el cuadro, me da un error :
El array provisto para cargar el cuadro posee un formato incorrecto Las columnas: "x_dbr_clave" NO EXISTEN
, entonces no puedo usar ese metodo.
Si podes usar el metodo, el error que te da es porque el cuadro aun te quedo configurado para trabajar integrado al DT, en lugar de tener en el cuadro tildado 'Clave - datos_tabla' tenes que sacar ese tilde y completar el campo [b]Clave - Columnas[/b] con la columna/s que identifica/n un registro.
En el metodo de busqueda de la columna externa, por ahora siempre uso un "tabla (datos tabla)"...
Mientras el metodo invocado siga los lineamientos que te puse antes con respecto al result set, no deberia tener inconvenientes.