M10. Valor por defecto en selectores

Lo más habitual cuando se define un selector es definir como valor inicial  el primer o el último elemento devuelto por la sentencia SQL.

Pero en determinados casos es posible necesitar asignar uno de los valores intermedios, ya sea por que es la opción preferida por el usuario o, como en el caso del ejemplo, por que deseamos mostrar la información del último mes cerrado.

Atlas SBI - Valor inicial del selector
Definición del último mes cerrado

El control selector ofrece tres posibilidades como opción inicial:
  • First: Muestra el primer valor del resultado de la consulta
  • Last: Muestra el último valor del resultado de la consulta
  • BindingField: Permite seleccionar el campo que indica el valor a seleccionar.


En el caso de elegir la opción BindingField, el campo seleccionado debera tener el valor 1 para la opción a seleccionar y 0 para cualquier otro valor.

De esta manera, podemos utilizar una sentencia CASE WHEN de SQL para determinar que registro ha de seleccionar como valor opcional.

Además, utilizando la variable de entorno EndOfLastMonth, podremos obtener el último mes cerrado con la siguiente sentencia.

CASE Mes
         WHEN Month($[Environment:EndOfLastMonth]$) THEN 1
         ELSE 0
END as Selected

Atlas SBI - Cálculo del último mes cerrado

De esta manera, en la pantalla de propiedades podremos elegir el campo "Selected" como BidingField.

Cabe mencionar que esta misma variable de entorno nos permite calcular el año del último mes, que a excepción de Enero, siempre es diferente el año anterior.

0 comentarios :

Publicar un comentario

Lo más visto