|
|
|
| | Características Principales | | |
|
El patrón OAV se diseño para facilitar la aplicación del Modelo OAV. OAV (Object Attribute Values) fue creado en los años 70 para poder declarar atributos en tiempo de ejecución.
Es el último patrón desarrollado por PuntoExe y se le han implementado mejoras continuas que lo llevan hoy a ser la mejor solucion disponible en el mercado para implementar el Modelo OAV.
|
|
|
|
| | Soporte de Múltiples Tipos de Datos | | |
|
Los distintos tipos de datos son: Character, Numeric, Date, Memo y Blob.
|
|
|
|
| | Soporte de Múltiples Controles de Edición | | |
|
Se dan soporte a los siguientes Controles de Edición: EditBox, CheckBox, Dynamic ComboBox, Dynamic RadioButtons, Dynamic CheckBox. Los controles dinámicos se cargan en función de Valores que son declarados también en tiempo de ejecución, subordinados al Atributo relacionado. El Control Dynamic CheckBox tiene la particularidad de que le es posible asociar múltiples valores a un Atributo.
|
|
|
|
| | Posibilidad de declarar Atributos de una entidad en función de otra Entidad Intermedia | | |
|
Con este patrón es posible declarar atributos genéricos asociados a una Entidad o poder determinar que la declaración de los atributos dependerá de una Transacción Intermedia (típicamente los "Tipo de...").
Para el primer caso están desarrolladas ciertas APIs que permiten determinar los atributos asociados a una Entidad declarada a través de una Tabla que contiene a todas las Transacciones GeneXus de la KB. Para el segundo caso la declaración de atributos dependerá de la llamada Transacción Intermedia y los objetos encargados de dicha declaración serán generados automáticamente por el patrón en la instancia correspondiente. El Patrón PXOAV generará a las transacciones necesarias y el soporte de esta funcionalidad para la declaración, conjuntamente con el patrón PXWorkWith (patrón idóneo para implementar tal funcionalidad ya que fue diseñado con estos fines).
|
|
|
|
| | Reutilización de un Atributo en más de una Entidad | | |
|
Esta característica es una de las diferencias principales respecto al pattern OAV de Artech. Al igual que el concepto de Atributo en GeneXus se consideró que el Atributo OAV debía ser una Entidad Fuerte permitiendo así el reutilizar un Atrubuto OAV entre distintas Entidades del Sistema.
Esto ha sido escencial para poder considerar el pattern OAV, no solo como una funcionalidad auxiliar, sino comenzar a considerarlo como parte importante de la lógica de un sistema. En el XIX Encuentro Internacional GeneXus en Montevideo se habla específicamente de los distintos escenarios de aplicación del OAV en un desarrollo y de como se ha potenciado su utlización para permitir generar flexibilidad, adaptabilidad y dinamismo en sistemas a los que se aplica.
|
|
|
|
| | Permitir indicar Control de Intergridad Referencial | | |
|
A nivel del Atributo OAV es posible indicar si se quiere Integridad Referencial respecto a los valores predefinidos del mismo. Esta propiedad se transfiere a GeneXus. Esto requere generar el almacenamiento de los valores en distintas estucturas de Datos para poder dar soporte a esta característtica de forma opcional según las características de la aplicación de que se trate.
Específicamente por cada OAV aplicado se da soporte a dos Transacciones subordinadas a la Entidad principal: una correspondiente a la Transacción que almacenará valores que tienen Integridad Referencial contra la tabla de Valores de Atributos y otra Transacción que simplemente almacena valores sin Integridad Referencial.
|
|
|
|
| | Soporte de Atributos Fórmulas | | |
|
A partir de la versión de PXTools for X y PXTools for X Evolution 1 se incorporó el soporte de Atributos Fórmula. Esta característica es válida para Atributos OAV cuyo Tipo de Datos sea Numérico o Character.
Para los Atributos Numéricos se aprovechó el Tipo de Dato "Expression" que es una nueva funcionalidad soportada a partir de la versión X de GeneXus.
|
|
|
|
| | Soporte de Fórmulas Condicionales | | |
|
Esta fucnionalidad es similar a la soportada por GeneXus. Se soportan múltiples condiciones de evaluación y la existencia de la palabra "Otherwise" para determinar la evaluación de la fórmula por defecto.
|