Beta 5: 24/03/2016

Nuevas Funcionalidades

  • Nueva propiedad "SelectedColumnTitle" y SelectedColumnWidth" en el nodo Layout para permitir customizar el título y el ancho de la columna asociada a la variable &Selected generada por el pattern PXWorkWith en forma automática.

  • Nueva propiedad"SwitchTabsBehaviour" en nodo View y en Preferencias del pattern PXWorkWith bajo el nodo Form. Esta propiedad permite revertir el nuevo ejecto de cambio de Tabs del View sin realizar links. Encontramos en algunas KBs de clientes que la nueva funcionalidad gueneró malos comportamientos y como WorkArround hasta su solución se puede revertir el efecto.

  • Con la liberación de la Beta 4 la funcionalidad del efecto del cambio de Tabs se realizó conjuntamente con el soporte del "Web User Experience" en "Smooth" con esa propiedad activada en "Smooth" se encontró un Bug de GeneXus que no se ejecuta el Evento Load pese a que se solicita el Form.Refresh(). Esto implicó que cambiemos la lógica de generación y mudar lo que estaba en el evento Load para el Evento Refresh.

  • Es claro que desde el evento Load uno normalmente tiene los atributos instanciados y desde el Refresh no. Para eso agregamos un For Each instanciando los parámetros del View para instanciar tabla base "a mano" y llamar a la subrutina de carga de Tabs dentro de ese For Each. Este WorkArround no es una solución definitiva ya que, a diferencia del Evento Load, el utilizar un For Each y llamar a una Subrutina no instancia atributos de la tabla extendida que estén siendo utilizados en la subrutina mientras que en el Evento Load si se instancian.

  • Es por este motivo que para los casos en que no se decidan cambiar para Smooth pero sí quieran cambiar el efecto de transición de los tabs es que agregamos una tercer opción.

  • Las opciones finalmente definidas son:

    • With link to itself: Sería el comportamiento que venimos teniendo hasta las versiones anteriores a la Beta 4.

    • With click event: Sería el comportamiento para lograr el efecto de transición de los tabs y manteniendo el uso del Evento Load.

    • With click event and Smooth compatibility: Sería el comportamiento para lograr el nuevo efecto de transición de los tabs y que funcione con Smooth. Esto debería ser una opción temporal hasta que GeneXus resuelva el incidente de que no está ejecutando el Evento Load al realizar un Form.Refresh().

