You are on page 1of 10

Supongamos que una vez aplicado el pattern Work With a la transaccin Country,

se desea que en la pantalla principal se muestre tambin la cantidad de


atracciones tursticas para cada pas.
Considerando el diseo de transacciones que tenemos, si estamos navegando
pases, para cada pas es posible disparar una frmula Count que cuente la
cantidad de atracciones tursticas que tiene.
La pregunta que nos hacemos es: Dnde debemos declarar la frmula para
obtener el resultado que deseamos?

Debemos editar la instancia del pattern Work With aplicado a la transaccin


Country y bajo el nodo Attributes, agregar (y definir) haciendo uso del botn
derecho del mouse la variable &Quantity; en sus propiedades debemos indicar su
descripcin, el dominio en el cual se basa su tipo de datos (no es posible asignarle
directamente un tipo de datos sino un dominio) y el cdigo que le asigna valor a
dicha variable hay que ingresarlo en la propiedad: Load Code.
De esta forma, el pattern incluir en el evento Load del web panel WWCountry, la
sentencia definida en la propiedad Load Code asociada a la variable.
Al presionar F5, se visualizar la columna en el grid, con la cantidad de atracciones
para cada pas.

Supongamos ahora que adems de visualizar la cantidad de atracciones por pas,


queremos agregar otra columna ms que despliegue para cada pas un texto u otro,
dependiendo de la cantidad de atracciones que tiene:

Many attractions, si la cantidad de atracciones es mayor que 3.


Few attractions, en otro caso.

Nuevamente desde la instancia del pattern, definimos una nueva variable &Comment,
y en su propiedad Load Code declaramos el cdigo correspondiente.
El cdigo se agregar automticamente en el evento Load del web panel WWCountry,
por lo que al presionar F5 se visualizar la nueva columna con el texto
correspondiente.

Ahora queremos definir un botn en la pantalla WWCountry, que invoque un listado pdf
(objeto procedimiento) previamente definido.
Para eso nuevamente volvemos a editar la instancia del pattern, pero esta vez para
definir una accin (Action).
Posicionados en el nodo Selection, hay que presionar el botn derecho del mouse y
seleccionar Add / Actions. De esta forma se crear el nodo Actions. Ahora
posicionados en el nodo Actions, debemos nuevamente hacer clic con el botn
derecho del mouse y elegir Add / Action.
En las propiedades asociadas a la accin, declaramos el nombre, caption y el nombre
del objeto GeneXus al cual invocar.
El pattern se encargar de generar el evento asociado al botn invocando al objeto
declarado.
Solo restar presionar F5

Una vez que se aplica el pattern Work With a una transaccin, se establece un
dinamismo (sincronizacin) entre la estructura de la transaccin, la instancia del
pattern aplicado y los objetos generados.
Esto significa que si agregamos un nuevo atributo en la estructura de la transaccin,
automticamente se ver en la instancia del pattern aplicado y automticamente
entonces se agregar en los objetos generados por el pattern; por lo tanto, se ver al
ejecutar la aplicacin.
De igual forma, si se elimina un atributo de la estructura de la transaccin,
automticamente ser eliminado de la instancia del pattern aplicado y se quitar de los
objetos GeneXus generados.

Si por ejemplo abrimos el web panel WWCountry (generado automticamente por


haber aplicado el pattern Work With a la transaccin Country) y editamos su form (le
agregamos algn control o modificamos algo), entonces el dinamismo entre la
instancia y el objeto generado se pierde.
Esto significa que las definiciones que luego se puedan hacer en la instancia del
pattern, ya no se aplicarn a la pantalla WWCountry. Habr que definirlas en forma
manual.
Se puede recuperar el dinamismo perdido?
SI.
Para ello, teniendo abierto el web panel WWCountry, hay que seleccionar en el men
de GeneXus: Edit / Apply default (all parts).
En este caso estaramos recuperando el dinamismo entre la instancia y el objeto
generado, para todas sus partes. El dinamismo se pierde y se recupera por partes. Si
tal como mencionamos en nuestro ejemplo, se agreg un botn manualmente en el
form de WWCoutnry, pero no se edit nada en sus condiciones ni eventos, entonces el
dinamismo solamente se cort en lo relacionado al form, pero se mantiene en las
otras partes.
Al momento de decidir recuperar el dinamismo, se puede elegir recuperarlo todo (all
parts), o solamente en lo relativo a la parte del objeto que se tiene abierta.
Nota: Es importante tener presente que cuando se decide recuperar el dinamismo, el
objeto se vuelve a generar a partir de la instancia y se pierden todos los cambios que
se realizaron manualmenete en el mismo.

Seleccionando Preferences en la ventana Knowledge Base Navigator, bajo el nodo


Patterns, se cuenta con configuraciones de valores por defecto para las
propiedades de cada patrn. Con estos valores por defecto se inicializan las
propiedades al momento de crear instancias.
Es por esto que ud. podr visualizar para algunas propiedades de las instancias el
valor Default. Esto significa que la propiedad ha heredado el valor por defecto de
la configuracin general del patrn.
Es posible cambiar localmente los valores para las propiedades para una instancia
en particular, o bien a nivel general aqu.

Queremos eliminar de la pantalla WWCountry la posibilidad de ingresar nuevos pases.


As que debemos editar la instancia del pattern aplicado a la transaccin Country. Para
el nodo que ofrece los modos de ejecucin de la transaccin, editamos sus propiedades
y en la propiedad correspondiente al modo insert, elegimos el valor False.

Para eliminar la aplicacin del pattern, hay que borrar en la ventana Folder View,
bajo la transaccin, los objetos generados. Esto provoca que automticamente se
desmarque la casiila Apply this pattern on Save (y se podr volver a aplicar).

You might also like