Eventos en webpanels y transacciones GeneXus.
Este post es parte de una serie de artículos sobre como hacer KB mas mantenibles y actualizables a nuevas versiones de GeneXus.
Los objetos que tiene interfaz de usuario, soportan eventos en su programación. Dichos eventos son necesarios para permitir al usuario hacer acciones sobre los datos. Los eventos pueden dispararse por diferentes motivos como ser apretar un botón, cambiar algún valor, salir de un control, paginar, cargar una grilla, etc.
Una practica que recomiendo fuertemente para hacer la KB mas fácil de mantener y sobre todo mas migrable a nuevas versiones, es la de solo incluir en el código de los eventos, aquellas cosas que interactúan con los elementos de las pantalla, y todo lo demás, resolverlo con otros objetos (procedures, data providers, etc).
Cosas que SI deben hacer los eventos:
- Mostrar mensajes al usuario
- Ocultar/Mostrar controles (botones, grillas, tablas)
- Actualizar datos en pantalla, dependiendo de lo ingresado por el usuario
- Cambiar texto de controles (captions)
- Mover controles
- Cambiar colores
- Agrandar/achicar textos
- Interactuar con User Controls
- Call a procedures / Usar Data Providers
- for each sobre tablas (aunque sea para cargar controles, tipo dynamic combobox)
- Lógica de negocio
- Usar SDT que no sean mostrados en pantalla
- Usar código nativo (CSharp, Java)
- Usar External Objects
- Commits/Rollback
En los eventos de WBP o TRN, solo interactuar con la UI y todo lo demas, resolverlo en procedures y data providers.
Comentarios
Publicar un comentario
1) Lee el post
2) Poné tu opinión sobre el mismo.
Todos los comentarios serán leidos y la mayoría son publicados.