Filtrado de lista


(Jose) #1

Tengo dos tablas, una es Maestra de la otra con indice autonumerico. Las dos tienen datos y en la tabla historica hay registros que tienen vacio el campo enlazado a la tabla maestra.

Estoy intentando mostrar en un Control Objeto, una rejilla con los registros de la tabla historica,

- Si para mostrarlos, leo la ficha de maestro y cargo los plurales de esa ficha, todo funciona OK.

- Pero si Cargo la lista y filtro aquellos que el campo maestro esta vacio, no consigo que funcione. Seguro que estoy haciendo algo mal, y debe ser una tonteria, pero como puedo conseguirlo.

¿Como muestro los registros de una lista por un campo vacio?

Quiza si creo un indice condicionado me funcione, pero la idea es conseguir que funcione la sentencia FILTRAR LISTA()

José

 


([N4] rcueto.velneo) #2

Hola:

Suponemos que estás usando la función de fórmulas isEmpty(); has de saber que esta función siempre devuelve 0 cuando el campo es numérico –esta registrado en nuestro sistema de gestión de incidencias con el código 1094); por tanto, en el caso de campos numéricos filtra aquellos comparando con 0.

Un saludo.

 


(Jose) #3

La verdad es que habia utilizado las 2 formas, isEmpty(#CAMPO) y también #CAMPO=0 y no he conseguido que me funcione ninguna de ellas.

Si sirve de ayuda, he visto, ha diferencia de V6, no me deja escribir 0 en el campo de edición de la tabla maestra, para eliminar el enlace tengo que eliminar el contenido del campo de edición y dejarlo vacio.

¿Porque no está permitido escribir 0? si es lo mismo que vacio

José

 


([N4] rcueto.velneo) #4

Hola:

Filtrar por #CAMPO_ENLAZADO_MAESTRO = 0 debería funcionar. ¿Estás filtrando por el campo enlazado ( #MAESTRO) o por el ID del campo enlazado (#MAESTRO.ID)? Debería ser el primero. El campo ID del maestro es numérico, ¿verdad?

Un saludo.

 


(Jose) #5

Estoy haciendolo como indicas en el primer caso, pero volvere a probar por si me he equivocado en algo

Gracias

 


([N4] rcueto.velneo) #6

Hola:

De acuerdo.

Un saludo.


(Jose) #7

He vuelto a realizar las pruebas y no funciona el filtrado de lista por #CAMPO_MAESTRO=0

y la tabla tiene registros que no estan enlazados a la tabla maestra.

¿Hay algún bug conocido en el filtrado?

José

 


([N4] rcueto.velneo) #8

Hola:

Hemos revisado nuestro sistema de gestión de incidencias y no existe ninguna referente a los filtrados, además, tal y como te hemos indicado anteriormente, en las pruebas realizadas, funcionan correctamente.

Puedes probar con cualquiera de nuestras aplicaciones del catálogo, usa directamente la opción “Filtrar" de listas no es necesario que programes nada. Para ello sitúa el foco en la rejilla sobre la lista que quieras probar y pulsa “Control + F3”, para que se te abra el asistente de fórmulas para establecer la condición de filtrado:

#CAMPO_ENLAZADO = 0

Un saludo.


(Jose) #9

Comprobado

Ahora ya funciona correctamente, y para ello ademas de cambiar el Filtrado de lista por #CAMPO_ENLAZADO = 0 (estaba utilizando la funcion IsEmpty() ). Tambien he tenido que cambiar la sentencia IF IsEmpty(#CAMPO_ENLAZADO) por IF #CAMPO_ENLAZADO = 0 en el proceso que carga la lista para mostrar la rejilla.

Si esto es asi, y es bastante probable, significa que IsEmpty() falla siempre, no solo en el Filtrado sino tambien en el resto de las sentencias y quiza en contenidos iniciales de campos.

José

 

 


([N4] rcueto.velneo) #10

Hola:

Eso es algo que ya te indicamos en nuestra primera respuesta:

 

 

Suponemos que estás usando la función de fórmulas isEmpty();

has de saber que esta función siempre devuelve 0 cuando el campo es

numérico –esta registrado en nuestro sistema de gestión de incidencias

con el código 1094)

 

 

Seguramente te habrás olvidado de ello por la extensión que ha llegado a tener este hilo.

Un saludo.