El valor por defecto quedó en: With click event.

  • La Transformación de Instancia de "Transaction in Tab General of View" permite customizar el comportamiento de la propiedad After Trn. Hasta la beta anterior esta funcionalidad la forzaba a "Call Level Controllers".

  • Soporte de FreeStyleGridTemplate para la representación de la grilla y los botones de paginación relacionados con la misma. Ahora la presentación de dichos controles no es a fuerza sino que se basa en un nuevo Template. En los Designs dejamos un ejemplo del PXToolsFreeStyleGridTemplate que mantiene el estilo que se definía anteriormente.

  • Soporte de Show Paging Status en Free Style Grid del PXComposer.

  • Nuevo método BlueToothPrint en ExternalObject PXToolsSD compatible con la plataforma Android: Este método permite enviar texto a una impresora conectada por Bluetooth al dispositivo. La primera vez que se ejecuta este método se levantará una ventana popup que solicitará indicar cual (de los dispositivos conectados al Bluetooth) será la impresora a enviar la información. A partir de ese momento no se volverá a solicitar esa información hasta que se cierre la aplicación y se vuelva a abrir.

  • Nuevo módulo PrinterMarkupLanguage: Este módulo se encarga de definir un formato común de impresión de tiquets para impresoras portátiles. Para esto se definió un estandard que llamamos Printer Markup Language donde basado en XML define los posibles elementos que podrán utilizarse en la impresión de in tiquet.

  • Nuevas APIs relativas a manipulación de clases: La incorporación del soporte de smooth habilita a poder realizar cambios de clases que terminan generando ocultamientos, visualizaciones, movimientos y transiciones de elementos en el HTML. Estas funcionalidades están relacionadas con el soporte de múltiples clases por objeto separadas por espacios. El propio editor de propiedades de GeneXus permite ahora incluir más de una clase. Las APIs facilitan acciones como ser:

    • AddClass: Agrega una clase.

    • RemoveClass: Quita una clase.

    • ContainClass: Verifica si tiene una clase.

    • ReplaceClass: Reemplaza una clase por otra.

    • ToogleClass: Intercambia agregando o quitando una clase.

    • ToogleClasses: Intercambia entre dos clases.

    • RemoveHiddenClasses: Elimina las clases de bootstrap de invisibilidad.

    • ToogleShowHideClasses: Intercambia entre dos clases y si no hay ninguna de las dos comienza agregando una de ellas y elimina las clases de bootstrap de invisibilidad con el RemoveHiddenClasses.

    • RemoveOffsetClasses: Elimina las clases de bootstrap de offsets.

    • ToogleClassRemoveOffset: Intercambia con el ToogleClass y elimina las clases de bootstrap de offsets con el RemoveOffsetClasses.

  • Nuevos métodos soportados por el UserControl PXToolsJavascripts:

    • Métodos de Posicionamiento (JQueryUI)

      • Position: Permite ubicar un elemento del HTML al lado de otro elemento.

      • ParentPosition: Permite ubicar el padre de un elemento del HTML al lado de otro elemento.

      • Los parámetros de estos dos métodos son:

        • Id del elemento HTML que se quiere move de lugar.

        • Vértice del elemento que será acoplado a otro elemento. Se indica con un string con la posición horizontal y la posición vertical con un espacio en el medio. Ej: "left top", "right bottom".

        • Vértice del elemento que se utilizará para acoplar.

        • Id del elemento que se utilizará para acoplar.

        • Acción correctora cuando el acoplamiento genera que el elmento a mover quede fuera de la pantalla. Se indica con un string con una acción correctora horizontal y la acción correctora vertical. La acción correctora puede ser "fit" (se moverá hasta dejar el elemento completamente visible), "flip" se utilizará el vértice opuesto de ambos elementos para reposiionar el elemento o "none" para no tomar acción.

        • Ej: "fit none".

        • Por mayor información:

      • Métodos y Eventos relacionados a acciones del Mouse (JQuery)

        • OutsideEvent: Activa la escucha de cualquier evento del Mouse fuera de un elemento del HTML.

        • ParentOutsideEvent: Activa la escucha de cualquier evento del Mouse fuera del padre de un elemento del HTML.

        • OnOutsideClick: Evento que se ejecuta cuando se clikea fuera del elemento indicado en los métodos anteriores.

      • Cambiar clases de elementos desconocidos x GeneXus (JQuery)

        • AddClass: Agrega una clase a un elemento del HTML.

        • RemoveClass: Quita una clase de un elemento del HTML.

  • Nueva preferencia "Filters Description Position" en nodo "Form" de las preferencias del PXWorkWith. Se habilitó para contemplar casos donde los filtros pasa a mostrarse en una región a la derecha de la grilla de forma de no tener que realizar el cambio de la propiedad "Description Position" en cada atributo o variable de los flitros.

  • Generación de nombre en todas las tablas generadas en PXWorkWith, PXParameterRequest, PXComposer y PXOAV. El Upgrade 7 de GeneXus contendrá nuevos controles y uno de ellos es no soportar controles de pantalla sin identificador. Para no tener problema con esta nueva versión es que generamos identificadores a todas las tablas generadas en forma automática.

  • Soporte de todas las acciones del nodo Modes del PXWorkWith (Insert, Update, Delete, Display, Export y Chart) para que puedan ser definidas como Imagen o como Botones. Se adicionó la propiedad ControlType en varias de las "Standard Actions" definidas en las preferencias del PXWorkWith para poder definir el tipo de control a cada una de estas acciones en foma independiente.

  • Minimizaciones de fuentes javascripts. A partir de esta versión estamos minimizando todos los fuentes Javascripts generados por PXTools.

Errores Corregidos

  • Conditional Call en nodos Controller del PXWorkWith no estaba realizando la referencia a objetos correctamente cuando se utilizaba Link Type "PXInstance".

  • Cuando se habilita la funcionalidad "Transaction in Tab General of View" no se estaban tomando en cuenta las condiciones del nodo Modes y tampoco se estaba tomando en cuenta si alguno de los modos estaba deshabilitado.

  • Controlador de Transacción no se generaba si la Transacción tenía el valor AfterTrn en "Do Nothing" y hay un nodo Controller programado en la instancia. El solo hecho de existir un nodo Controller ameritará generar el objeto independientemente de que esté programado en la Transacción que lo llame o no. Se hicieron algunos arreglos adicionales a los Eventos que estaban generados incorrectamente.

  • Se permite definir valores de una combo utilizando comas y punto y comas.

  • Cuando un atributo de una grilla tiene la propiedad "Allow Order" en False se deshabilita de las opciones de la grilla de la GXUI la opción de order ascendente y descendente.

  • El diseño Green le faltaba en el Theme PXTools un par de Custom Clases que hacía que las grillas en las transacciones no se vean.

  • En los eventos del objeto generado asociado al nodo View del PXWorkWith no se estaba haciendo el control visualización de las pestañas en función de la seguridad en forma automática.