Anda di halaman 1dari 22

Patterns

252
Patterns: Escenario

Filtro sobre los


datos

Paginacin

Teniendo la Transaccin Country y la Transaccin Customer, queremos lograr hacer la aplicacin ms vistosa,
con consultas con vistas ms completas y con algn aumento de funcionalidad.

Por ejemplo, trabajar con los pases de una forma ms vistosa y amigable que la que brinda la sola
Transaccin. Visualizar en un grid los pases existentes, con la posibilidad de filtrar por nombre de pas, y
fijando paginado al grid, de forma tal que muestre un nmero fijo de registros por pgina...

253
Patterns: Escenario

New Country T
r
a
n
Update Country s
a
c
t
i
o
n
Delete Country

...as como poder ingresar un nuevo pas (mediante la Transaccin Country), o seleccionar uno de los
mostrados en el grid, para poder modificarlo o eliminarlo...

254
Patterns: Escenario

...o incluso ver la informacin completa de ese pas, incluyendo los clientes asociados...

255
Patterns
Generalidades

Definicin Patrones que se pueden aplicar a una KB para


implementar automticamente cierta funcionalidad.

Patrones disponibles:
Work With
Category
Selectores dentro de
las Transacciones

Una vez aplicado el patrn, todos los objetos generados quedan como
parte de la Base de Conocimiento.

Es natural al desarrollar aplicaciones, tener que resolver partes muy similares pero no exactamente iguales.

Por ejemplo, si en una Base de Conocimiento se tienen modelados los objetos de la realidad Customers y
Countries, a pesar de ser dichos objetos bien diferentes, los Work With Customers y Work With Countries
respectivamente, tienen muchas cosas en comn: un grid en el form, un conjunto de variables para utilizar en
filtros, opciones de ordenamiento de la consulta, invocaciones a la Transaccin correspondiente para actualizar
la base de datos, etc..

Surgen entonces los Patterns, que ofrecen la posibilidad de aplicar un patrn (pattern) a las instancias que se
deseen de una Base de Conocimiento, y generar todos los objetos GeneXus necesarios para implementar
cierta funcionalidad, teniendo en cuenta sus datos especficos.

Siguiendo con el ejemplo mencionado inicialmente, es posible aplicar el patrn Work With a la Base de
Conocimiento, de forma tal que partiendo de las Transacciones Customer y Country, se obtenga todo el
desarrollo correspondiente al Work With Customers y Work With Products para ambiente Web (pantallas
vistosas que implementan las consultas, con ordenamientos, filtros, invocaciones a las Transacciones
correspondientes, y ms).

256
Patterns
Work With
Genera a partir de una Transaccin

Pantalla Work With: consulta interactiva, mltiples ordenamientos,


filtros, invocacin a la Transaccin. Etc.

Pantalla View: Registro seleccionado, con la informacin asociada.

WorkWith

Transaccin
View

La pantalla Work With ofrece:


Consulta interactiva
Mltiples ordenamientos
Filtros
Invocacin a la Transaccin en los diferentes modos (insert, update, delete, display)
Posibilidad de incluir invocadores propios a objetos
Link en cada lnea de la grilla a la pantalla View

La pantalla View muestra:


La informacin del registro seleccionado en la grilla Work With
Un tab control con:
Un tab con la informacin del registro
Un tab por cada tabla subordinada a la tabla base del registro en la grilla Work With.:

257
Patterns
Aplicacin

1. Abrir la Transaccin

2. Seleccionar el patrn a
aplicar (aparecer la
instancia por defecto)

3. Marcar la opcin Apply this


pattern on save

4. Salvar la Transaccin

258
Patterns
Work With en ejecucin

Y en ejecucin

Insert

Update
Delete

259
Patterns
Ejemplo

Aplicacin del pattern Work With a la Transaccin Country.

Al aplicar el pattern Work With a la Transaccin Country, se crear:


Pantalla Work With:
Tendr una grilla con los atributos CountryId y CountryName
Se podr ordenar y filtrar por CountryName, por ser CountryName el atributo descriptor.
Se podr invocar a la Transaccin en los diferentes modos

