Edición y personalización de la instancia del pattern Work With aplicado a una transacción

Edición y personalización de la instancia del pattern Work With aplicado a una transacción Ya hemos trabajado previamente con el pattern Work With. He

59 downloads 87 Views 690KB Size

Recommend Stories


Marketing aplicado a la Publicidad y a las Relaciones Personales
Publicidad. Relaciones laborales. Marketing. Relaciones personales. Planteamiento de ejercicios

Excel aplicado a la Auditoría, la Contaduría y la Administración
Excel aplicado a la Auditoría, la Contaduría y la Administración En primera instancia puede parecer complicado, si Usted está suscrito (gratis) en nu

El espacio sonoro teatral. Mario Colasessano (Universidad Nacional del Litoral) 1) Una instancia de mimesis, una instancia de reflexión
El espacio sonoro teatral Mario Colasessano (Universidad Nacional del Litoral) 1) Una instancia de mimesis, una instancia de reflexión. Partimos de

Lifecycle of Adaptive Agreements: A Pattern Language
Lifecycle of Adaptive Agreements: A Pattern Language J. Santiago P´erez-Sotelo1, Carlos E. Cuesta1,2 , Holger Billhardt1 , and Sascha Ossowski1 1 2

Story Transcript

Edición y personalización de la instancia del pattern Work With aplicado a una transacción Ya hemos trabajado previamente con el pattern Work With. Hemos visto cómo aplicarlo y cuáles son las funcionalidades que implementa. Vamos a ver ahora algunos ejemplos que nos van a permitir conocer aún más las posibilidades que nos ofrece. Repasemos algunas de las transacciones que tenemos en nuestra aplicación Travel Agency: La transacción Country para registrar los países con sus respectivas ciudades, y la transacción Attraction para registrar las atracciones turísticas.

Hemos aplicado el pattern Work With a la transacción Country y se desea que en la pantalla principal se muestre también la cantidad de atracciones turísticas para cada país. Como ya sabemos, si estamos navegando países, para cada país entonces es posible disparar una fórmula Count que cuente la cantidad de atracciones turísticas que tiene.

Page

Debemos editar la instancia del pattern Work With aplicado a la transacción Country y bajo el nodo Attributes, declarar la variable &Quantity;

1

La pregunta que nos hacemos es la siguiente: ¿Dónde debemos declarar la fórmula para obtener el resultado que deseamos?

Video filmado con GeneXus X Evolution 2 – upgrade 2

En sus propiedades debemos indicar su descripción, y el dominio en el cual se basa su tipo de datos. Es importante destacar que no es posible asignarle directamente un tipo de datos, sino que es necesario basar la definición de la variable en un dominio. Definimos entonces un dominio también de nombre Quantity. Finalmente en la propiedad Load Code, declaramos el código que le asignará valor a dicha variable.

De esta forma, el pattern va a incluir en el evento Load del web panel WWCountry, la asignación a la variable &Quantity de la fórmula Count que acabamos de definir aquí.

Presionemos F5.. Seleccionamos Work With Country, y vemos la nueva columna en el grid con la cantidad de atracciones registradas para cada país. Supongamos ahora que además de visualizar la cantidad de atracciones por país, queremos también agregar una nueva columna que despliegue para cada país un texto u otro, dependiendo de la cantidad de atracciones que tiene: Dirá

2

“Many attractions”, si la cantidad de atracciones es mayor que 3, o “Few attractions”, en cualquier otro caso.

Page

• •

Video filmado con GeneXus X Evolution 2 – upgrade 2

Nuevamente desde la instancia del pattern, definimos ahora una nueva variable &Comment… y declaramos aquí el código correspondiente:

Este código se agregará automáticamente en el evento Load del web panel WWCountry, por lo que al presionar F5 se visualizará esta nueva columna con el texto correspondiente.

Presionemos entonces F5.. Seleccionamos Work With Country, y vemos para cada país el texto correspondiente. Ahora queremos definir un botón en la pantalla WWCountry, que invoque a un listado pdf, o sea a un objeto procedimiento previamente definido. Es así que hemos diseñado el listado AttractionsPerCountry que nos va a permitir ver las atracciones turísticas agrupadas por país. Nuevamente volvemos a editar la instancia del pattern Work With aplicado a la transacción Country, pero esta vez para definir una “acción” .

Video filmado con GeneXus X Evolution 2 – upgrade 2

Page

En las propiedades asociadas a la acción, declaramos el nombre, el caption y el objeto GeneXus al cual invocar, que en nuestro caso corresponde al listado pdf de nombre AttractionsPerCountry.

3

Posicionados en el nodo Selection, hacemos click con el botón derecho del mouse y seleccionamos Add / Actions. De esta forma se crea el nodo Actions. Ahora nos posicionamos sobre esta nuevo nodo, y otra vez hacemos click con el botón derecho del mouse y seleccionamos Add / Action.

El pattern entonces se encargará de generar el evento asociado al botón invocando al objeto declarado. Solo nos resta presionar F5… Seleccionamos Work With Country y vemos el botón generado…. Lo presionamos, y vemos el listado.

