Skip to main content

Expresiones de filtro de búsqueda

Una expresión de filtro es un conjunto de criterios que define el subconjunto de datos a recuperar. En una expresión puedes indicar varias condiciones que los datos deben cumplir y combinarlas con operadores booleanos (and, or) para crear expresiones más complejas.

En Crono, estas expresiones se procesan a nivel de campo en las grillas de datos: cualquier cuadro de texto del formulario de filtro de una grilla que muestre el icono de interrogación puede procesar expresiones. El análisis lo realiza FiltroExpresionAnalizador, que produce una estructura de FiltroExpresion / FiltroExpresionGrupo aplicada a la consulta.

Ejemplos

EjemploResultado
banana joeContiene "banana" o contiene "joe"
banana and !*.joeContiene "banana" pero no coincide con "*.joe"
banana and (!~"hola mundo" or !*jim)Contiene "banana", pero no contiene "hola mundo" o no termina en "jim"
*Cuero and !(Sofa Chaqueta*)Termina en "Cuero", pero no empieza por "Sofa" ni "Chaqueta"
(>=10 and <=100) or 1 or >1000Está entre 10 y 100, o es igual a 1, o es mayor que 1000

Términos

Un término puede ir entre comillas (dobles o simples) o sin comillas si no contiene espacios. Por ejemplo, banana joe sin comillas equivale a ~banana or ~joe, mientras que "banana joe" entre comillas hace una coincidencia exacta del término. Admite comodines (* o ?); si hay comodines presentes, el operador por defecto pasa a "Igual" (=). Usa "Distinto" (!) para negar el patrón.

Grupos

Varias palabras o frases pueden agruparse encerrándolas entre paréntesis. Cualquier grupo puede negarse anteponiendo !, por ejemplo !(banana and joe). Los grupos pueden anidarse cuanto sea necesario.

Operadores

OperadorDefinición
= o ==Igual (por defecto en términos numéricos cuando se omite)
! o !=Distinto
>Mayor que
>=Mayor o igual
<Menor que
<=Menor o igual
~Contiene (por defecto en términos de cadena cuando se omite)
!~No contiene
and, orCombinadores lógicos (no distinguen mayúsculas). Si se omiten, el valor por defecto es or
info

En Crono, la búsqueda de préstamos aprovecha este motor mediante BusquedaFiltroExpresionGrupo, que traduce la expresión del usuario a filtros sobre la consulta.