Presentación guía sencilla en Microsoft Excel.pptx
Lab genexusintroductorio
1. Laboratorio GeneXus X
Evolution 1
For Dummies
Última actualización: 24 de Marzo de 2011
2. Laboratorio GeneXus X Evolution 1
Copyright Artech Consultores S. R. L. 1988-2010.
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
3. Laboratorio GeneXus X Evolution 1
1. Tabla de Contenido
1. Tabla de Contenido ............................................................................................. 2
2. Objetivo ............................................................................................................. 3
3. Preparación ........................................................................................................ 3
4. Diseño y gestión ................................................................................................. 6
Principales secciones del nuevo Integrated Development Environment (IDE) ..................... 6
Documentación ......................................................................................................... 7
Búsqueda ................................................................................................................. 8
Categorías .............................................................................................................. 11
Diagramas de Transacciones y tablas ......................................................................... 12
5. Desarrollo de la aplicación .................................................................................. 13
Patterns ................................................................................................................. 13
Web Transactions .................................................................................................... 17
Objeto Query .......................................................................................................... 21
6. Glosario ........................................................................................................... 25
Categories ........................................................................................................... 25
Fórmulas ............................................................................................................. 25
Patterns .............................................................................................................. 25
Reorganización ..................................................................................................... 25
User Controls ....................................................................................................... 25
Automatic Refresh ................................................................................................ 25
Query Object ........................................................................................................ 25
Página 2
4. Laboratorio GeneXus X Evolution 1
2. Objetivo
Poner en práctica varios de los conceptos de la versión GeneXus X Evolution 1, familiarizarse con el entorno
de desarrollo de la versión, y conocer algunas funcionalidades WEB, en particular el Query Viewer y User
Control.
3. Preparación
En la carpeta c:LabIntroductorio tiene los XPZ que se usarán durante el lab, al igual que el resto del
material requerido.
Crear una nueva base de conocimiento, para lo cual, se le presentará el siguiente diálogo. Seleccionar
el generador Ruby en el combobox de Prototyping Environment:
Configurar las propiedades de conexión del modelo. Ir por Knowledge Base Navigator-> Preferences, y
seleccionar el DataStore SQL Server del Ruby Environment, como indica la figura más abajo.
Editar el valor de las propiedades, considerando:
o Database Name = Futbol
o ServerName = localhostsqlexpress
Página 3
5. Laboratorio GeneXus X Evolution 1
o Use Trusted Connection = No
o User Id = sa
o User password = artech
Página 4
6. Laboratorio GeneXus X Evolution 1
Importar todos los objetos del XPZ1.xpz: Knowledge Manager -> Import:
Presionar F5 para ejecutar. GeneXus automáticamente detectará que han habido cambios y es
necesario reorganizar. Observe el Impact Analysis Report, donde se muestran los cambios a realizar
sobre las tablas y además las sentencias SQL que serán ejecutadas sobre la BD.
Para ejecutar la reorganización, presione el botón “Create”. Una vez terminada la reorganización,
aparecerá el mensaje “Reorganization Success” en el output window.
Luego de la ejecución de la reorganización, observe que automáticamente se genera la aplicación, se
ejecuta el Webrick (servidor web liviano) y se abre el browser, donde lo primero que ejecuta es el
DeveloperMenú, que presenta las transacciones, y un Web Panel de nombre “Load Data”. Ir por el link
del “Load Data” para cargar datos iniciales antes de empezar a trabajar.
El Web Panel “LoadData” implementa una carga básica de datos. Solicita el path en donde se
encuentran las imágenes de la aplicación. Ud. solo debe presionar el botón para que se efectúe la
carga.
A partir de aquí estará listo para realizar los ejercicios que siguen.
Página 5
7. Laboratorio GeneXus X Evolution 1
4. Diseño y gestión
Inicialmente introduciremos algunos conceptos de Diseño y gestión de la versión GeneXus X Evolution 1.
Principales secciones del nuevo Integrated Development
Environment (IDE)
Las principales áreas del IDE de GeneXus X Evolution 1:
1: Knowledge Base Navigator. Un conjunto de menús contextuales para navegar sobre objetos (ya sea en
su vista por directorios [“Folder View”] o categorías [Category View]), para visualizar la lista de los últimos
cambios [“Latest Changes View”] y Preferencias del modelo [“Preferences"].
2: Principal. Aquí se despliega la Start Page y una pestaña por cada uno de los Objetos abiertos
3: Salida de las distintas operaciones (especificación, generación, compilación, etc) [“Output”]
4: Diálogo de propiedades y toolboxes de controles, objetos y variables que están seleccionadas
5: Toolbars de GeneXus para acceder a todas las opciones de la Knowledge Base.
Página 6
8. Laboratorio GeneXus X Evolution 1
Documentación
La documentación y organización del proyecto forma parte fundamental de un proceso de desarrollo,
principalmente en sus fases iniciales pero además acompañando el desarrollo en todas sus instancias, no solo
generándose nueva documentación sino incrementando o iterando sobre documentación generada en fases
previas. Estas necesidades son satisfechas por GeneXus X Evolution 1 con el objeto Documentation, y
además se brinda una mayor potencia a la documentación de cada objeto, utilizando la tecnología de wiki
pages.
Para ver esta funcionalidad de GeneXus comenzaremos realizando la edición de la documentación principal de la
KB, donde agregaremos una referencia a la documentación de la transacción “Player”.
Para esto se deben realizar los siguientes pasos:
1. Abrir la transacción “Player” (File -> Open Object, también la puede encontrar directamente buscando
en el folder “Transactions”).
2. Escribir un texto de documentación en el tab Documentation de la misma:
3. Abrir el objeto de tipo Documentation llamado “Main”. En la vista de carpetas (“Folder View”)
Documentation / Main Document.
4. Abrir la vista de edición del objeto. (ver figura 1)
Figura 1: Vistas del objeto de tipo Documentation
5. Agregar el siguiente texto:
Objects Documentation:
Documentation of Player Transaction:
6. Salvar la página, mediante Ctrl.+S o File / Save
7. Agregar el link a la documentación de la transacción “Player”:
a. Escribir a continuación de “Documentation of Player Transaction” el texto “[[tr”, esto
desplegará la lista de los diferentes tipos que pueden ser linkeados en la documentación:
Página 7
9. Laboratorio GeneXus X Evolution 1
8. Seleccionar el tipo de objeto Transaction. Al seleccionar el tipo se desplegará la lista con todas las
transacciones existentes en la KB.
9. Seleccionar la transacción “Player”, y salvar.
10. Volver al objeto Main. Pasando a la sección “Browse” del objeto podrá ver la documentación que se ha
editado, permitiéndose navegar por los hyperlinks hacia los objetos que son referenciados.
11. Pasando a la sección de “History”, se podrá ver el histórico de cambios del documento lo que permitirá
hacer un seguimiento de las modificaciones de la documentación, pudiéndose acceder a cada una de estas
versiones para ver su contenido y las diferencias con la versión anterior.
Búsqueda
Un elemento que permite una mayor fluidez en el desarrollo y que permitirá encontrar fácilmente cualquier
recurso buscado dentro de la KB, es la capacidad de búsqueda por contenido provista por el Search del IDE.
1. Abrir la toolbar de Búsqueda View / Other Tool Windows / Search
2. Escribir “Player” en el campo “Enter a word or phrase” y realice la búsqueda (clic en search)
Esto traerá varios resultados. Se puede observar que esta búsqueda por contenidos retorna elementos de la KB
si la frase por la que se realiza la búsqueda está en cualquiera de las secciones del objeto (reglas, eventos,
estructura, documentación, web Form, nombre, descripción, etc.)
Se muestra un link para abrir el objeto y al mismo tiempo otro link para abrir cada una de las secciones del
objeto que contiene la frase buscada.
Página 8
10. Laboratorio GeneXus X Evolution 1
3. Ahora realizaremos una búsqueda avanzada, donde buscaremos los objetos que son “Business Component”
(transacciones que tienen la propiedad “Business Component” en True).
a. Dejar vacío el campo de búsqueda (“Enter a word or phrase”)
b. Abrir el diálogo para agregar la propiedad “Business Component” al criterio de búsqueda, clic
en el botón “[…]”. Ver figura:
c. Clic en “OK”, lo que hará aparecer una línea en la sección “Criteria” con la propiedad Business Component y
sus valores posibles
d. Seleccionar el valor “True”. Ver figura:
Página 9
11. Laboratorio GeneXus X Evolution 1
e. Hacer la búsqueda (clic en Search). Aparecerán todas las transacciones que sean Business components.
Página 10
12. Laboratorio GeneXus X Evolution 1
Categorías
Además de la vista por folders GeneXus X Evolution 1 incorpora la categorización de objetos, que permite
agrupar objetos bajo una (o más) categorías, que podrán ser definidas en forma estática por el analista
GeneXus, o que podrán ser mantenidas dinámicamente en base a criterios de búsqueda. Las categorizaciones
de objetos permitirán organizar de diferentes formas los objetos de la KB, según diferentes criterios que el
usuario podrá definir.
1. Para comenzar pasaremos a la vista por categorías (Category View) del Knowledge Base Navigator (si este
no está desplegado View / Other Tool Windows / KnowledgeBase Navigator, en el área 1)
2. Crear una nueva categoría: clic derecho sobre el folder “All” y en el menú ir por New / Category. El
nombre de la categoría será “Documented Objects”.
3. Ahora agregaremos a esta nueva categoría, un objeto que tiene documentación (en este caso, la transacción
Player). Para esto haremos lo siguiente:
a. Pasar nuevamente a la vista de Carpetas (Folder View).
b. Seleccionar la transacción Player en el Folder View Objects / Transactions / Player. Al
momento de seleccionarla sus propiedades se desplegarán en la ventana de propiedades.
c. Dentro de la ventana de propiedades (en la parte inferior) está la sección de categorías del
objeto. Allí (en Add Category) escribir “Documented Objects” y dar Enter.
d. Salvar la transacción.
e. Si volvemos a la vista por categorías (Category View) veremos la transacción Player bajo la
categoría “Documented Objects”
Página 11
13. Laboratorio GeneXus X Evolution 1
Diagramas de Transacciones y tablas
El nuevo diagrama de tablas y transacciones permite obtener una visión global de la KB mediante diagramas
de Bachman. Se permite realizar diagramas de tablas, transacciones o ambos mezclados, permitiendo editar el
diagrama (agregando o quitando objetos) para mostrar diferentes perspectivas de las tablas o transacciones de
la KB, dándole al diagrama una mayor expresividad y poder de abstracción.
Crear un diagrama que nos permita ver la relación entre las transacciones del modelo.
1. Crear un nuevo objeto de tipo “Diagram”.
Una manera de hacerlo es presionar las siguientes teclas del teclado: Ctrl + N y seleccionar un objeto de tipo
“Diagram”. Elegir un nombre para dicho objeto: “Diagram1” (por defecto) y hacer clic en “Create”.
2. Volver a la vista de objetos (Folder View) y arrastrar hacia el diagrama las transacciones “Player”, “Team”, y
“Match”.
Ver como se relacionan las mismas.
IDE TIP: Los atributos de una tabla o una TRN se pueden ocultar o visualizar en el
diagrama simplemente haciendo clic en el icono para colapsar, que está en la esquina
superior derecha.
5.
Página 12
14. Laboratorio GeneXus X Evolution 1
6. Desarrollo de la aplicación
Patterns
1. Aplicar el Pattern Work With a todas las transacciones del modelo. En la vista de Folder View, seleccionar
las transacciones “Team”, “Player”, “Match”, y “Group” (presionando la tecla “Shift” se pueden seleccionar
varios objetos), y mediante botón derecho, seleccionar “Apply Pattern” -> “Work With”.
Observar que el Pattern Work With está integrado en esta versión. Verificar que se hayan generado los objetos
correspondientes al Pattern Work With. Puede ver los objetos generados en el Folder View, bajo cada una de las
transacciones.
2. Abrir la instancia del pattern WW de la transacción Team (para esto, abrir la transacción Team, seleccionar
la pestaña inferior Patterns, y luego la pestaña superior Work With), y eliminar el atributo “TeamHistory”:
Página 13
15. Laboratorio GeneXus X Evolution 1
3. Presionar F5 para ver la aplicación en ejecución. Lo primero que ejecuta es el Developermenu. Haga clic en
el “Work With Teams” y observe que aplicación ya está “enmarcada” en una MasterPage dada, que viene por
default (propiedad “Default Master Page” de la Versión). Esta propiedad se encuentra en la vista de
“Preferences”.
Página 14
17. Laboratorio GeneXus X Evolution 1
4. Abrir el objeto AppMasterpage (ubicado en la carpeta “GeneralWeb” en la vista “Folder View”) y modificar el
caption del Textblock del cabezal:
5. La página de Inicio de la aplicación será el Web Panel “Home”, por lo cual, se debe configurar dicho objeto
como el Start Up Object. En el Folder View, ubicar el Web Panel Home bajo los “Main Programs” y con botón
derecho seleccionar “Set as Startup Object”.
Página 16
18. Laboratorio GeneXus X Evolution 1
Ejecutar la aplicación con F5. Hacer clic en “Work With Matches”. Observar que se tiene un grid con un filtro, en el
que el refresh es automático, es decir, ingresado un filtro los datos se cargan automáticamente sin necesidad de
presionar un botón de búsqueda.
Web Transactions
1. Editar la transacción “Match”. Realizar los siguientes pasos:
a. Abrir la transacción “Match”, y clic sobre la pestaña “Web Form”.
b. Configurar los atributos CountryIdentifier y CityIdentifier como combos dinámicos, como se muestra a
continuación:
Página 17
19. Laboratorio GeneXus X Evolution 1
b. A continuación, vamos a modificar la edición de los datos del grid para que sea posible ingresar un
jugador mediante una lista de sugerencia (que no sea necesario recordar el Identificador del jugador ni
seleccionarlo mediante un prompt); y que solo se pueda ingresar un jugador que pertenezca a uno de
los dos equipos del Match.
En la transacción “Match”, ir por la pestaña “Web Form”. Para editar las columnas del grid, hacer clic
con botón derecho sobre el grid, e ir por la opción “Columns” del menú contextual:
Página 18
20. Laboratorio GeneXus X Evolution 1
Eliminar la columna PlayerName, y para el atributo PlayerIdentifier configurar:
La propiedad “Input Type” = Descriptions, “ItemDescriptions” = PlayerName
“Suggest” = On Request
“Conditions” = TeamIdentifier=MatchTeam1Identifier or
TeamIdentifier=MatchTeam2Identifier;
Página 19
21. Laboratorio GeneXus X Evolution 1
c. Ejecutar “Work With Matches”. Hacer clic en para poder ingresar un nuevo Match. En la transacción,
observar el comportamiento de los combos dinámicos que se cargan de manera relacionada.
Observar también el prompt GeneXus que se abre de forma modal. Ver que una vez seleccionada la
clave del equipo se infiere automáticamente la descripción del mismo.
Notar que si ingresa dos veces el mismo equipo de dispara la siguiente regla automáticamente:
error('Matches cannot be the same!') if MatchTeam1Identifier =
MatchTeam2Identifier;
En el grid, notar el funcionamiento del suggest para seleccionar los jugadores que realizaron goles.
Observar que en el suggest solo están los jugadores de alguno de los dos equipos del Match. Además,
cuando se ingresan los goles de los jugadores se actualiza de manera automática las fórmulas de
cantidad de goles de cada equipo y total de goles del partido.
Página 20
22. Laboratorio GeneXus X Evolution 1
Objeto Query
1. Crear un Objeto Query (“Query1”) como el siguiente:
2. Consolidar XPZ2.xpz (Knowledge Manager -> Import).
3. Insertar en el form del objeto “PlayerScore”, el User Control “Query Viewer” (seleccionar el control de la
toolbox, en la sección “Extended Controls” y arrastrarlo hacia el form. En caso de no tener disponible la
toolbox, la puede abrir haciendo clic en View -> Other Tool Windows -> Toolbox)
Página 21
24. Laboratorio GeneXus X Evolution 1
4. Configurar las siguientes propiedades del “Query Viewer” control:
Object= Query1 (el Query creado anteriormente)
Type=Chart
5. Observar que el objeto Query (“Query1”) que se ha creado anteriormente recibe como parámetro el
TeamIdentifier.
Entonces, en el webpanel PlayerScore, seleccionar la pestaña “Events” y programar lo siguiente (notar que
la variable &TeamIdentifier ya está como combo dinámico en la pantalla):
Event Refresh
&Parameter = new()
&Parameters = new()
&Parameter.Name = "TeamIdentifier"
&Parameter.Value = trim(&TeamIdentifier.ToString())
&Parameters.Add(&Parameter)
EndEvent
4. Para que sea posible cambiar el tipo de gráfica presionando el botón “confirm”; programar lo siguiente
(notar que la variable &QueryType ya está como combo en la pantalla):
Event Enter
queryViewer1.ChartType = &QueryType
EndEvent
5. Ejecutar el webpanel, haciendo clic con el botón derecho sobre “PlayerScore”, “Run With this Only”.
Página 23