Pantalla View: Mostrar dos tabs. El primer tab tendr la informacin del pas seleccionado, y el segundo
tendr la informacin de los clientes pertenecientes a dicho pas (puesto que existe una relacin 1-N entre las
Transacciones Country y Customer).

En caso de no querer que se visualice el atributo CountryId en la grilla de la pantalla Work With, alcanzar con
editar sus propiedades desde el nodo Attributes y poner la propiedad Visible=False. No se puede suprimir
puesto que es la clave primaria de la Transaccin Country.

260
Patterns
Comenzando a asociar

Se sita en el pas
indicado, o muestra
todos los pases.

261
Patterns
Comenzando a asociar.

262
Patterns
Modificando la instancia del Pattern Work With

Agregar, eliminar, ocultar Atributos.


Especificar los modos de invocacin a la Transaccin
Definir rdenes y filtros.
Agregar, eliminar, modificar Acciones.
Agregar, eliminar, modificar Tabs.

Posicionarse en el nodo
correspondiente y presionar
el botn derecho del mouse.

Son muchas las propiedades que se ofrecen en las instancias correspondientes al patrn WorkWith, para
personalizar el comportamiento de los objetos que se generarn. A continuacin describimos algunas de ellas.

El nodo Selection ofrece las propiedades relacionadas a la pantlla WorkWith que se generar para la
instancia. Sus sub-nodos son:

Modes
Este nodo permite definir en cules modos se ofrecer invocar a la Transaccin. Las posibilidades y sus
valores por defecto son:

Insert: True
Update: True
Delete: True
Display: False

Para cada modo podr especificarse una condicin. Se proveen las siguientes propiedades para ese propsito:

Insert Condition
Update Condition
Delete Condition
Display Condition

Si se define una condicin asociada a un modo, la invocacin para ese modo solo se habilitar si la evaluacin
de la condicin es verdadera (Ejemplo: CountryId=10).

263
Attributes

Este nodo permite definir cules atributos se desean mostrar en el grid (y para cada atributo, se pueden
personalizar varias propiedades).

Orders
Es posible ofrecer al usuario final varios ordenes posibles para ver el resultado de la consulta (es decir, las
lneas mostrando los datos en el grid). Utilizando el botn derecho del mouse se puede definir un nuevo orden
(su nombre y composicin). Cada orden puede estar compuesto por varios atributos (pudiendo indicar para
cada un de ellos si se desea orden ascendente o descendente). Se presentar un combobox en la pantalla
WorkWith ofreciendo todos los ordenes posibles de seleccionar, para que el usuario final elija uno y los datos
se presenten en el grid ordenados por el mismo.

Filter
Este nodo permite definir condiciones de filtro, para que en el grid se muestren solo los registros que cumplan
con las mismas.

Actions
El nodo Actions permite incorporar acciones propias a la pantalla WorkWith. Es decir, permite agregar botones
(dentro o fuera del grid) que invoquen a los objetos que se indiquen, con sus correspondientes parmetros. Si
bien el nodo Actions no est visible por defecto, estando posicionado en el nodo Selection y presionando el
botn derecho del mouse, se ofrecer la opcin Add Actions que lo agregar. Una vez agregado este nodo,
estando posicionado sobre el mismo y presionando el botn derecho del mouse, se ofrecer la opcin Add
Action que permitir agregar una accin con su nombre de accin, caption, objeto invocado, etc.

El nodo View por su parte, ofrece las propiedades relacionadas a la pantallal View que se generar para la
instancia. Muestra toda la informacin de un registro, que fue seleccionado en el grid del WorkWith (la
informacin del registro es mostrada en una solapa de un tab control, y adems hay una solapa con un grid por
cada tabla directamente subordinada, para mostrar la informacin relacionada).

264
Patterns
Modificando la instancia del Pattern Work With - Ejemplos

1) Agregar un filtro por CustomerName en el tab Customer de la


pantalla View Country.

a) Clic con el botn derecho


sobre el tab Customer

b) Indicar el atributo sobre el cual filtrar,


editando las propiedades (F4).

265
Patterns
Modificando la instancia del Pattern Work With - Ejemplos

(Continuacin)

c) Definir la condicin correspondiente.

266
Patterns
Modificando la instancia del Pattern Work With - Ejemplos

2) Agregar una Accin en a la pantalla Work With Countries que