Veamos ahora un concepto fundamental a la hora de trabajar con patterns. Una vez aplicado el pattern Work With a una transacción, se establece un “dinamismo”, o sea una sincronización, entre la estructura de la transacción, la instancia del pattern aplicado y los objetos generados.

Estructura de la transacción

Instancia del pattern

Objetós generadós pór el pattern

aplicadó

Esto significa que si agregamos un nuevo atributo en la estructura de la transacción, automáticamente se verá en la instancia del pattern aplicado y automáticamente entonces se agregará en los objetos generados. Por lo tanto, se verá al ejecutar la aplicación. De igual forma, si se elimina un atributo de la estructura de la transacción, automáticamente será eliminado de la instancia del pattern aplicado y se quitará entonces de los objetos GeneXus generados.

Vovamos entonces a nuestra aplicación. Hemos decidido agregar en la estructura de la transacción Country el atributo nuevo CountryFlag de tipo Image para ver también la bandera de cada país. Asi que declaramos este nuevo atributo.

Page

4

Y grabamos los cambios.

Video filmado con GeneXus X Evolution 2 – upgrade 2

Si editamos ahora la instancia del pattern work with aplicado, vemos que el nuevo atributo aparece automáticamente. Esto nos lleva a pensar entonces que automáticamente también se verá en ejecución. Para verificarlo, presionemos F5… Y seleccionamos Wotk With Country Ahora bien. ¿Qué sucede si editamos manualmente los objetos generados por la aplicación del pattern? O sea, qué sucede si por ejemplo abrimos el web panel WWCountry y editamos su form, le agregamos algún control o modificamos algo? 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 aplicarán en la pantalla WWCountry y h abrá que definirlas en forma manual. ¿Se puede recuperar el dinamismo perdido? SI. Veamos un ejemplo… Vamos a editar el web panel WWCountry. Desde la Toolbox, por ejemplo arrastramos un botón. Sabemos entonces que hemos perdido el dinamismo entre la instancia del pattern y este objeto generado. Para recuperarlo, teniendo abierto este web panel WWCountry, vamos al menú Edit y selccionamos Apply Default / all parts. En este caso entonces estamos recuperando el dinamismo entre la instancia y el objeto generado, para todas las partes. Pero el dinamismo se pierde y se recupera por partes. Si tal como acabamos de mencionar en nuestro ejemplo, se agrega un botón 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.

Page

5

Al momento entonces de decidir recuperar el dinamismo, se puede elegir recuperarlo todo (para esto elegimos la opción Apply Default /All parts), o solamente en lo relativo a la parte del objeto que se tiene abierta, en este caso el web form

Video filmado con GeneXus X Evolution 2 – upgrade 2

Es importante tener presente que cuando se decide recuperar el dinamismo, el objeto se vuelve a generar a partir de la instancia y entonces se pierden todos los cambios que se realizaron manualmente.

Bien. Veamos ahora dónde se encuentran las definiciones generales que se aplican automáticamente para cada patrón. Es decir, todas las inicializaciones que se configuran por defecto para los mismos. Seleccionando la vista Preferences, bajo el nodo Patterns, se cuenta con configuraciones de valores por defecto para las propiedades de cada patrón. Con estos valores por defecto se inicializan las propiedades al momento de crear las instancias. Es por esto que si volvemos a la instancia del pattern aplicado a la transacción Coauntry, vemos que para algunas propiedades aparece el valor “Default”. Y esto significa que la propiedad ha heredado el valor por defecto de la configuración general del patrón. Concluimos entonces que es posible modificar localmente los valores de las propiedades para una instancia en particular, o bien aquí a nivel general si deseamos modificar la inicialización genérica.

Page

Supongamos que queremos eliminar de la pantalla WWCountry la posibilidad de ingresar nuevos países.

6

Veamos un ejemplo…

Video filmado con GeneXus X Evolution 2 – upgrade 2

Debemos editar la instancia del pattern asociada a esta transacción Country.. y para el nodo que ofrece los modos de ejecución de la transacción, en la propiedad correspondiente al modo “insert”, seleccionamos el valor “False”.

Si en cambio quisiéramos configurar que para todos los Work With por defecto no se ofrezca la posibilidad de realizar ingresos, la configuración debemos hacerla a nivel general desde aquí. Y de esta forma todas las instancias ya se van a inicializar con la propiedad correspondiente al modo Insert en el valor False. Para finalizar, veremos cómo eliminar la aplicación del pattern Work With a una transacción. Debemos borrar los objetos generados por el pattern. Así que desde la ventana Folder View, y en este caso bajo la transacción, seleccionamos Work With Country y presionamos Delete.

Page

7

Esto provocará que automáticamente se eliminen todos los objetos generados por la aplicación del pattern Work With, y además se desmarque la casiila “Apply this pattern on Save”… la cual va a permitir que en el futuro se pueda volver a aplicar.

Video filmado con GeneXus X Evolution 2 – upgrade 2

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.