Existen dos errores recurrentes en la carga de los datos de una colección, ambos relacionados con las personalizaciones de las mismas.
Por un lado, puede darse un error, tanto en la propia carga de la colección como en la apertura de un objeto desde dicha colección, al no existir una columna en la vista personalizada. Es decir, si la colección previamente estaba ordenada por un campo, o visualizaba un campo concreto y al personalizar la vista estándar se elimina dicho campo, daría un error "la columna X no existe".
Esto es un error en la personalización puesto que los datos estándar se deben garantizar, sí o sí, en la nueva vista. Se pueden incluir nuevos campos, pero nunca eliminar los existentes.
A este respecto siempre es recomendable llevar a cabo las personalizaciones desde el Admon, revisando posteriormente las columnas incluidas en la pestaña Propiedades del objeto.
El Admon no permite introducir ningún campo que no exista en la tabla o vista asociada a la colección. Si estas modificaciones las hacemos por tabla con consultas SQL, se corre el riesgo de incluir campos mal capitalizados (idcliente en minúscula, cuando el campo de la vista es IdCliente), o campos inexistentes (IdDomiliacion en lugar de IdDomiciliacion). Estos campos mal introducidos son los que hacen que falle la consulta de la colección en Techfun.
Por otro lado, si el campo existía previamente en la vista o tabla asociada a la colección y al objeto, y se elimina en una tabla o vista personalizada, puede dar el mismo error si este campo se usó como columna por defecto de la ordenación. En Techfun, al pulsar para ordenar sobre una columna, esta ordenación se queda almacenada y asociada al usuario en la tabla Objetos_Empleados. Al no existir esta columna en la personalización, daría error al intentar cargar la colección, o error al intentar abrir un objeto puesto que esta ordenación se pasa como parte de la consulta para permitir la navegación entre registros de la ficha del objeto.
De nuevo la solución pasa por volver a incluir la columna en la vista o tabla personalizada, escrita exactamente igual que la columna definida previamente en Techfun. Es decir, no vale incluir idcliente cuando originalmente el campo era IdCliente.
Este es el segundo de los fallos recurrentes al trabajar con colecciones en Techfun.
Al ser tecnología web (trabaja con javascript), el parseo de las cadenas es restrictivo, siendo imprescindible que las columnas definidas en las tablas de las colecciones (Objetos_Propiedades_Empleados, Objetos_Propiedades, Objetos_Empleados) coincidan en mayúsculas y minúsculas con las columnas devueltas por las consultas de vistas y tablas.
En el caso de los buscadores creados por usuarios puede suceder que en la consulta asociada al buscador se esté devolviendo un idcliente, mientras que el campo asociado a la colección sea IdCliente. Esto supondrá que la columna se visualizará en la colección vacía. El entorno no ha sido capaz de parsear el campo de la consulta con el campo de la colección.
En estos casos es necesario revisar tanto las consultas asociadas a los buscadores, colecciones, etc. Como los campos de la propia colección de Techfun, regenerando la visualización de los mismos eliminándolos y volviéndolos a agregar para que cambie la asignación en la tabla Objetos_Propiedades_Empleados.
Por último, siempre es recomendable que si se cambia la estructura de alguna vista de la cual dependa otra vista, se lleve a cabo un refresco de la misma para indicarle a SQL Server que la estructura de la misma ha cambiado. En caso contrario podría devolver campos en un orden incorrecto, mostrando datos en campos que no corresponden.
Este paso se puede llevar a cabo ejecutando la instrucción sp_refreshview "nombreVista" en SQL, o lanzando la recopilación de la base de datos con zRecompilaTodo para recompilar TODOS los objetos de la base de datos (con el tiempo que ello conlleva).
Otra causa de que no se muestren los datos de un buscador/favorito o colección puede deberse a que los campos en la consulta del buscador no se encuentran capitalizados igual que en la base de datos.
¿Le ha sido útil este artículo?
¡Qué bien!
Gracias por sus comentarios
¡Sentimos mucho no haber sido de ayuda!
Gracias por sus comentarios
Sus comentarios se han enviado
Agradecemos su esfuerzo e intentaremos corregir el artículo