Rango de Fechas


Esta sería la idea para un User Control de Genexus X

Me gustaría contar con un control que maneje el ingreso de un rango de fechas en la pantalla. 

En muchas aplicaciones, se necesita ingresar una FechaInicial y FechaFinal y para obtener los registros que se encuentran en dicho rango de fechas.  Para que sea util hay hacer algunas validaciones como que FechaInicial <= FechaFinal. 

Generalmente ocupa mucho lugar en la pantalla, pues tiene dos variables y dos boton o links paa los calendarios y muchas veces hay dos etiquetas, una para la fecha inicial y otra para la final. 

Estaria bueno poder tener en el mismo control algunos chiches adicionales, como permitir algunos valores "especiales" que se tienen muchas veces en la aplicación, como pueden ser: 
  • lo que va del año actual
  • Ultimos 12 meses
  • Ultimo año movil
  • Mes actual
  • Ultimo mes
  • Hoy
  • Ultimo semestre
  • Ultimo trimestre
  • Que el rango no sea mayor a X dias
  • etc
Al tener un User Control que haga esto tendriamos las ventajas: 
  • Ocupa menos lugar en pantalla. 
  • Hay un control para lo que hoy hacemos con dos variables
  • Se evita codigo duplicado para las validaciones de la fecha
  • El codigo puede quedar mas facil de entender (esto dependera de que implementacion tengamos)
En Google Analytics, hay un control de ese tipo que esta bueno (el de la figura).





El Multiple Calendar, puede ser un buen punto de partida. 

Hay varios javascripts que ya hacen esto, solo hay que animarse a meter todo en un UC. 

Segunda etapa.
Tener un tipo de datos que haga esto, también es una opción mas interesante (y potente), que puede ser bastante útil, para el manejo de datos temporales (por ejemplo, rango de vigencias). Creo que para lograr esto, aun falta madurar  la idea y especificar bien los casos de uso, pues es un cambio grandecito. 

Quien haya tenido que programar el control de que no se tengan rangos de vigencias superpuestos puede saber de que estoy hablando. Es un codigo muy aburrido. 

Comentarios

Entradas más populares de este blog

La nefasta influencia del golero de Cacho Bochinche en el fútbol uruguayo

Aplicación monolítica o distribuida?

Funcionalidades de GeneXus que vale la pena conocer: DATE Constants.