Algunas veces necesitamos realizar operaciones sobre
objetos dependiendo de si un campo tiene sólo un valor o más de uno distintos.
Ejemplo: Se puede usar para mostrar el escudo de una localidad cuando el usuario sólo tiene acceso (restringido por la sección de acceso) a esa localidad y a ninguna más.
Ejemplo: Se puede usar para mostrar el escudo de una localidad cuando el usuario sólo tiene acceso (restringido por la sección de acceso) a esa localidad y a ninguna más.
La mejor forma de hacerlo es con la
expresión: not IsNull(Only({1} <campo>))
En nuestro ejemplo sería not IsNull(Only({1} Localidad))
En condiciones controladas,
se puede usar la función GetSelectedCount (), pero no podemos esperar que el
usuario haga una selección o no.
Si no
hace selecciones, no funcionaría. Si hace varias selecciones en otros campos,
esas selecciones también afectan al campo de la función GetSelectedCount
de modo que puede no quedar ningún valor seleccionable.
En este último caso habría que crear una expresión set analysis bastante
compleja que limpie todos los campos candidatos a hacer selecciones sobre
ellos:
{<campo1=, campo2=,…..campoN=>}
{<campo1=, campo2=,…..campoN=>}
Con ONLY( {1} <campo>) no dependemos de las selecciones realizadas.
Esta función devuelve el
valor en caso de que todos los registros tengan el mismo valor o nulo en caso
de que los registros tengan varios valores distintos.
Otra forma de hacerlo es usando la función inter-registro FieldValueCount('campo'), que devuelve el nº de valores distintos que tiene un campo. Observese que el campo va entre comillas simples.
No hay comentarios:
Publicar un comentario