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
| Ejemplo | Resultado |
|---|---|
banana joe | Contiene "banana" o contiene "joe" |
banana and !*.joe | Contiene "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 >1000 | Está 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
| Operador | Definició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, or | Combinadores lógicos (no distinguen mayúsculas). Si se omiten, el valor por defecto es or |
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.