Hola! Nos encontramos trabajando en un proyecto en toba_1.4.8. Dentro de la estructura contamos con un ci, del cual dependen 2 pantallas, en la primera tenemos un cuadro y en la segunda un formulario con 11 elementos, los cuales en su mayoria son campos que se cargan a partir de un método de consulta php. El cuadro posee el evento modificacion, y al hacer clic en el evento seleccionar de una fila del cuadro se debería pasar a la siguiente pantalla y los combos se deben completar con los datos de la fila seleccionada. Esto funciona correctamente excepto en un solo campo, que en vez de mostrar el valor correspondiente al registro que selecciono muestra el listado de todos valores que devuelve la consulta, su configuración es similar a la de los combos que funcionan correctamente. Revisamos código y componentes en el editor y no encontramos una posible causa, por que se podría llegar a estar originando esto? Desde ya gracias a quien pueda colaborar.
Alejandra.-
Hola, si es un combo es muy probable que haya una error en la definición del mismo o bien un error en la forma en que se recuperan los datos (método de carga). Revisaron el log para ver en que formato recupera sus valores el combo? Proba de hacer un ei_arbol() pasandole a ésta función el resultado de la consulta que utilizas para cargarlo. Debería tener formato recordset.
Es un combo, te envio la imagen de la definicion del combo. Ya habías realizado un ei_arbol de la información que nos sugerias, devuelve correctamente los campos. Alguna otra sugerencia?
Alejandra.-
Hola Alejandra
en “Datos manejados” no tendrías que tener categoria_dedicacion ?
Emilio
Si, seguramente, lo cambie, pero sigue sin funcionar. No hay muchas más cosas que se puedan probar, eso es lo que desorienta, no se donde más buscar el problema.
Adjunto el ei_arbol por si surge alguna otra posible solucion.
Hola Alejandra:
Me parece que tenés mal el formulario, pero…
En las columnas del formulario tenes categoria_dedicacion.
En el combo tenes ese campo como descripción y no como clave.
En el ei_arbol (supongo los datos que recibe el formulario) no tenes ese campo.
Creería que el campo que debería estar en el formulario es codc_categ.
Emilio
Hola Alejandra,
te voy a pedir lo siguiente:
-
Edita nuevamente el combo y en el campo ‘Datos Manejados’ coloca el valor codc_categ que es el que tenia originalmente. Dicho campo indica bajo que nombre de columna espera el formulario recibir el dato para ese ef cuando hagas un set_datos. El identificador del ef usualmente coincide… aunque no es estrictamente necesario que eso pase.
-
Agrega un ei_arbol como primera linea del metodo get_listado_cargos y pegame el contenido para ver cuales son los parametros que le estan llegando.
-
Fijate en el log de toba (acordate que se accede con la lupa en la parte superior del editor) y fijate si no encontras una linea ‘Se resetea el estado del ef’ o algo por el estilo, ahi deberia darte el valor que esta recibiendo como clave, el cual aparentemente no esta entre los que recuperas con la consulta.
Saludos
Envio adjunto archivos con los cambios realizados, les comento que en el momento de guardar un nuevo registro no surge ningun inconveniente. El problema solo lo tenemos al querer mostrar un registro que se selecciona de los ya existentes. Muchas gracias por la predisposición.
Alejandra.-
Hola Alejandra
Ejecutá la aplicación, llegá al formulario y cuando te lo muestre pedí el codigo fuente de la página.
Fijate las opciones que tiene el combo.
Aparentemente no existe el 30
Emilio
Hice lo que me dijiste, pero si no me equivoco, por lo que pude ver en el codigo fuente, si aparece el 30, igualmente te envio un .doc con el codigo fuente y la imagen del formulario.
Solucionado! Igualmente Gracias a todos por sus aportes. El problema lo estaba causando un campo de una tabla que utilizamos del Siu-Pampa, ya que éste campo clave tiene blancos y la tabla donde nosotros guardamos ese dato no estaba teniendo en cuenta el blanco, lo solucionamos eliminando los blancos de ese campo luego de la consulta.
Eso quería ver en el codigo fuente. No tenías el 30 sino 30 con tres espacios.
Listo.
Emilio
Buenisimo… me alegro que finalmente se haya solucionado.
Gracias Emilio por la ayuda