Documente Academic
Documente Profesional
Documente Cultură
Julio 2008
GeneXus X: Quick Start
Todos los derechos reservados. Este documento no puede ser reproducido en cualquier medio sin el consentimiento
explícito de ARTech Consultores S.R.L. La información contenida en este documento es para uso personal
únicamente.
Marcas Registradas
ARTech y GeneXus son marcas o marcas registradas de ARTech Consultores S.R.L. Todas las demás marcas
mencionadas en este documento son propiedad de sus respectivos dueños.
Página 1
GeneXus X: Quick Start
Introducción ........................................................................................................................................... 3
GeneXus Trial Version ............................................................................................................................. 3
Restricciones Funcionales......................................................................................................................... 3
Restricciones de Licencia ......................................................................................................................... 3
License Agreement ................................................................................................................................. 3
Soporte Técnico ...................................................................................................................................... 4
Instalación y Autorización ....................................................................................................................... 4
Requerimientos de Instalación .................................................................................................................. 4
Requerimientos del Generador .NET .......................................................................................................... 5
Autorización ........................................................................................................................................... 6
PRIMEROS PASOS: Tutorial paso a paso .................................................................................................. 8
Simbología utilizada ................................................................................................................................ 8
PARTE 1: Descubriendo GeneXus ............................................................................................................ 9
¿Qué es GeneXus? .................................................................................................................................. 9
PARTE 2: Su primera aplicación............................................................................................................. 10
Diseño de aplicaciones basado en el conocimiento .................................................................................... 10
Paso 0: Caso de estudio ..................................................................................................................... 10
Paso 1: Entorno de desarrollo ............................................................................................................. 11
Paso 2: Creación de una Base de Conocimiento y definición del Enviroment.............................................. 11
Paso 3: Creación de un Objeto Transacción .......................................................................................... 13
Paso 4: Descripción de la Estructura de la Transacción (Structure) .......................................................... 14
Paso 5: Definición de Campos Calculados Fórmulas ............................................................................ 18
Paso 6: Visualizando del Modelo de Datos inferido por GeneXus .............................................................. 19
Paso 7: Visualización de los Formularios del Objeto Transacción .............................................................. 21
Paso 8: Ejecución de su Aplicación ...................................................................................................... 23
Paso 9: Prueba de su Aplicación .......................................................................................................... 25
Paso 10: Agregar Reglas del Negocio Reglas ..................................................................................... 26
Paso 11: Creación del Objeto Transacción Cliente .................................................................................. 28
Paso 12: Revisión de los Cambios efectuados al Modelo de Datos ............................................................ 30
Paso 13: Visualización del Reporte de Especificación .............................................................................. 32
Paso 14: Creación de los Formularios Atrayentes Temas ..................................................................... 34
PARTE 3: Mantenimiento ....................................................................................................................... 35
Desarrollo Incremental y Mantenimiento de la Aplicación ........................................................................... 35
Paso 15: Inclusión de Nuevos Objetos: Transacción Producto ................................................................. 35
Paso 16: Análisis y reorganización de la BD .......................................................................................... 37
PARTE 4: Agregando funcionalidad ....................................................................................................... 39
Utilización de Patrones en el desarrollo .................................................................................................... 39
Paso 17: Aplicar un pattern ................................................................................................................ 39
PARTE 5: Diálogos interactivos ............................................................................................................. 41
Diseño de Consultas y Diálogos Interactivos (Web Panels) ......................................................................... 41
Paso 18: Creación de un Web Panel: Facturas por cliente. ...................................................................... 41
Paso 19: Ejecución del Web Panel modificando la instancia del Pattern..................................................... 44
PARTE 6: Enriqueciendo la aplicación .................................................................................................... 46
Controles de usuarios ............................................................................................................................ 46
Paso 20: Implementación de un User Control........................................................................................ 46
PARTE 7: Procedimientos ...................................................................................................................... 49
Diseño de Procesos No Interactivos (Procedimientos) ................................................................................ 49
Paso 21: Implementación de un Procedimiento para impresión ............................................................... 50
Paso 22: Implementación de un Procedimiento para actualización ........................................................... 54
PARTE 8: Multiplataforma ..................................................................................................................... 56
Desarrollo Multiplataforma ..................................................................................................................... 56
Resumen ............................................................................................................................................... 57
FAQ ....................................................................................................................................................... 58
Contactos y Recursos ............................................................................................................................ 61
La Comunidad GeneXus ......................................................................................................................... 61
Soporte ............................................................................................................................................... 61
Como Comprar ..................................................................................................................................... 61
Links recomendados.............................................................................................................................. 61
Página 2
GeneXus X: Quick Start
Introducción
El objetivo de este documento es ayudarlo a descubrir el potencial de la metodología de desarrollo
basada en el conocimiento propuesta por GeneXus a través de sus principales funcionalidades:
• 90 atributos
• 140 objetos.
Restricciones de Licencia
La GeneXus Trial Version puede ser utilizada exclusivamente para evaluación y capacitación. Su
instalación es local y para un solo usuario.
License Agreement
Condiciones de Uso de la Licencia de Propiedad Intelectual GeneXus X Trial Version
1. El presente acuerdo se refiere a licencia de la propiedad intelectual de ejemplares de GeneXus X Trial Version,
creación inteligente basada en conocimiento, que diseña, genera y mantiene automáticamente, bases de datos y
aplicaciones.
2. Artech Consultores S.R.L. (en adelante Artech) declara y el USUARIO reconoce que la creación intelectual
GeneXus, así como los nombres y logotipos GeneXus, GXflow, GXplorer , GXportal, GXquery y Artech como
cualquier otra marca comercial (trademark) que introduzca Artech en conexión con GeneXus, con independencia
del hecho de que estén registrados o no, son propiedad de Artech. Este convenio no implica directa ni
indirectamente transferencia alguna de esa propiedad y no habilita al USUARIO a transferir las licencias objeto del
presente documento.
3. El USUARIO se compromete a utilizar GeneXus X Trial Version sin divulgar ni usar en provecho propio
cualquiera de las ideas y técnicas que hacen posible GeneXus. En particular, se obliga a no usar procedimientos de
ingeniería inversa para interpretar su código, ni facilitar a otros que lo hagan.
4. En ningún caso el USUARIO podrá duplicar o desactivar los mecanismos de protección contra uso no autorizado
de GeneXus. Artech se reserva el derecho de cambiar en cualquier momento estos mecanismos y/o adicionar
otros nuevos.
5. Observando las bases generales, Artech licencia al USUARIO la herramienta GeneXus X Trial Version, bajo
las siguientes condiciones:
Página 3
GeneXus X: Quick Start
6. La instalación del producto de software licenciado implica la aceptación de los términos que anteceden.
Soporte Técnico
Si necesita ayuda para la instalación y autorización de su versión trial, contáctese con:
gxtrial@genexus.com
Para saber más sobre los distintos servicios y recursos de soporte técnico y capacitación de GeneXus
visite: http://www.genexus.com/support y http://www.genexus.com/training
Instalación y Autorización
Requerimientos de Instalación
La GeneXus Trial Version incluye los siguientes productos:
• Modelador GeneXus
Es un ambiente de desarrollo integrado (Integrated Development Environment o IDE) para el
diseño, desarrollo, y mantenimiento de aplicaciones de negocios, independientemente de la
plataforma de producción utilizada.
• Generadores GeneXus
GeneXus genera código nativo para las principales plataformas del mercado. Para conocer la lista
completa de los Generadores GeneXus visite: http://www.genexus.com/technologies. El
generador disponible en la GeneXus Trial Version es el Generador .NET.
Página 4
GeneXus X: Quick Start
A continuación encontrará la lista del hardware y software necesario para ejecutar GeneXus y las
aplicaciones generadas por GeneXus.
Microsoft SQL Server 2005 o 2008 (Express, Standard o cualquier otra Edición)
1
1
Microsoft SQL Server Express Edition es la versión redistribuible y sin costo.
Generador Requerimientos
Para crear la base de datos de su aplicación y ejecutar las aplicaciones generadas, requerirá uno de
los siguientes DBMS:
• SQL Server (En cualquiera de sus ediciones). Si es la primera vez que instala SQL, se creará
por default un Base de datos con el usuario “sa” y el password “genexustrial”.
Página 5
GeneXus X: Quick Start
Autorización
1. Ejecute el archivo de setup de la GeneXus Trial Version (genexusxtrial.exe) desde el menú de
Inicio de Windows o seleccionando la opción apropiada en el CD de su Versión Trial.
Página 6
GeneXus X: Quick Start
4. Complete los campos solicitados: Nombre, email y país son obligatorios mientras que Compañía y
Teléfono son opcionales.
5. En caso de haber requerido la opción Online y de haber ingresado los datos correctamente, se
activará en forma inmediata GeneXus X Trial Version por un período de 60 días.
Página 7
GeneXus X: Quick Start
En este ejercicio paso a paso usted creará una aplicación de negocios simple y la instalará en una de
las plataformas soportadas por la GeneXus Trial Version: .NET. Para conocer la lista completa de
plataformas soportadas por GeneXus visite: http://www.genexus.com/technologies/
A medida que vaya trabajando con esta guía, usará las funcionalidades claves de GeneXus:
Simbología utilizada
Este símbolo introduce un TIP. Recomendamos leer lo que este dentro del
recuadro.
Página 8
GeneXus X: Quick Start
¿Qué es GeneXus?
Básicamente, GeneXus es un programa que hace programas.
Es una herramienta que parte de las visiones de usuarios, y a partir de ahí encapsula el conocimiento
en lo que llamaremos Base de Conocimiento. GeneXus sistematiza ese conocimiento, y desde allí
automatiza el diseño, construcción y mantenimiento de la BD y los programas.
Página 9
GeneXus X: Quick Start
Durante este tutorial, logrará describir la realidad presentada en GeneXus para generar un caso tipo
de sistema de facturación en una plataforma Web utilizando el Generador .NET y BD SQL.
Página 10
GeneXus X: Quick Start
Se divide en ventanas:
Ventana principal: Esta compuesta por la Start Page o Página de Inicio la cual a través de
un RSS en forma dinámica brinda información técnica relacionada con la herramienta y la
comunidad de usuarios. Para obtener esta información es necesario estar conectado. Si
su equipo se encuentra desconectado a Internet no podrá acceder a las novedades
publicadas en el GeneXus Community.
Ventana de herramientas
Barras de herramientas
Página 11
GeneXus X: Quick Start
Enviroment
Para generar y mantener una aplicación de trabajo en una plataforma de software
específica, debemos definir un Enviroment. Un Enviroment integra todo lo relacionado a
la plataforma de ejecución (Generador, acceso a la BD, interfaz de usuario y otras
! propiedades de dicha plataforma). Para esto, especificamos un DBMS, un lenguaje meta
y algunos parámetros adicionales por cada Enviroment. GeneXus generará y mantendrá
el esquema de la base de datos y todos los programas en la plataforma seleccionada. De
esta manera, el analista de GeneXus no necesita tener un conocimiento profundo de la
plataforma objetivo.
Si es la primera vez que abre GeneXus Trial y no ha ejecutado previamente en su equipo una versión
comercial del producto, GeneXus le indicará que procederá a ejecutar la creación de una base de
conocimiento en forma automática. La primera vez que abra la versión trial se creará
automáticamente una Base de Conocimientos en un ambiente en .NET con SQL.
4. Seleccione el lenguaje a
generar.
Página 12
GeneXus X: Quick Start
Objeto Transacción
Representa a los objetos de la realidad que maneja su aplicación. De las transacciones
El siguiente paso, una vez creada la base de conocimiento será crear la primera transacción, que
representa una factura. Para ellos siga los siguientes pasos:
2. Seleccione el tipo de
objeto que quiere crear:
Transaction
3. Ponga nombre al
Objeto:Invoice.
Página 13
GeneXus X: Quick Start
! •
datos y descripción.
Niveles: Los atributos se agrupan en uno o más niveles, y estos niveles pueden
ser anidados o paralelos (pueden haber múltiples niveles anidados). Por
ejemplo: las líneas de una factura representan un nivel anidado al nivel raíz. El
nivel de las líneas de la factura demuestra el hecho de que una factura puede
tener muchas líneas, es decir, define una relación de una a muchas entre la
factura y las líneas de la factura.
• Atributos de Clave Primaria (PK): En cada nivel, uno o más atributos deben
ser definidos como la Clave Primaria del nivel.
o La Clave Primaria es un identificador de cada instancia del nivel.
o Los valores de la Clave Primaria son únicos y una vez que se ingresan no
pueden ser actualizados.
o Si no existe una Clave Primaria “natural” para su objeto, debe crearse una
“artificial”; por ejemplo, CustomerID.
Hasta aquí hemos ingresado los campos del cabezal de la factura. Ahora
ingresaremos las líneas. Para eso, presione CTRL + Flecha Derecha para agregar
Página 14
GeneXus X: Quick Start
Presione ENTER y luego CTRL + Flecha Izquierda para volver al nivel del cabezal
y comenzar los datos del pie.
El primer atributo de cada nivel es definido por defecto como clave primaria de ese nivel, pero
esto se puede cambiar hacienda clic derecho sobre el atributo y eligiendo la opción Toggle Key
(Ctrl+K). Los atributos de Clave Primaria se identifican por una pequeña llave a la izquierda de sus
nombres ( ). En este ejemplo, InvoiceID es el identificador de primer nivel, y el atributo
ProductID es el identificador de segundo nivel. Esto significa que, para un número de factura dado
(InvoiceID), el valor del atributo ProductID no se repetirá en líneas diferentes.
Página 15
GeneXus X: Quick Start
Página 16
GeneXus X: Quick Start
! •
•
Todo lo que es conceptualmente igual debe tener el mismo nombre.
Los conceptos diferentes NO deben tener el mismo nombre.
Esto nos permitirá usar el mismo atributo en otros objetos GeneXus (otras
transacciones, procedimientos, reportes, etc.) simplemente haciendo referencia a su
nombre. GeneXus establece las relaciones (claves foráneas) entre las tablas del modelo
de datos en base a los nombres de los atributos.
Página 17
GeneXus X: Quick Start
Fórmulas
Son atributos que pueden inferirse del valor de otros atributos. Un atributo fórmula es
definido de la misma manera que un atributo “normal”, es decir, tiene un nombre, un
tipo de datos y una descripción, además de una fórmula que define como se calcula.
! •
no son almacenados en la base de datos (son atributos virtuales).
Las fórmulas son globales; son válidas en toda la base de conocimiento y no
solamente dentro de la transacción en la cual fueran definidas. Esto significa que
la fórmula es calculada cada vez que el atributo es invocado desde una
transacción o desde otros objetos GeneXus (Reportes, Work Panels, etc.)
• Variables Definidas por el Usuario. No pueden participar en una formula
porque son locales respecto a los objetos en donde han sido definidas y no
tienen valor fuera de ellos.
LineTotal=ProductPrice * LineQuantity
InvoiceSubTotal = SUM(LineTotal)
InvoiceTaxes= InvoiceSubTotal * 0.11 ( o el número que corresponda)
InvoiceTotal = InvoiceSubtotal + InvoiceTax
1. Haga doble clic en el campo Formula del atributo LineTotal (a la derecha de la descripción del atributo).
2. Escriba lo siguiente: “ProductPrice * LineQuantity”. También se puede hacer clic sobre el botón sobre el
campo de la fórmula para abrir el Editor de Fórmula.
3. Repita los Pasos 1 y 2 para el resto de las fórmulas que aparecen en la lista al principio de esta sección.
Página 18
GeneXus X: Quick Start
! (3era forma normal sin redundancias) que soporte a las entidades del usuario final
representadas por los objetos de su transacción GeneXus. En base a este modelo de
datos, GeneXus generará una base de datos física cuando usted defina un DBMS objetivo
para un modelo.
Página 19
GeneXus X: Quick Start
Invoice InvoceProduct
InvoiceID InvoiceID
InvoiceDate ProductID
CustomerID ProductName
CustomerName ProductPrice
LineQuantity
Página 20
GeneXus X: Quick Start
Nótese que:
• La clave primaria de la tabla InvoceProduct está formada por dos atributos: InvoiceID y
ProductID (la concatenación del identificador de primer nivel, InvoiceID, con el identificador
del segundo nivel, ProductID).
• GeneXus eliminó automáticamente de las tablas los atributos que se habían definido como
fórmulas y los convirtió en fórmula globales para que se pueda acceder a ellas desde cualquier
lugar dentro de la base de conocimiento).
• En la tabla Invoice:
o No pueden haber dos facturas con el mismo InvoiceID.
o Para cada InvoiceID hay un único valor de InvoiceDate, CustomerID y
CustomerName.
• En la tabla InvoceProduct:
o No pueden haber dos líneas de factura con la misma InvoiceID y ProductID.
o Para cada par de InvoiceID y ProductID hay un único valor de ProductName,
ProductPrice y LineQuantity.
Formulario Web
Después de salvar un nuevo Objeto Transacción, GeneXus crea automáticamente un
! Formulario Web predeterminado para especificar como accederá el usuario final a los
datos en la aplicación. Estos formularios pueden ser personalizados por el analista del
negocio más adelante.
Página 21
GeneXus X: Quick Start
“Error Viewer: ctlError” es el control predeterminado donde se despliegan mensajes de error. Puede
ponerse en cualquier lugar del formulario y configurársele propiedades. Los mensajes posibles son los
que se despliegan en Msg y reglas de Error, y los controles automáticos de GeneXus (es decir,
integridad referencial, errores tipo de datos, etc.).
Estos formularios habilitarán a los usuarios finales a ingresar nuevas facturas que se insertarán como
nuevos registros en las tablas correspondientes. Los usuarios también podrán actualizar o eliminar las
facturas existentes, siempre que tengan los derechos para hacerlo.
El analista de GeneXus no necesita programar ninguna de estas acciones porque están implícitas en la
lógica de la transacción. GeneXus generará automáticamente el código nativo correspondiente en el
lenguaje seleccionado.
Página 22
GeneXus X: Quick Start
En este paso, ejecutaremos la aplicación en .NET usando SQL Server como nuestro DBMS. En la
versión comercial usted puede usar cualquiera de los DBMS soportados por GeneXus. Consulte la lista
completa de los DMBS soportados por GeneXus aquí:
http://www.genexus.com/technologies
Página 23
GeneXus X: Quick Start
1. Presione F5 o vaya a través del menú opción BUIL /RUN DEVELOPER MENU.
2. El Ayudante lo guiará en la
configuración de la BD. Configure lo
siguiente:
• Database name: Demo
• Server name: localhost
• Use trusted connection: Yes
Figura: Output
Página 24
GeneXus X: Quick Start
1. El Menú del
Desarrollador es un
archivo XML que incluye
a todos sus objetos
ejecutables. Es un menú
auxiliar para probar su
aplicación. Haga clic en
la opción Invoice.
2. Ingrese algunas
instancias de factura.
Gracias a la tecnología
AJAX, las fórmulas se
calculan
automáticamente, sin
necesidad de recargar
toda la página.
Página 25
GeneXus X: Quick Start
Reglas GeneXus
Las Reglas GeneXus son el medio para definir la lógica del negocio asociada a cada
objeto. Son escritas en forma declarativa y GeneXus decide de manera inteligente que
regla aplicar y cuando aplicarla.
Las reglas juegan un rol muy importante en los objetos transacción porque permiten
programar su comportamiento (por ejemplo: asignando valores predeterminados,
definiendo controles de datos, etc.).
! • Pueden involucrar atributos definidos en la estructura de la transacción así como
variables y funciones.
• Las Reglas son programadas de manera declarativa, es decir, el orden en el
cual se escriben no es necesariamente el orden en el cual se van a ejecutar. El
orden de ejecución adecuado es automáticamente determinado por GeneXus.
Sólo son válidas en la transacción en la que han sido definidas. Por eso decimos que son
locales.
Ahora agregaremos una regla simple que configura por defecto la Fecha de la Factura como la fecha
del día actual:
1
Tenga en cuenta que usted también puede usar las opciones Insertar / Atributo e Insertar / Fórmula del menú
Insertar para completar la regla.
Página 26
GeneXus X: Quick Start
Ahora otra regla simple que establece un mensaje de error si la cantidad de productos ingresada es
nula:
Página 27
GeneXus X: Quick Start
Nótese que cuando comienza a escribir los atributos CustomerID y CustomerName, GeneXus le
indica el nombre completo del atributo y su tipo y descripción. Esto sucede porque estos atributos
ya están definidos en su base de datos.
Página 28
GeneXus X: Quick Start
Nótese (abajo) que el Formulario Web de la Factura también ha cambiado, reflejando los cambios en
las propiedades del atributo CustomerID: el atributo CustomerName es ahora el la descripción del
atributo CustomerID. ¡Esto mejorara notablemente la usabilidad de la aplicación como veremos
rápidamente!
Página 29
GeneXus X: Quick Start
Análisis de Impacto
! Describe los cambios físicos que se deberán realizar para actualizar al nuevo modelo de
datos inferido por GeneXus.
Nos muestra que la tabla Invoice será afectada, eliminando el atributo CustomerName de la tabla
Invoice ya que el mismo puede ser inferido a través del CustomerID.
En warning de especificación se refiere a que puede haber valores duplicados de clientes en la tabla
Invoice y que al normalizar estos pude afectar. También se muestra otro warning indicando que los
registros que se van a crear tienen valor nulo en las tablas.
Página 30
GeneXus X: Quick Start
Nótese que:
• GeneXus agregó una nueva tabla: la tabla Customer (asociada a la transacción Customer).
• El atributo CustomerName se ha eliminado de la tabla Invoice (este atributo está almacenado
únicamente en la tabla Cliente), dejando la base de datos normalizada.
• En la tabla Customer:
o No pueden haber dos clientes con el mismo CustomerID.
o Por cada CustomerID hay un único valor de CustomerName, CustomerAddress y
CustomerEmail.
• En la tabla Invoice:
o No pueden haber dos facturas con el mismo InvoiceID.
o El atributo CustomerID en la tabla Invoice es una clave foránea tomada de la tabla
Cliente. Por lo tanto, existe una relación de uno a muchos entre Clientes y Facturas:
Por cada InvoiceID existe únicamente un CustomerID.
Cada CustomerID puede tener muchas Facturas (InvoiceID).
Página 31
GeneXus X: Quick Start
Reporte de Especificación
! Describe como se ejecutará el programa, a que tablas accederá (y como) y que
operaciones realizará.
Página 32
GeneXus X: Quick Start
El control de integridad referencial valida que un atributo ingresado (por ejemplo, CustomerID en una
Factura) es válido, pero no proporciona información sobre cuáles son los valores válidos. Para facilitar la
búsqueda de los valores válidos, GeneXus crea objetos Lista de Selección (prompts) que muestran el grupo
completo de valores válidos para elegir los que correspondan.
Página 33
GeneXus X: Quick Start
Objeto Tema
El objeto GeneXus Tema mejora el desarrollo y mantenimiento de las aplicaciones Web
separando las tareas del analista del negocio de las del diseñador Web.
! • Se crean Formularios Web en base a un Objeto Tema predeterminado.
• Usted puede crear nuevos Temas y asociarlos a la totalidad de su Base de
Conocimiento o a objetos específicos dentro de ella.
Página 34
GeneXus X: Quick Start
PARTE 3: Mantenimiento
A medida que la realidad cambia, los requerimientos del sistema evolucionan y esto se
traduce en cambios en los objetos GeneXus y/o nuevos objetos. En base a los nuevos
objetos, GeneXus actualizará su base de datos automáticamente (creando un nuevo
! esquema de base de datos y migrando los datos del viejo esquema al nuevo) y
regenerará los programas de la aplicación que deban ser modificados.
Decimos que la Metodología GeneXus es incremental porque se basa en la presunción de
que el desarrollo del sistema es un proceso iterativo que pasa por sucesivas
aproximaciones. El desarrollo incremental es posible porque GeneXus pude mantener el
esquema de su base de datos y los programas de su aplicación automáticamente.
Debemos contar con la posibilidad de agregar, actualizar y eliminar productos de nuestro sistema.
Para hacerlo, agregaremos la transacción Producto en nuestra Base de Conocimiento:
Página 35
GeneXus X: Quick Start
Notará que tan pronto como empiece a escribir estos nombres de atributo, GeneXus le indicará el
nombre completo. Esto sucede porque estos atributos ya están definidos en su Base de
Conocimiento.
Página 36
GeneXus X: Quick Start
Figura: Listado de Base de Datos (Modelo de Datos) para InvoiceProduct y tablas Producto
1. Seleccione Reorganize.
Página 37
GeneXus X: Quick Start
Página 38
GeneXus X: Quick Start
Patterns o Patrones
! Son acciones similares aplicadas a distintos elementos. Los patrones permiten crear
automáticamente todos los objetos necesarios para cumplir la funcionalidad especificada,
evitando que deba realizarse en forma manual.
Página 39
GeneXus X: Quick Start
6. Ejecute la aplicación
Página 40
GeneXus X: Quick Start
Web Panels
Los Web Panels son usados para hacer diálogos y consultas interactivos a la base de
! datos en ambientes Web. Permiten implementar diferentes tipos de consultas y
visualizar los datos de muy diversas maneras.
Los Web Panels son programados usando un lenguaje simple dirigido por eventos.
Vamos a crear un web Panel que nos permita ver por cada cliente las Facturas que tiene asociadas.
Para eso siga los pasos siguientes:
Página 41
GeneXus X: Quick Start
5. Aparecerá el Formulario
vacío del Web Panel. En el
menú View, seleccione
Other Tool Windows,
opción Toolbox. Arrastrar
un control Free Style Grid.
6. Expanda la grilla.
8. Seleccione el atributo
CustomerName y haga clic
en OK.
Página 42
GeneXus X: Quick Start
12. Ejecutar presionando F5. Figura: Ventana Web Panel con Grid
Página 43
GeneXus X: Quick Start
Paso 19: Ejecución del Web Panel modificando la instancia del Pattern
Vamos a modificar la instancia el Pattern “Trabajar con Clientes” en la transacción Customer de
manera de poder acceder al Web Panel “InvoicesPerCustomer”.
1. Abrir la Transacción
Customer y vamos al
Patter presionando el
botón Work With.
2. Vamos a agregarle
una acción a esta
instancia del Pattern y
esta acción la vamos a
asociar a un botón
fuera de la grilla
convocando al web
Panel “Facturas por
Cliente”.
3. Posicionarse botón
derecho sobre la
opción Selection
(Work With
Customers) y elegir la
opción ADD, Actions.
Página 44
GeneXus X: Quick Start
5. Editamos sus
propiedades
presionando F4.
8. Ejecutamos la
aplicación presionando
F5.
9. En ejecución,
seleccionar la opción
Work with Customers
para ver el botón que
invoca al web panel
creado.
Página 45
GeneXus X: Quick Start
Controles de usuarios
User Controls
Son controles web que pueden ser insertados en el form de cualquier objeto web de
! GeneXus y que van a aumentar notoriamente la funcionalidad y apariencia de nuestra
aplicación. Además de los user controls estándares provistos (Chart, Image Galery, Map,
Treeview), GeneXus nos provee de un Editor de User Controls a través del cual
podremos modificar los user controls ya existentes y crear nuestros propios user controls
e incorporarlos a GeneXus.
Nuestro objetivo será representar en forma gráfica las ventas por producto. Para cumplir este
requerimiento vamos a usar el User Control Chart.
Página 46
GeneXus X: Quick Start
Figura: Chart
Figura: Eventos
Página 47
GeneXus X: Quick Start
FELICITACIONES!
Usted ha creado con éxito su primera aplicación con GeneXus.
Nuestro próximo paso es brindarle mayor información sobre las cosas que pueden realizarse con
GeneXus.
Página 48
GeneXus X: Quick Start
PARTE 7: Procedimientos
Procedimientos
Hasta el momento hemos trabajado con los Objetos Transacción que son objetos
GeneXus que requieren la intervención del usuario para insertar, actualizar y eliminar
registros en la base de datos. No obstante, muchas veces necesitamos realizar tareas sin
la intervención del usuario. Para ello, usamos otro tipo de Objetos GeneXus:
Una funcionalidad clave de los Procedimientos GeneXus es que con ellos usamos la
misma metodología basada en el conocimiento que usamos para definir los Objetos
Transacción. Esto significa que la definición de estos objetos se basa en nombres de
atributos y no en las tablas de la base de datos donde dichos atributos son almacenados.
Por lo tanto, la definición de sus Procedimientos permanece válida siempre que los
atributos declarados dentro de los mismos estén presentes en la Base de Conocimiento.
En nuestro ejemplo crearemos un Reporte simple (uno que muestre todos los datos de una factura).
Página 49
GeneXus X: Quick Start
Nuestro objetivo será crear un procedimiento que liste todos nuestros clientes junto a su total y otro
que permita modificar los precios vigentes en un 10%.
For each
&Total=SUM(InvoiceTotal)
Print printBlock1
Endfor
Página 50
GeneXus X: Quick Start
6. Grabe el procedimiento.
Página 51
GeneXus X: Quick Start
Output_file('Customers.PDF','PDF');
Página 52
GeneXus X: Quick Start
Event 'Imprimir'
CustomerReport.Call
EndEvent
Página 53
GeneXus X: Quick Start
For each
ProductPrice =
ProductPrice+ProductPrice*0.10
Endfor
Página 54
GeneXus X: Quick Start
Event Enter
Discount_of_prices.call()
EndEvent
Figura: Evento
8. Grabe el web panel y ejecute presionando
F5.
Página 55
GeneXus X: Quick Start
PARTE 8: Multiplataforma
Desarrollo Multiplataforma
GeneXus es una herramienta que permite generar aplicaciones de misión crítica en múltiples
plataformas. Una vez que ha generado y ejecutado una aplicación en uno de esos ambientes, generar
y ejecutar la misma aplicación en el otro ambiente es tan simple como definir un nuevo ambiente.
La GeneXus Trial Version ofrece únicamente el generador GeneXus .NET. No obstante, la versión
completa de GeneXus suporta las plataformas líderes del mercado. De este modo la misma aplicación
generada para .NET con SQL puede ser generada para diferentes plataformas manteniendo las
mismas funcionalidades. Visite http://www.genexus.com/technologies para obtener una lista
completa de las tecnologías soportadas por GeneXus.
Página 56
GeneXus X: Quick Start
Resumen
Esperamos que este tutorial le haya permitido experimentar las funcionalidades y beneficios claves de
GeneXus:
Comenzamos por crear una Base de Conocimiento y describir los requerimientos de datos de nuestra
aplicación como una serie de componentes del negocio llamados Objetos Transacción en el Modelo de
Diseño de la Base de Conocimiento. GeneXus usó esta información para inferir el modelo de datos
óptimo (3era forma normal) requerido para soportar todas sus Transacciones. También agregamos
algunas reglas del negocio en las que GeneXus se basó para generar el código de la lógica del negocio
de la aplicación.
Elegimos una plataforma de ejecución específica (Web, lenguaje de programación, DBMS, etc.) y
creamos un Modelo donde GeneXus generó automáticamente una base de datos física con el modelo
de datos del Modelo de Diseño.
Generamos el código fuente para los programas de nuestra aplicación y probamos la aplicación en el
ambiente de prototipo.
Mantenimiento de la Aplicación
Hemos visto lo sencillo que es mantener/expandir una aplicación, simplemente editando los objetos
GeneXus existentes y/o agregando nuevos, y luego GeneXus actualiza la base de datos y regenera los
programas de la aplicación en forma automática.
Hemos proporcionado una visión general sobre qué son los procedimientos independientemente de la
estructura de la base de datos de la aplicación.
Desarrollo Multi-plataforma
Finalmente hemos descripto como migrar fácilmente su aplicación GeneXus de un ambiente a otro.
Página 57
GeneXus X: Quick Start
FAQ
Si, en GeneXus existe una herramienta (DBRET: Data Base Reverse Engineering) que permite realizar
el acceso a BD existentes en distintas tecnologías.
Página 58
GeneXus X: Quick Start
Dada una tabla base, su tabla extendida es el grupo de atributos que son directa o indirectamente
determinados por la clave de la tabla base:
Para encontrar la tabla extendida de una tabla dada se puede usar el Diagrama de Bachmann del
modelo de datos de la base de conocimiento:
En este ejemplo, podemos identificar la tabla extendida de cada una de las tablas de nuestro
proyecto:
Página 59
GeneXus X: Quick Start
El comando “For Each” es el corazón del lenguaje de procedimientos usado por GeneXus para definir
reportes y procedimientos. Recupera y actualiza información (mediante procedimientos online) desde
su base de datos.
Con el comando For Each usted puede definir la información a la que desea acceder y nombrar los
atributos que desea usar. GeneXus inferirá automáticamente las tablas apropiadas en tiempo de
generación. Cuando la estructura de la base de datos cambie, las definiciones del For Each
permanecerán válidas.
Cada comando For Each tiene una tabla de modelo de datos asociada que será navegada. Está
compuesto de la tabla base del For Each y su tabla extendida (las tablas que GeneXus necesita
para buscar los atributos mencionados en el comando).
• Las tablas que serán accedidas son determinadas por los atributos contenidos en el comando
For Each.
• Para este grupo de atributos, GeneXus inferirá la mínima tabla extendida.
La tabla base de este grupo de atributos será la tabla base del For Each
Página 60
GeneXus X: Quick Start
Contactos y Recursos
La Comunidad GeneXus
La Comunidad GeneXus le brinda diversas formas de obtener respuestas a sus preguntas y soluciones
a sus problemas, así como también oportunidades para compartir sus propias experiencias. Encontrará
una lista completa de los recursos disponibles de la Comunidad en
http://www.genexus.com/community/
Soporte
ARTech ofrece una amplia variedad de servicios y recursos de soporte:
Visite http://www.genexus.com/support/
Si usted vive en Estados Unidos o Canadá puede enviarnos sus preguntas a gxtrial.usa@genexus.com
Como Comprar
Las Tecnologías GeneXus se venden a través de la red de distribuidores en todo el mundo.
Links recomendados
Web site: http://www.genexus.com
GeneXus X Basic Course: http://www.gxtechnical.com/basiccourse/
Laboratorio práctico de GeneXus X y Libro online: www.genexusx.com/aprenda
Comunidad GeneXus: http://www.genexus.com/community
Página 61