Entradas

Mostrando las entradas de 2025

Cómo manejar Slow Changing Dimensions (SCD) en GeneXus — Ejemplo práctico con Ventas y Clientes

Imagen
Este es un problema básico en el modelado de sistemas y bases de datos, pero es el causante de algunos inconvenientes en el momento de hacer reportes.  En muchos casos, se decide modelar el modelo operacional de la forma fácil (SCD Tipo 1) y en la plataforma de BI se mantiene la historia con SCD Tipo 2. ** El problema Tenemos tres entidades: Clientes :  ClienteId ,  ClienteNombre ,  TipoClienteId . Ventas :  VentaId ,  ClienteId ,  Fecha ,  Monto . TipoCliente :  TipoClienteId ,  TipoClienteNombre  (Grande, Mediano, Chico). El sistema debe brindar el reporte de Ventas por Tipo de Cliente, para un rango de fechas TipoCliente, Total Vendido Grande         1000 Mediano         700 Chico             1200 Un dia, un cliente pasa de  Mediano  a  Grande . Si el reporte “Ventas por Tipo de Cliente” junta las ventas con el tipo actual del clie...

Extensiones/Asistentes en GeneXus que me gustaría tener

Imagen
  Se viene una nueva versión de GeneXus, que es la primera en incorporar inteligencia artificial en el IDE.  Esto nos abre la posibilidad de tener nuevos asistentes dentro del ide que nos automaticen tareas que en general son aburridas de hacer.  Algunos ejemplos de tareas que llevan mucho tiempo y podrían automatizarse Analizador de Errores de Compilación  Un programa que lea el output de Genexus con errores y proponga soluciones. Muchas veces Genexus tiene errores que se solucionan mandando a especificar forzado algún objeto. Lo que me interesa principalmente es deducir cuales son los objetos que deben forzarse y que los genere automáticamente.  Generar Scripts de CREATE TABLE Dada una tabla, crear un script para crear dicha tabla.  Es común tener que elegir un conjunto de tablas para hacer alguna prueba. Genexus es muy bueno para generar scripts de creación de toda la base de datos para los diferentes DBMS. Pero no es tan bueno para generar solo algunas ...

Por qué es clave actualizar tu versión de GeneXus (aunque duela un poco)

Imagen
En el mundo del desarrollo con GeneXus, trabajar con una versión antigua puede parecer cómodo, pero a la larga es una trampa silenciosa. Las migraciones o actualizaciones de versión no son solo una cuestión técnica: son una decisión estratégica que impacta en productividad, seguridad, mantenimiento y evolución del software.  ¿Por qué actualizar GeneXus? Seguridad y compatibilidad Cada nueva versión de GeneXus mejora el soporte para tecnologías modernas, navegadores actualizados, motores de base de datos y protocolos de seguridad (como OAuth, HTTPS, JWT). Seguir en versiones antiguas te expone a vulnerabilidades y dependencias obsoletas. Mejoras de performance y productividad Desde nuevas estructuras como SD Panels hasta herramientas como los Design Systems, la evolución de GeneXus no solo permite hacer más, sino hacerlo mejor y más rápido. Ignorarlo es perder ventaja competitiva. Soporte oficial y comunidad activa Las versiones antiguas eventualmente quedan sin soporte...

Envío y Recepción de Emails con OAuth desde GeneXus (Gmail / Office 365)

Con el aumento de las medidas de seguridad en servicios como Gmail y Office 365, el uso de usuario/contraseña para enviar correos electrónicos dejó de ser una opción viable. Actualmente, OAuth 2.0 es el estándar para autorizar el acceso a estos servicios. En este post, te muestro cómo integrarlo con GeneXus para enviar y recibir correos de forma segura. Por un tiempo funciono correctamente el generar "application specific passwords" generando y registrando dichas contraseñas, pero estan dejando de funcionar y ya no es tan facil llegar a generar nuevas contraseñas. Por eso, es importante actualizar las aplicationes que necesiten enviar o recibir mail con estos proveedores para que usen OAuth 2.0.  Para esto, se necesita usar el OAuth Module ,  y programar algo asi: &Success = OAuth.v2.RefreshToken( &OAuthAuthorizationConfig , &RefreshToken , &OAuthAccessToken , &DateTimeTokenExpire , &Messages ) if (NOT &Success ) ...

Edición masiva en GeneXus: Cerrar las pestañas References antes de empezar

Imagen
Si tu Knowledge Base contiene miles de objetos, cada Save puede convertirse en una pausa innecesaria: el IDE recalcula de inmediato la información mostrada en las pestañas References y Referenced by. Cuando estás haciendo cambios en serie (ajustes de propiedades, limpieza de variables sin uso, marcar objetos como Not Generated, importar objetos, etc.) ese refresco continuo añade segundos —o minutos— a tu tarea. ¿Qué está pasando en segundo plano? Las pestañas de referencia se alimentan de un grafo que describe todas las dependencias entre objetos. Cada guardado desencadena: Análisis sintáctico del objeto modificado. Re-cálculo de las aristas que cambian en el grafo. Render del resultado en cada pestaña abierta. En KB grandes el paso 2 puede tomar varios segundos. Repetido cientos de veces se vuelve un cuello de botella innecesario. La práctica recomendada 1. Cierra todas las pestañas References/Referenced by antes de iniciar los cambios. Usa el botón × de cada...

Preparando tu KB GeneXus para Aplicaciones de Inteligencia Artificial

Imagen
En el desarrollo moderno, donde la IA se integra cada vez más en la creación y mantenimiento de aplicaciones, GeneXus ya ha mostrado que en su próxima versión vamos a tener dentro del IDE y vamos a poder generar asistentes de inteligencia artificial.  Como desarrollador GeneXus, ¿que es lo que puedo hacer hoy en las versiones liberadas, para prepararme para ese desafío?  Las herramientas de inteligencia artificial en su estado actual, necesitan descripciones textuales para poder entender los elementos con los que operan.  Por lo tanto, tenemos que tener claro que vamos a tener que mejorar la metadata que describe nuestros objetos.   ¿Por qué la metadata es tan importante? Describe la intención y contexto de cada componente, no solo su estructura técnica. Permite a herramientas de IA entender cómo reutilizar, adaptar o proponer cambios en base a la semántica. Facilita la generación de pruebas, documentación y migraciones automatizadas. A continuación, paso una li...

Comparacion de herramientas de inteligencia artificial para la escritura de Post

Imagen
  Hice un pequeño experimento, para ver el estado de las herramientas de inteligencia artificial para escribir documentación técnica.  A partir del prompt. 

El Impacto de la Inteligencia Artificial en el Desarrollo de Aplicaciones con GeneXus: Una Revolución Comparable a la Retroexcavadora (by Grok)

Imagen
  La Analogía de la Retroexcavadora Imagina una obra en construcción hace un siglo. Cavar una zanja requería un equipo de obreros trabajando arduamente con palas, un proceso lento y físicamente agotador. Luego llegó la retroexcavadora: una máquina capaz de realizar el trabajo de varios operarios en una fracción del tiempo, con mayor precisión y menor esfuerzo físico. Este cambio no eliminó la necesidad de trabajadores, pero transformó sus roles, exigiendo operadores capacitados para manejar la maquinaria. En el desarrollo de software, estamos viviendo una revolución similar. Antes, crear aplicaciones requería que los programadores escribieran línea por línea de código, un proceso laborioso que demandaba equipos numerosos para proyectos complejos. Hoy, los agentes de inteligencia artificial (IA) que generan código actúan como la retroexcavadora del desarrollo: automatizan tareas repetitivas, aceleran la producción y permiten a los desarrolladores enfocarse en aspectos más estratégic...

De la Pala a la Retroexcavadora: Cómo la IA Revoluciona el Desarrollo con GeneXus (by Claude.ai)

Imagen
  La evolución tecnológica siempre ha transformado la manera en que trabajamos. Hoy, los agentes de IA están redefiniendo el desarrollo de aplicaciones de la misma forma que las máquinas revolucionaron la construcción. La Analogía Perfecta: De Cavar Zanjas a Escribir Código Imagina una obra de construcción hace 50 años. Para cavar una zanja de 100 metros, se necesitaba un equipo de 8 a 10 operarios armados con palas, trabajando durante días bajo el sol. Era un proceso lento, físicamente demandante y costoso en términos de tiempo y recursos humanos. Luego llegó la retroexcavadora y cambió las reglas del juego por completo. Lo que antes requería una cuadrilla completa y varios días de trabajo, ahora podía completarse en pocas horas con un solo operador especializado y una máquina potente. Esta misma revolución está ocurriendo hoy en el desarrollo de software , especialmente en plataformas como GeneXus, donde los agentes de IA que escriben código están cumpliendo el rol de esa r...