invoque al proceso de facturacin BillingProcess.

a) Clic con el botn derecho


sobre el nodo Selection

b) Definir la Accin editando sus


propiedades (F4).
Nombre de la accin y
objeto que se invoca.

Botn fuera del grid.

267
Patterns
Modificando la instancia del Pattern Work With - Ejemplos

(Continuacin)

c) Finalmente en ejecucin, se
observa el botn fuera del grid.

268
Patterns
ObjetosgeneradosenlaKB

Los objetos generados por el pattern


pueden verse en la Folder View, bajo la
propia Transaccin.

269
Patterns
Valores por defecto para las propiedades

Propiedades (F4)

El patrn WorkWith adems de generar objetos nuevos, tambin modifica a las Transacciones, para que sean
invocadas por los objetos generados por el pattern, agregndoles regla parm, etc..
Relacionado a esto, cada insancia contiene a la propiedad UpdateTransaction, que ofrece los siguientes
valores:

Do not update: La Transaccin no ser modificada (Web form, reglas y eventos sern mantenidos)
Only rules and events: Solo las reglas y eventos se modificarn, no se modifica el Web form.
Apply WW Style: La primera vez que se aplique el patrn, el comportamiento ser el mismo que si se hubiese
seleccionado el valor Create Default. A partir de la segunda vez que se aplique el patrn, no se modificar la
data area del form de la Transaccin (por si se personaliz con GeneXus y se desea mantener), y s se
modificar el style area, as como los eventos y reglas.
Create default: Reglas, eventos y form de la Transaccin (tanto data area como style area) sern modificados.
En lo que respecta al form, ser como seleccionar la opcin Create default desde GeneXus.

El valor por defecto para esta propiedad es Apply WW Style.

En cuanto a las propiedades AfterInsert, AfterUpdate y AfterDelete, permiten definir el comportamiento luego
de que se inserta, modifica o elimina un registro.

Los valores posibles para cada una de ellas son:


Default
Return to caller
Go to View
Go to Selection

270
Patterns
Pattern Settings

Configuracin de propiedades generales (para todas las instancias)


Preferences \ Patterns

271
Patterns
Dinamismo entre la Transaccin y Patterns

Todos los objetos generados por Patterns estn basados en el


esquema de Defaults de GeneXus. Cada parte de un objeto es
generada como Default.

La implementacin basada en Defaults permite tener dinamismo


entre la Transaccin y el patrn

No es necesario reaplicar el patrn, los cambios se ven


al abrir nuevamente el objeto

El dinamismo se mantiene para todas las partes default del objeto

Opcin Edit / Apply Default del Men para volver al default de


una parte o de todas las partes (All parts)

El dinamismo mencionado se mantiene para todas las partes default de los objetos.

Todos los objetos generados por Patterns estn basados en el esquema de Defaults de GeneXus. Cada parte
(Form, Reglas, Eventos) de cada objeto es generado como Default. Si se modifica alguna parte del objeto, sta
deja de ser Default.

Por ejemplo, si se modifica el Web form de un WW (no queda como default), y se agrega un nuevo atributo a la
TRN, no se va a actualizar automticamente el grid del WW con ese atributo (o sea, no se agregar dicho
atributo).

La implementacin basada en Defaults permite tener dinamismo entre la Transaccin y el patrn

Cambiar propiedades en la definicin del patrn (Pattern setting)


Cambios en la instancia (agregar un nuevo filtro)
Cambios en la Transaccin (agregar un nuevo atributo)

Si se quiere volver al dinamismo, se deber tener nuevamente las partes como default.
Para esto, se debe seleccionar desde el Men Edit / Apply Default (la parte donde se tiene abierto el objeto) o
Apply Default (All parts), lo cual vuelve a default todas las partes que se haban modificado.

272
Patterns
Cmo borrar los objetos generados por Patterns

Seleccionar la instancia, presionar botn derecho / opcin Delete o


presionar la tecla DEL. Aparecer el mensaje:

Al confirmar el mensaje

Se borrarn todos los objetos generados por Patterns asociados a


la Transaccin.
Se borrarn todos las reglas y eventos agregados por Patterns en
la Transaccin.
Se desmarcar la opcin Apply this pattern on save de la
Transaccin.

273