Quiero compartir el siguiente tema con uds. ya que se me presentó la necesidad de usar en un cuadro, la funcionalidad de columna externas de los datos tabla y creo que no funciona correctamente.
Estoy trabajando con Toba 1.5.0 y es mi primera experiencia con la plataforma ,el detalle del problema es el siguiente:
Es muy sencillo, tengo un id_tipo_documento (fk) tabla tipo_documento de donde tengo que obtener la descripción pero solo me muestra el primer caracter, en la columna indicada como columna externa del datos tabla. Les recuerdo que lo estoy mostrando en un cuadro. No existen restricciones en el cuadro y el tipo de dato es char varying(50).
Estoy usandolo en forma incorrecta o es un bug de la versión?
Desde ya les agradesco la ayuda.
creo que lo primero que deberiamos determinar es si el problema esta en la recuperacion de datos del objeto de persistencia o si es el cuadro el que falla en mostrartelo correctamente.
Te hago las siguientes consultas:
Que metodo estas usando para cargar los valores de la columna externa? SQL/DAO/DT/Consulta PHP ?
Esa carga esta marcada como masiva o es una carga que hara un pedido de datos por cada fila del datos_tabla?
El hecho de que te muestre un solo caracter de todo un string me hace sonar a que hay un tema con la cantidad de dimensiones de un arreglo resultado en algun lugar o que cuando se esperaba un array se esta devolviendo un string. Para mas certeza unicamente con la operacion… pero bueno empecemos por esas preguntas y vemos como lo depuramos desde ahi.
Que metodo estas usando para cargar los valores de la columna externa? SQL/DAO/DT/Consulta PHP ?
Probé con DT / consulta PHP y ambas producen el mismo problema.
- Esa carga esta marcada como masiva o es una carga que hara un pedido de datos por cada fila del datos_tabla?
No la marqué como masiva ya que me parecia que no aplicaba.
El hecho de que te muestre un solo caracter de todo un string me hace sonar a que hay un tema con la cantidad de dimensiones de un arreglo resultado en algun lugar o que cuando se esperaba un array se esta devolviendo un string.
Respecto a la operación te cuento que existe un datos relación que involucra a 3 datos tabla pero la tabla tipo_documento no la incluí en la relación, de todos modos probé incluirla y obtuve idéntico comportamiento.
Como se puede saber si el problema está en la recuperación, o en la presentación en el cuadro ?.. Estuve también probando con el cuadro Formateo de la columna --Sin Cambios – (default) , No cortar el texto y no produjo ningun cambio…
Bueno, no se me ocurre donde puede estar el problema…
Bueno con esto solo ya puedo ir probando el camino particular ese para ver si existe algun inconveniente.
El hecho de que te muestre un solo caracter de todo un string me hace sonar a que hay un tema con la cantidad de dimensiones de un arreglo resultado en algun lugar o que cuando se esperaba un array se esta devolviendo un string.
Respecto a la operación te cuento que existe un datos relación que involucra a 3 datos tabla pero la tabla tipo_documento no la incluí en la relación, de todos modos probé incluirla y obtuve idéntico comportamiento.
Como se puede saber si el problema está en la recuperación, o en la presentación en el cuadro ?.. Estuve también probando con el cuadro Formateo de la columna --Sin Cambios – (default) , No cortar el texto y no produjo ningun cambio…
Bueno, no se me ocurre donde puede estar el problema…
Para saber si es un problema de recuperacion de datos o no, simplemente en el metodo ‘conf’ del cuadro lo que haces es sacar los valores que recuperas de la tabla por la pantalla. Eso lo haces con un metodo llamado ei_arbol (ojo! a no confundirlo con el componente toba_ei_arbol). Vendria a ser algo como un var_dump pero mas lindo y mas feo al mismo tiempo xD.
Richard, dado que no pude ver por pantalla la salida de ei_arbol(), adjunto un archivo donde muestro los errores de php, en este caso warnings, y las porciones de código del ci y dt e imágenes de capturas del dt.
gracias por las imagenes y el adjunto, creo que ya se cual puede ser tu inconveniente, el metodo que colocaste para la carga de la columna externa devuelve directamente el valor del campo como string, mientras que el metodo de carga espera un formato recordset o registro, osea seria un arreglo de columnas. Para solucionarlo deberias devolver directamente el resultado de efectuar la consulta. Te dejo un link a la doc donde esta un poco mas grafico lo que digo: