Dominios Enumerados en GeneXus – un par de tips de cuando y como usarlos

Una de las cosas que deberías usar con frecuencia en GeneXus son los dominios.

Realmente son muy útiles y sin lugar a dudas, muchas veces abusamos de Normalización de tablas para cosas básicas y eso luego nos genera un retrabajo.

Te voy a dar un ejemplo muy común (puede que no aplique a tu caso, porque coincide el nombre de una entidad que tienes que se contradiga con lo expuesto aquí), supongamos que tienes una tabla de Categorías.

En esta tabla tienes 3 registros, alta, baja, media.

Pero tu sistema hace operaciones dependiendo si la categoría es alta, hace una cosa, si es baja hace otra, y media otra. Y esto es así porque es regla de negocio, tu empresa trabaja únicamente con estas 3 categorías.

He visto en modelos que han creado una tabla para definir las 3 categorías y luego en la programación tienen referencia al código de cada una.

Cuando pasan estas cosas y el agregado de una nueva categoría no puede ser automatizada su operación es claramente que esto debe ser un dominio enumerado.

Categoria.Baja, Categoria.Media, Categoria.Alta

Pero aprovecho a comentarte algo más. No es conveniente darle a un dominio enumerado valores nulo, como por ejemplo

Categoría.Baja = 0, Categoria.Media = 1, Categoria.alta = 2

Ya que cuando utilizas filtros en algún pattern por ejemplo y quieres que en algún momento te muestre todos los registros que contengan todas las categorías, para hacerlo, de cierta forma lo va a asociar con ese valor nulo para todos, y si coincide con uno de los valores enumerados, te va a generar cierto retrabajo para que logres hacer el filtro.

No digo que no se pueda hacer, pero cuanto más automáticamente se te generen los programas más eficiente serás trabajando con GeneXus

Todo sobre GeneXus en https://www.fabriciodelossantos.com

Subscríbete a mi canal de YouTube, todo sobre desarrollo de Software con GeneXus

Abrazo,

Fabricio De los Santos

Deja un comentario