Filtros dinámicos en el automatismo

Hemos añadido una nueva funcionalidad muy potente para filtrar documentos desde el automatismo: los filtros dinámicos. Esta opción está disponible en todos los botones que utilicen un filtro, ya sean de tipo consulta o informe de datos.

Mediante esta opción se pueden potenciar y simplificar muchos casos de uso; permitiendo, por ejemplo, filtrar los documentos en función de quién use la aplicación sin tener que definir un botón con un filtro para cada usuario o facilitando al usuario final las búsquedas de documentos.

Para entender cómo funcionan estos filtros, exponemos el siguiente ejemplo práctico:

Tenemos tres técnicos que se dedican a revisar unos partes de trabajo. Carlos, Toni y Pepe solamente pueden abrir sus propios partes.
Sin filtros dinámicos, este caso de uso estaría definido así:

fd-old

Se tendría que definir un filtro para cada usuario, que devuelva solamente sus documentos, crear un automatismo para cada uno y compartir el correspondiente automatismo con cada técnico. Un trabajo largo y tedioso, ¿verdad? Ahora imaginad tener cien técnicos en lugar de tres.

Si utilizamos filtros dinámicos, este caso de uso acabaría simplificado así:

fd-new

Ahora es suficiente con crear un filtro que recupere todos los partes de todos los técnicos, un automatismo que utilice ese filtro y una configuración en el filtro dinámico que especifique que deben recuperarse los documentos cuyo técnico asignado sea el usuario que esté utilizando la aplicación. Lo compartimos con todos los técnicos y ya está listo para ser utilizado.

Configuración del filtro dinámico

Para configurar un filtro dinámico solamente hay que tener definido un filtro predefinido que vayamos a utilizar como base y un automatismo que consulte documentos o genere un informe de datos. El filtro dinámico utilizará las etiquetas que haya asignadas en el filtro.

Al abrirlo nos aparecerá una ventana así:

dynamifilter1

Vamos a explicar cada una de las diferentes propiedades:

  • Elemento: el nombre de la etiqueta o campo de formulario que recibirá la configuración
  • Editable: ese campo podrá ser modificado por el usuario desde la aplicación para filtrar manualmente
  • Tipo de valor: aquí se define de dónde debe obtenerse el valor del campo a filtrar. Hay diferentes opciones:
    • Predefinido: el campo del filtro dinámico obtendrá el valor del filtro predefinido que tenga asignado
    • No filtrar: el campo se ignorará en el filtro
    • Constante: se especifica un valor que será igual para todos los usuarios que lo utilicen
    • Dato de usuario: se coge una de las variables del usuario que esté utilizando la aplicación para filtrar por ese campo
    • Obtener del dispositivo: en campos tipo fecha y hora, permite coger el valor del momento en que se utiliza el dispositivo
    • Campo calculado: permite añadir una fórmula para calcular el valor que se buscará
    • Valor leído de QR: permite filtrar a partir de una línea del QR que se escanee
  • Comparación: la condición que debe cumplir el valor para que sea filtrado (que el valor sea igual/distinto/contenga/etc al del documento en cuestión)
  • Valor: aquí se especificará el valor por defecto del filtro. Será diferente según el tipo de valor y de campo

Montando el caso de uso de ejemplo

Para definir el filtro dinámico que hemos explicado en el caso de uso de ejemplo, vamos a empezar por crear el filtro predefinido en la biblioteca:

filtro

Luego vamos a definir un automatismo y asignarle el filtro que acabamos de crear:

automatismo

Ahora, ya podemos guardar el automatismo y volver a editarlo.
Después, vamos a hacer click en el siguiente icono:

btn filtro

Y se nos abrirá la ventana que hemos explicado anteriormente, que es la que nos permite configurar el filtro. Para este caso de ejemplo, nos interesará asignar que el valor de Técnico sea igual al dato de usuario Nombre, ya que los valores están definidos como el nombre de cada usuario para esta demostración, pero cada caso puede ser diferente y se puede elegir la variable de usuario que se ajuste a sus necesidades.

dynamic filter

Guardamos la configuración.

Abrimos G2L CaptureData y ejecutamos el nuevo botón desde el usuario Carlos, y vemos que solamente aparecen los partes que él tiene asignados:

documents filter

En la biblioteca, aplicando el filtro predefinido que hemos creado, nos aparecen cuatro documentos, de los cuáles dos son de Carlos:

filter carlos

Ese mismo botón devolverá los documentos correspondientes a cada técnico tanto si lo utilizan Carlos, Pepe o Toni.

Campos editables

Como hemos explicado anteriormente, si definimos los campos como editables estos se podrán modificar desde G2L CaptureData para dar a nuestros técnicos una mayor flexibilidad a la hora de filtrar. Para demostrarlo, vamos a dejar como editable en el filtro dinámico el campo Tipo de trabajo, para que los técnicos puedan elegir qué buscar (trabajos de mantenimiento o de limpieza).

constant field

En este caso nos interesará activar el parámetro Filtrar antes de búsqueda, para que el usuario pueda aplicar los filtros antes de ejecutar la primera búsqueda si sabemos que va a querer filtrar los partes por tipo de trabajo:

filterbeforequery

Al abrir el automatismo en la aplicación, nos aparecerá una ventana con el campo del filtro editable:

filter by mantenimiento

Si buscamos, nos aparecerán los documentos con el campo Tipo de trabajo cuyo valor sea Mantenimiento y además sean del técnico Carlos, que es quién está realizando la búsqueda. Si no nos gusta el resultado, siempre podemos volver a filtrar utilizando la lupa que aparece arriba a la derecha.

filtered editable