it-swarm-es.com

Informes en una aplicación CRUD

Es otro dilema de aplicaciones relacionadas con la empresa.

La mayoría de las aplicaciones profesionales usan redactores de informes que son demasiado complicados para el usuario general, aunque la mayoría de ellos son wysiwyg. Algunas aplicaciones simples solo tienen plantillas fijas que no son personalizables.

En un esfuerzo por resolver este problema de larga data, elegimos la solución intermedia para el problema y es la impresión basada en plantillas. Es como el funcionamiento de los motores de blogs o motores de foros, las plantillas pueden contener código lógico simple y configuraciones simples que un usuario puede Ajustar fácilmente sin tener que saber ningún código. Una muy buena muestra de cómo funciona es mirar este sitio: www.squarespace.com

Sin embargo, a diferencia de un sitio web, la mayoría de los informes de aplicaciones CRUD tienen restricciones de datos, ciertos criterios de selección, como grupos o categorías. P.ej. Quiero un informe de todas las sillas de la base de datos.

La pregunta es, ¿deberían incluirse los criterios de selección en las plantillas? Tener los criterios separados permitirá un mejor control sobre los datos que se imprimirán. Este paradigma se utiliza en toda la aplicación pero sin selección de criterios. P.ej. Impresión de facturas pero con plantillas

Como programadores, tendemos a pensar que la presentación (plantillas) y la lógica (en este caso, los datos) deben estar separadas. ¿Qué harás en esta situación?

PD: Las plantillas generan PDF archivos y, por lo tanto, no se pueden mostrar en vivo con las plantillas.

3
vener

Suponiendo que estamos hablando de una parte de informes generales de la aplicación en la que todos los datos disponibles de la aplicación deben ser "reportables": mantendría los criterios de selección separados de las plantillas.

Deje que el usuario seleccione primero todo lo que quiera ver y luego ofrezca una acción de impresión donde pueda seleccionar una plantilla para usar. De esta forma, las plantillas también se pueden filtrar dependiendo de los datos seleccionados (no sirve presentar plantillas de factura cuando la aplicación muestra elementos del diario en la cuadrícula de selección).

Una alternativa sería comenzar con la selección de una plantilla (y así limitar la selección de datos). Sus usuarios tendrán que darle orientación sobre eso. Puede ser más natural para ellos seleccionar una plantilla primero.

En ambos casos, tendería a mostrar los datos seleccionados en función de los criterios ingresados. Por ejemplo, en una cuadrícula o vista de árbol de algún tipo. Preferiblemente "en vivo" para que el usuario pueda ver inmediatamente el efecto de los criterios que ingresa. De lo contrario, pídales que ingresen algunos criterios, muestren datos, permítales refinar esos criterios (agregar/eliminar/editar) volviendo al diálogo de criterios hasta que estén contentos con lo que han seleccionado.

Actualización en respuesta para comentar

Así que asegúrese de tener una plantilla predeterminada sensata. Aún mejor: seleccione una plantilla que mejor se ajuste según los datos seleccionados por el usuario.

No digo que no los tenga :-), pero otras características que pueden ayudar a los usuarios en estas situaciones:

  • Almacene la última selección, criterios y plantilla utilizados
  • Permitir a los usuarios guardar búsquedas con un nombre significativo y, de preferencia, permitirles organizarlas en algún tipo de estructura de carpetas. Preferiblemente con soporte completo de arrastrar y soltar para que puedan mover las búsquedas guardadas
2
Marjan Venema