Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Nuevas Funcionalidades
• #49928: Se implementa propiedad Notification Settings Panel para generadores Android y Apple
• #49862: Se lee el appsettings.json del directorio donde está el ejecutable en Net Core
• #47325: Nueva propiedad JSON Collection Serialization para Api object con SDTs collections
• #49685: Nueva implementación para httpclient brinda actualización tecnológica y mayor performance
Se agregó una nueva implementación asociada al tipo de dato HTTPClient. Esta nueva
implementación es una actualización tecnológica, se basa en bibliotecas externas.
Asociada a esta implementación, se agregaron 2 propiedades nuevas: Maximum pool size
per route property, y Maximm pool size property
El protocolo TLS es más seguro que SSL, y por ello se implementó que sea el predeterminad
o.
Es decir que en una conexión segura de SMTP, primero se intenta establecer la misma
usando TLS, y si falla, por SSL.
Cuando se está en el diálogo del Import from Sketch y se selecciona la opción Import
as Webpanels ahora el diálogo oculta el preview de los elementos a importar y se recarga
para tener feedback de que está procesando nuevamente el archivo a importar.
Se hicieron cambios en el mecanismo de upload que son muy importantes para mejorar
la seguridad de los sistemas.
Más información en: https://wiki.genexus.com/commwiki/wiki?48242,Security+improvements+i
n+upload+mechanisms
• #49565: Se agrega soporte para la propiedad Back Button Image, de la clase Applications
Bars, en el generador Android
Se agrega soporte para la propiedad Back Button Image, de la clase applications Bars
del tema para el generador Android, lo cual permite cambiar el aspecto del boton Back
y que se pueda mostrar en una aplicación generada.
Es posible hacer uso de File.Choose para elegir algún recurso para VideoOperations,
con esto se homologa el comportamiento con Apple.
• #49543: Generador .NET (C#) requiere como mínimo .NET Framework 4.6.2
Las aplicaciones generadas por este generador requerían framework 4.6 como mínimo,
y ahora comienzan a requerir 4.6.2 como mínimo.
Esto es conveniente por razones de seguridad. La versión 4.6 de hecho terminó su
ciclo de vida.
Como consecuencia, dejan de funcionar las aplicaciones generadas en dispositivos
con Windows Vista SP2, Windows Server 2008 SP2 y Windows 8.
Hoy los tipos de datos Property y Properties solo se soportan en código offline. Agregar
soporte en eventos de usuario.
• #49524: Se agrega soporte para el metodo Succes, Fail y GetMessagges para los business components
para el generador Android
Para el generador Android se agrega soporte para el metodo Succes, Fail y GetMessagges
de los buissnes components
Cuando una app se invoca desde el Knowledge Base Navigator, las Custom Fonts utilizadas
en dicha aplicación, no eran descargadas. Ahora se visualizan correctamente.
• #49348: Se agrega la posibilidad de ocultar mensajes al usuario al hacer un update por metadata
de una app SD
Cuando se hace un update de una app mobile por minor version, es decir, sin subir
nuevos binarios al store, hasta la fecha se mostraban dos mensajes al usuario final: "Up
dating application" y al finalizar "Application Updated".
Se implementa una forma para poder quitar dichos mensajes y no mostrarlos al usuario
final.
Consideraciones de compatibilidad
• #49710: SDT de output en API Object retorna JSON wrapped con el nombre del SDT
El formato JSON de salida de un servicio es esperable que cumpla ciertos criterios,
entre ellos el de simplicidad, es decir, que la estructura sea la más simple posible.
El protocolo TLS es más seguro que SSL, y por ello se implementó que sea el predeterminad
o.
Es decir que en una conexión segura de SMTP, primero se intenta establecer la misma
usando TLS, y si falla, por SSL.
Se hicieron cambios en el mecanismo de upload que son muy importantes para mejorar
la seguridad de los sistemas.
Más información en: https://wiki.genexus.com/commwiki/wiki?48242,Security+improvements+i
n+upload+mechanisms
• #49145: Propiedad JSON Null Serialization de SDTs no se está considerando en todos los casos,
en el output de un servicio
Se tiene un objeto expuesto como servicio (Procedure, Data Provider REST o API Object)
que retorna un SDT. Todos los elementos del SDT, así como el propio SDT, tienen la propiedad
JSON Null Serialization con el valor No Property, de forma tal que el Json resultado
no incluya los elemento vacíos (o en su defecto todo el SDT)
El problema es que en algunos casos vienen elementos empty no esperados.
• #49543: Generador .NET (C#) requiere como mínimo .NET Framework 4.6.2
Las aplicaciones generadas por este generador requerían framework 4.6 como mínimo,
y ahora comienzan a requerir 4.6.2 como mínimo.
Esto es conveniente por razones de seguridad. La versión 4.6 de hecho terminó su
ciclo de vida.
Como consecuencia, dejan de funcionar las aplicaciones generadas en dispositivos
con Windows Vista SP2, Windows Server 2008 SP2 y Windows 8.
• #49486: Leer Blobs guardados en versiones anteriores trae problemas con la V17U3 con PostgreSQL
Una aplicación generada con GeneXus 17 Upgrade 3 contra Postgresql no puede leer blobs
almacenados con versiones anteriores.
Hasta la versión anterior se incluía el driver npgsql 1.0.0.0 que guardaba los binarios
en formato escaped siempre.
La versión más nueva ya no lo hace, y al leer tampoco tiene en cuenta que vengan escapeados.
Errores corregidos
• #44922: Cambiar valor de un SDT en pantalla, cambia el formato de un valor DateTime que
el mismo tenga.
Si se tiene un SDT en pantalla y se ejecuta un Refresh del lado del cliente, el formato
de un DateTime cambia.
• #49758: iOS - Login panel de GAM no se ve full screen al tener Target Size = Large
En iOS, al configurar la propiedad "Target Size = Large" del Form del panel
Login de GAM, en ejecución no es tenido en cuenta y el mismo se ve como modal, no full
screen
• #49588: Error DOCTYPE is disallowed... al invocar web service SOAP con Java
• #49710: SDT de output en API Object retorna JSON wrapped con el nombre del SDT
• #49716: Import from Sketch da warning: Using a placeholder image because 'Img001_phone_call'
was not found
• #49717: Import From Sketch genera margen grande al instanciar un símbolo y anclarlo
Se tienen dos datetimes con precision hasta milisegundos. La funcion TDIFF NO está
tomando en cuenta los milisegundos
• #49687: Excepción trabajando con diálogo Work With Attributes, en versiones Japonesas y
Chinas
Podía dar una excepción en algunos casos al trabajar con el IDE, en particular con
el editor de Work With Attributes, en versiones Chinese y Japanese Editions.
• #49693: Evento Default Action del Grid se dispara siempre al seleccionar un pin de un mapa
• #49683: AppCrash en w3wp al ejecutar Procedimiento que accede a tabla con muchos atributos
El ejecutar un Procedimiento que tiene varios For Eachs, pero principalmente que acceden
a tablas con muchos (cientos) atributos, se puede presentar un problema de desbordamiento
de memoria del proceso IIS (w3wp.exe). Este problema se puede presentar a partir de GeneXus
17 Upgrade 1.
Cuando Cache Location no se configura, daba error de conexión; ahora se corrigió este
comportamiento haciendo que en ese caso se asuma localhost.
Se producen errores HTTP 500 al consumir servicios de API Objects generados en Java
y deployados, que tienen parámetros de salida SDT collections.
• #49451: No se ejecuta evento tap con la propiedad Enable Header Row Pattern habilitada
• #49115: Al hacer export desde Sketch, el plugin no incluye las referencias a las fonts
Al usar el método chooseFile del External Object Files en un IPAD, se obtiene un Crash
en la aplicación
• #49665: No funciona envío de mail con Java TLS con puerto 587
Con Java y tipo de datos SMTPSession, falla el envío desde Gmail, por ejemplo utilizando
el puerto 587. Dan errores del tipo : Can't connect to host - Could not connect to SMTP
host: smtp.gmail.com, port: 587
• #49666: Datetimes en aplicación web se visualizan con valores distintos en diferentes navegadores.
Se tiene una aplicación web que despliega en pantalla valores DateTime. Los mismos
se ven con valores diferentes en distintos navegadores.
• #49648: Importación de propiedades Width y Height de botones web con el Import from Sketch
no queda configurado en el Class
Los valores de las propiedades Width y Height para los botones no están quedando configur
ados en las clases del Theme o Design System Object, cuando se importan Web Panels con
el Sketch Import.
• #49649: Shape exportada como imagen desde Sketch no es considerada como background-image
Al definir en Sketch un shape como background de un layer (es decir, ocupando el 100%
del contenedor) y marcar ese shape como exportable, GeneXus no configura la propiedad
background-image en el Theme.
• #49654: Fuentes en formato .ttc, .otc o .woff no son importadas usando Import From Sketch
Las fuentes en formato .ttc, .otc o .woff no son importadas como objetos File en la
base de conocimeintos durante el proceso de Import From Sketch y tampoco se asocian como
Font en el Theme.
Al importar un sketch que contiene un text-layer inferido como numérico con decimales
y separador de millar (p.e. 1,542.87) se produce el error:
Error validating formula expression: '1,542.87'
* Invalid expression after value: expecting 'if' condition.
* Supported grammar:<value> IF <condition>
• #49657: Crash en el IDE al abrir una revisión de un objeto que contiene stencils
• #49639: Demora en operación de update cuando se debe ejecutar merge en objeto complejo
En algunos casos se puede dar que al intentar ejecutar un update de un objeto que
además fue modificado en GeneXus Server, cuando se intenta ejecutar el merge, la operación
demore mucho tiempo (horas) en objetos complejos (cuando el objeto tiene varios layouts
por ej.).
• #49643: Error al abrir kb - An item with the same key has already been added
Se presenta un error del tipo An item with the same key has already been added al
abrir una kb
Se tiene un tipo de datos Geography dentro de un control Grid de tipo Maps. Se carga
en e levento load con lineas puntos y poligonos .
En ejecucion solo se visualizan los puntos
Al consumir una BAPI desde GeneXus donde alguno de los campos de la response es INT
o LONG en un ambiente Java, se genera el siguiente error en el log del server
java.lang.NumberFormatException: For input string
• #49605: Error al llamar a Store Procedure - 42883: No existe la función <function name>
• #49613: SecurityScanner - Error "An item with the same key has already been added" al seleccionar
Scan Object with References
SecurityScanner - Exception "An item with the same key has already been added"
al seleccionar Scan Object with References
• #49621: Error 403 Forbidden en web panel con grid y actualización del Grid.Rows en el refresh
• #49465: No se confirma una transacción si antes dio un error en una regla asociada a variable
y tiene una regular expression
• #49482: Null Exception al ejecutar debugger en Java y Encrypt URL parameters con Dates
quot; habilitada, en ciertos casos se detalla el error:
java.lang.NullPointerException
• #49606: Desfase en los elementos mostrados por MatrixGrid cuando Type = Discrete en plataforma
Apple
• #49602: No funciona evento enter disparado dede un teclado externo, generador Android
Se tiene una aplicacion que tiene pogramado el evento enter de un campo Atributo/Variable
, al dispositivo se tiene conectado un teclado exterior que cuenta con teclado numerico,
se intenta disparar el evento enter utilizando la tecla Enter del teclado numerico pero
el evento enter no es disparado.
• #49595: Isnull y IsEmpty no responden correctamente en algunos casos cuando se tiene nulls
in form= blank as null
Cuando se tiene Isnull o IsEmpty y se tiene nulls in form= blank as null, segun se
tenga 0 o vacio en el campo los metodos retornan resultados incorrectos.
• #49589: Chatbot - Cuando el Ask Messages está vacío, el mensaje predeterminado difiere para
cada proveedor
Se llama al metodo CalculateDirection del Maps External object para caluclar el camino
entre dos puntos.
Con el generador Java se retorna la geoline del camino y la informacion de velocidad
por ejemplo, pero no la distancia
• #49583: Demora en ejecutar bring changes desde GeneXus Server en algunos casos
En algunos casos sucede que cuando se ejecuta un bring changes entre versiones de
GXserver, se nota una demora en la ejecución de esa operación.
Esto sucede cuando el GXserver no está instalado en la misma máquina donde está instalad
o GX (GXserver online).
Aplica a: Development Environment
• #49584: Error: 'An error occurred while trying to obtain the authentication token.' al querer
usar GXserver sin TLS 1.0 o 1.1
• #47300: Ejecución de data provider rest con parámetros con mayúsculas no devuelve información
en .NET Core
Se tiene una aplicación .NET Core con un data provider definido como rest.
El data provider recibe un parámetro que tiene mayúsculas. Al ejecutarlo no devuelve
información.
• #49202: No se aplica el tema de bootstrap a los radio button cuando estan deshabilitados
A partir de Gx15 los radio buttons usan un diseño de bootstrap con botones. En Gx17
U2 cuando están deshabilitados están mostrando el diseño anterior.
Aplica a: .NET Generator, Java Generator, Development Environment, Gen. .NET Core
• #41467: Value Range o Regular Expression configurado en item de SDT no se toma en cuenta
en ejecución
Se tiene un SDT con varios items, a alguno de los items se les configura la propiedad
Value Range o Regular Expression, para controlar el
valor ingresado.
En ejecución, no se está tomando en cuenta la propiedad Value Range o Regular Expression
y se permite ingresar cualquier valor en el item del SDT.
Aplica a: Development Environment
• #49575: Error NullReferenceException al filtrar Grid que contiene una variable con Control
Type combo-box o list-box
Al filtrar un grid que incluye una variable con Control Type Combo-Box o List-Box,
se presenta un NullReferenceException.
• #49578: For Each Unique que actualiza tabla da error con Postgresql y Oracle
Un For each que utiliza la cláusula Unique y además hace un update en la tabla, causa
un error en tiempo de ejecución (expresión no permitida), tanto en Oracle como Postrgesql.
Sucede en algunos casos donde se tiene un suggest en una Foreign Key que si bien el
dato se sugiere correctamente no funciona el autocomplete.
• #49557: Evento de User Control Object asociado a evento DOM está considerando el casing
en su definición
No funciona un evento de un User Control object debido al casing con el que fue definido.
• #49559: Queryviewer - Error en el archivo xlsx exportado si los valores en los filtros tienen
caracteres especiales
Se tiene un query viewer pivot table con una dimensión en los filtros, un valor de
esa dimensión incluye un carácter especial (por ejemplo &, <, >, etc)
En ejecución al abrir el xlsx exportado muestra un mensaje de formato inválido y
no se dibuja la pivot.
• #49560: Error al importar archivo .sketch: "Input string '0.9707600770738546' is not a valid
integer"
• #40283: Redis free-quota limit on '6000 requests per hour' has been reached
Al utilizar Redis como cache provider en ciertos casos puede dar error por temas de
licenciamiento.
• #49145: Propiedad JSON Null Serialization de SDTs no se está considerando en todos los casos,
en el output de un servicio
Se tiene un objeto expuesto como servicio (Procedure, Data Provider REST o API Object)
que retorna un SDT. Todos los elementos del SDT, así como el propio SDT, tienen la propiedad
JSON Null Serialization con el valor No Property, de forma tal que el Json resultado
no incluya los elemento vacíos (o en su defecto todo el SDT)
El problema es que en algunos casos vienen elementos empty no esperados.
El problema se da si hay varios grid y en los eventos está el Grid.Refresh antes del
Grid.Load.
• #49547: Rest API Documentation Generation Failed al ejecutar Build with this only
Se tiene un Objeto API y ejecuta "Build with this only", en algunos casos
se detalla el error:
Rest API Documentation Generation Failed
• #49508: Se sobrepone tabla de propiedad Option for Individual Fields del Grid al tener una
tabla en la primera fila - Apple
Al combinar la propiedad Option for Individual Fields = true del Grid-Search teniendo
una tabla en la primera fila del Panel, se sobrepone la tabla de la propiedad visualizando
de forma incorrecta el Search.
• #49430: Object reference not set al ejecutar tarea Msbuild CreateDeploy y propiedad SelectedObjectsOn
• #48506: No se actualiza la base de datos offline a la nueva versión cuando el main está
en un módulo
Se tiene una App Offline que acede a una tabla con cierta estructura.
El main está dentro de un módulo.
Se actualiza la estructura de la tabla y se hace un build de la app offline. Se generan
correctamente los nuevos programas y el archivo de "reorganización", pero éste
no se ejecuta en el device
• #49514: App Offline que incluye varios registros con blobs cancela durante el proceso de
sincronización (recieve)
Se tiene una applicación offline generada para Apple. Entre las tablas a sincronizar
se incluye una que contiene varios registros con blobs (en este caso imágenes). Al momento
de sincronizar el proceso cancela con un error del tipo EXC_BAD_ACCESS.
• #49517: GeneXusJWT - Se exige ingresar el Certificado en el Método DoCreate del objeto JWTCreator
• #48350: Si se crea un nuevo objeto Language, el mismo no se incluye en el WAR del Deploy
Application
• #49423: Valor se modifica al dar error en un campo numeric grande con decimales y picture
sin decimales
Se tiene un campo numeric por ejemplo (21,3) se le pone la picture sin decimales ZZZZZZZZ
ZZZZZZZ9 y un value range 0:999999999999999. Se ingresa el valor 9999999999999999 da error
y el valor se modifca a 1000000000000000.
• #49502: Se genera mal xlsx en export de pivot table cuando no hay dimensiones en las filas
Se tiene un query viewer pivot table, sin dimensiones en las filas, si se exporta
a xlsx, al abrir el archivo generado muestra una advertencia y la hoja de la pivot queda
en blanco
Aplica a: Development Environment
• #49504: Aparece error "DeletingVersion is not allowed at this moment" al querer borrar una
versión en una KB
Al querer borrar una versión de una knowledge base aparece el error mencionado.
• #49497: The process cannot access the file "Theme".css al salvar objeto Theme y WebPanel
con form HTML
Los objetos que requieren compilación en NET y NETcore son los main, tienen la propiedad
; o "soap"
Sin embargo sucede que en algunos casos se generan y compilan proyectos (utilizando la
opción de compilación con MSBuild) que no cumplen con esos patrones.
En las propiedades del control QueryViewer se define un valor de Page Size distinto
a 10, 15 o 20. En ejecución cuando se usa el control PivotTable, una vez que se cambia
la cantidad de filas por página, el valor de Page Size inicial no se muestra más entre
las opciones de la lista del combobox.
• #49486: Leer Blobs guardados en versiones anteriores trae problemas con la V17U3 con PostgreSQL
Una aplicación generada con GeneXus 17 Upgrade 3 contra Postgresql no puede leer blobs
almacenados con versiones anteriores.
Hasta la versión anterior se incluía el driver npgsql 1.0.0.0 que guardaba los binarios
en formato escaped siempre.
La versión más nueva ya no lo hace, y al leer tampoco tiene en cuenta que vengan escapeados.
• #49425: Se pierde el primer espacio en la segunda linea de un varchar con format = text
with meaningful spaces en evento start
Se tiene una variable varchar, read only y se le asigna un valor en el evento start,
cuando se ve en pantalla si en alguna línea excepto la primera comienza con múltiples
espacios se pierde uno de los espacios.
Aplica a: .NET Generator, Java Generator, Gen. .NET Core
Se ejecuta una aplicación con configuración Release vs Live Editing, en ciertos casos
se detecta que Live Editing no tiene en cuenta configuraciones de tipos de letra y control
Tab.
• #49155: Se superpone el contenido de las tablas cuando se tienen campos ocultos con invisible
mode collapse space
En un panel sd se tiene una tabla con la propiedad auto grow true que contiene campos
con invisible mode collapse space, si alguno de estos campos se oculta (Visible = false)
en ejecución el contenido de la siguiente tabla se superpone a la anterior
• #49469: Error Index was outside the bounds of the array al navegar con filtro condicional
(when) y otras condiciones
Se presenta este error en caso de un for each condicional (when) y con otras condiciones
no -condicionales. Y como parte de las no condicionales había un atributo nullable
• #49470: En una KB con previous versions compatible falla la ejecución del evento isValid
de una variable en un webpanel con grid
En una KB con Web User Experience igual a Previous versions compatible, si se tiene
un web panel con un grid y una variable con un evento isValid asociado, en ejecución después
de salir del campo de la variable la pantalla queda grisada y no se ejecuta el evento
isValid.
• #49464: Se visualiza propiedad SameSite Cookie Attribute a nivel de objeto por error del
Developer Environment
• #48520: Se pierde valor de item de un SDT en un Grid al hacer remove de otra row sin cambiar
el foco
Al ingresar un valor en un item de un SDT en un Grid y sin cambiar el foco del mismo,
si se hace remove de otra row se pierde el valor recién ingresado.
• #49405: Armar deployment unit que incluye main Procedure REST busca archivo SVC que no existe
Al armar una deploymnet unit que contiene un procedure main SOAP o REST que está dentro
de un módulo que a su vez está dentro de otro módulo, se busca el archivo procedure "aNo
mbreProcedure.svc" el cual no existe.
• #49450: Llamada a Stored Procedure que retorna parámetros cancela con error
• #49452: KB queda corrupta al subir un gxlibrary con formato inválido como file
Al tener una KB con un CSS library mal definido o con un formato invalido, la misma
falla al abrir.
Cuando se hace deploy desde el IDE de Genexus a Azure o Local a IIS, de una aplicación
SD con environment Netcore, java o .net, no se está agregando la dll 'gxqueryviewerforsd.dll'
o las fuentes de la clase gxqueryviewerforsd en el caso del environment java, ni el script
gxqueryviewerforsd.js
• #49435: Error - Could not find a part of the path - al enviar Annotated Image hacia el servidor
en plataforma Apple
Se obtiene error cuando se trata de enviar una Annotated Image hacia el servidor vía
párametro
• #49436: App offline cancela al asignar imagen que incluye caracteres especiales en el nombre
Una app Offline consume un servicio que entre sus datos retorna un elemento multimedia
(p.e una imagen), e inserta esos datos en una Transaccion local/offline.
Cuando el nombre del archivo retornado por el servicio contiene caracteares especiales,
entonces al momento de asignar ese archivo en la tabla se presenta una excepción del tipo
EXC_BAD_INSTRUCTION.
• #48855: Error al compilar objeto API Object cuando incluye servicios con SDT input parameters
API Object que incluye servicios con parámetro de input (in/inout) de tipo SDT está
En java se tiene un módulo con el mismo nombre que el package name, en la masterpage
se incluye un webcomponent, al navegar entre objetos de ese módulo falla la carga del
webcomponent.
• #49411: "Invalid Expresion Metadata" al usar operador IN con elementos separados por coma
en plataforma iOS
• #46661: Comparador no muestra cambios realizados en los responsive sizes de una responsive
table en el form de un web panel
• #49402: No aparece la máscara (grisado) cuando se abre un popup en aplicaciones con WebUX
= Previous Version Compatible
Se tiene un objeto Web (Panel o Transaction) dentro de un Web Component. Cuando desde
ese objeto se invoca un popup o prompt, la pantalla principal no queda bloqueda/grisada
con la máscara gx-mask.
El problema se presenta cuando la aplicación se genera con la propiedad Web User
Experience = Previous Version Compatible.
• #49354: Error al abrir KB luego de trabajar con varios archivos: Arithmetic operation resulted
in an overflow.
Al intentar abrir una KB desde GX donde se trabaja con varios archivos, se puede dar
el siguiente error:
Arithmetic operation resulted in an overflow. (Artech.Packages.GenexusBL)
• #49316: Resultado del build es Success aunque falla la generación de algún generador Native
Mobile
Nuevas Funcionalidades
• #49063: Se actualiza dependencia Modernizr a la versión v3.11.4
A partir del U3 de GX17 es posible explorar e importar objetos desde KBs que se encuentra
n alojadas en un GeneXus Server remoto.
Se agrega una opción en la deployment tool para poder hacer el despliegue de imagenes
a Openshift.
A partir de iOS 14.5, Apple va a requerir que las aplicaciones consigan el permiso
del usuario antes de hacer tracking del mismo. Si bien GeneXus no provee funcionalidades
para hacer tracking de usuarios, varios SDKs que las aplicaciones usan sí lo hacen.
• #49361: Mejora interna en archivo que declara la interfaz openapi de un objeto API
Se mejoraron diálogos de Export y Work with Attributes para poder ver mejor cuántos
objetos se están exportando o visualizando
Este upgrade de GeneXus incluye un candidato a versión 1 del generador Angular. Para
usar el generador, se requiere una licencia del mismo y para conseguirla, se debe contactar
al distribuidor, representante comercial o equipo de ventas de GeneXus. Más información
en genexus.com/genexus17 y https://wiki.genexus.com/commwiki/servlet/wiki?42539,Toc%3AAngular
+applications+development,
A partir del Upgrade 3 de GeneXus 17 se soportan los valores para la propiedad Align
Content de controles Flex en aplicaciones Native Mobile generadas para Android.
Los setups de GeneXus y GeneXus For SAP instalan LocalDB, en caso de no detectarse
una instancia local válida de SQL Server.
Se agrega soporte para poder usar PosgreSQL 13 en los tres generadores backend de
GeneXus: Java y .Net
• #49259: Mejoras en For Eachs que hacen Join y actualizaciones para Oracle, Postgresql y
Mysql
Se optimiza un For Each que realiza Update/Delete e implica un join entre tablas.
Esto no era permitido para todos los DBMSs. El cambio se puede observar en el listado
de navegación, donde el Join Location pasa de 'Client' a 'Server'.
Además, en un For Each que realiza un client-join y actualiza atributos tanto de
la tabla base como de la extendida, ahora se genera correctamente la sentencia update.
La propiedad del Environment Use Native Soap, determina como se generan los objetos
expuestos como servicios Soap (Procedures,Data provider o Business Component ). Analogamente,
en el consumo de servicios Soap, los external Object toman esta propiedad para generar
el consumo con codigo nativo, provisto por el lenguage, o no.
Ahora dicha propiedad se habilita a nivel de objeto, podiendo tener en un mismo environment
objetos nativos y no nativos
• #49224: App que utiliza Custom Fonts se visualizan correctamente cuando se invoca desde
el KBN
Cuando una app se invoca desde el Knowledge Base Navigator, las Custom Fonts utilizadas
en dicha aplicación, no eran descargadas. Ahora se visualizan correctamente.
Una app Android que genera un reporte PDF, hasta la versión anterior el mismo se almacena
ba en el ExternalFilesPath, a partir de esta versión se empieza a guardar en el TemporaryFile
sPath.
De esta forma se iguala el comportamiento del generador Apple y no es necesario tener
código condicionado.
Compatibilidad: Para quienes generan reportes PDF en Android, se
requiere cambiar el código
Se agrega un nuevo BeaconParser en las fuentes del EO para que el método startAsBeacon
funcione con el layout de Ibeacon.
• #48817: Incorporar atajos a paneles desde el menú de aplicaciones para el generador Android
Se permite crear atajos a paneles de una aplicación para Smart Devices mediante una nueva
propiedad de nombre "Application Shortcuts" a nivel del objeto Main.
Para ello, simplemente se crea un objeto Menú cuyos eventos están asociados a los atajos
de la aplicación, y luego se configura la propiedad Application Shortcut con dicho objeto.
También es posible personalizar las etiquetas e íconos de cada acción.
Se quiere que los Atributos/Variables de tipo Video, con la propiedad Control Type
= Video Control y Read Only = False, permitan mediante la interface del control editar
los videos grabados.
A partir de V17 U3 es posible generar PDF con fuentes personalizadas en los reportes
generados con Android Offline.
Consideraciones de compatibilidad
• #49389: GAM - Cambio en el carácter ASCII no válido del token SSO Rest
Se realiza un cambio en el token SSO Rest debido a que contenía caracteres ASCII no
imprimibles en el header.
Aplica a: .NET Generator, Java Generator, Gen. .NET Core
Se eliminan todas las sesiones web (websession) establecidas por el usuario al hacer
login y logout en soluciones con GAM.
Se agrega soporte para poder usar PosgreSQL 13 en los tres generadores backend de
GeneXus: Java y .Net
• #49259: Mejoras en For Eachs que hacen Join y actualizaciones para Oracle, Postgresql y
Mysql
Se optimiza un For Each que realiza Update/Delete e implica un join entre tablas.
Esto no era permitido para todos los DBMSs. El cambio se puede observar en el listado
de navegación, donde el Join Location pasa de 'Client' a 'Server'.
Además, en un For Each que realiza un client-join y actualiza atributos tanto de
la tabla base como de la extendida, ahora se genera correctamente la sentencia update.
Una app Android que genera un reporte PDF, hasta la versión anterior el mismo se almacena
ba en el ExternalFilesPath, a partir de esta versión se empieza a guardar en el TemporaryFile
sPath.
De esta forma se iguala el comportamiento del generador Apple y no es necesario tener
código condicionado.
Compatibilidad: Para quienes generan reportes PDF en Android, se
requiere cambiar el código
Se tiene un sdt dentro de un modulo que tiene is collection true. Luego en un procedimien
to se tiene una variable que es de tipo el item del sdt collection, al hacer un toxml
de la variable se genera un tag Module_name\Sdt_name que no es valido. Ademas si se corre
el procedimiento en modo debug y se quiere ver los datos de la variable en la tab watch
da un error The '\' character, hexadecimal value 0x5C, cannot be included in a name. Line
1, position 9. (System.Xml)
Errores corregidos
• #49415: No se puede generar apps con iOS deployment target menor a 11, si se genera para
watchOS
Sí en una Kb se tiene una aplicación Apple y la misma tiene un Panel main con la propieda
d Device = Apple Watch el iOS deployment target de la aplicación tiene que ser 11 o superior
.
• #49389: GAM - Cambio en el carácter ASCII no válido del token SSO Rest
Se realiza un cambio en el token SSO Rest debido a que contenía caracteres ASCII no
imprimibles en el header.
Se eliminan todas las sesiones web (websession) establecidas por el usuario al hacer
login y logout en soluciones con GAM.
• #48532: Evento DblClick en algunos casos devuelve valor incorrecto del item de un Grid
Se tiene una Panel for SD con una variable Dynamic ComboBox. Además, la variable
apunta a un DataProvider
En un sistema iOS Offline, al compilar se tiene este error:
error: /Users/suportegxbr/Documents/Projects/it456213B/NovoProd1/it456213b/Classes/sdsvc
_Panel2_Level_Detail.swift:41:7: error: attribute 'public' can only be used in a non-local
scope
error: public override func cleanup( )
Aplica a: Gen. SD - iOS
• #48796: Atributo como Switch control queda vacío al insertar un registro en una tranasction
• #49372: SetNull en SapHana en .Net falla - Error Unable to cast object of type 'System.DBNull'
to type 'System.String'
Al hacer new de un registro con el método SetNull, en .Net contra SapHana, da el error
• #49380: Mejoras para identificar errores con el pattern WWPlus y Show generation errors
= True
• #49371: Invalid operator for data type. Operator equals equal to, type equals geography
Se tiene un for each donde en el Where se filtra por un atributo geoPoint usando el
simbolo de igual
En ejecucion da el error mencionado : Invalid operator for data type. Operator equals
equal to, type equals geography.
• #49360: Procedimiento que usa new con blocking se enlentece con el tiempo
Se tiene un procedimiento que usa new blocking X, en algunos casos al llamar muchas
veces al mismo procedimiento se puede ver una demora al correr el mismo comparado con
lo que demora la primera ves que se ejecuto.
• #49356: App iOS causa un error del tipo EXC_BAD_INSTRUCTION al salvar via BC
En una app online generada con iOS se presenta un excepción al momento de salvar una
Transación via Business Component (por ejemplo a través de los objetos del WWSD). La app
cancela con un error del tipo EXC_BAD_INSTRUCTION.
• #49261: Table Flex al cambiar propiedad align self las variables quedan invisibles en el
editor
Se tiene una Table Flex con editor abstract layout donde al modificar la propiedad
"align self " las variables quedan invisibles en el editor.
Se tiene una aplicación que utiliza la función DoW, al momento de ejecutar la función
no devuelve correctamente el número del día de la semana.
• #49353: Función Year no devuelve los dígitos enteros de los años de una fecha, generador
Apple
La funcion Year no devuelve los 4 digitos esperados de los años, si se tiene la fecha
29/03/1979 la funcion devuelve 79.
• #49343: Error [SQL0171] Argument 1 of function TRANSLATE not valid, en java iSeries con
NLS
En una reorg donde se pasa un CHAR a Numeric, con NLS prendido , generada en java
contra iSeries, da este error al convertir los datos.
Error [SQL0171] Argument 1 of function TRANSLATE not valid,
• #49337: Quedan pendientes de modificación algunos objetos creados via 'import from Sketch'
Si se abre un objeto que fue creado via import from sketch, el mismo queda 'dirty'
o pendiente de ser salvado nuevamente.
En un panel con dos filas de 100% y 20dip de alto, si se usa navigation style igual
a Slide se agrega scroll a la pantalla en devices con Android 11. Ocurre en Genexus V17
U2
Al tener un panel con dos Grids anidados en iOS, donde el segundo Grid tiene imágenes,
la pantalla queda en blanco y no se muestran los datos.
Ocurre que el Import From Sketch de un diseño en gxsketch para Web, falla con error
Object not set to an instance of an object.
Aplica a: Development Environment
Cuando se quiere trabajar con Beacons External Object con un dispositivo con OS Android
6 o mayor, los beacons no son detectados por el dispositivo.
• #49329: MySQLConnector - Error en paginación al usar condiciones con when y filtros repetidos
• #49153: Regla condicionada se ejecuta erróneamente si al mismo tiempo se ejecuta regla error
sobre un atributo de su condición
Al tener una regla condicionada donde un atributo de su condición tiene asociado una
regla error, si se ejecuta esta última, también se ejecuta la primer regla cuando no debería
• #49313: Not Found al querer ingresar registro por WWSD en transacción con clave VarChar
Se tiene una transacción con clave de tipo VarChar en la cual se asigna un valor a
la misma a través de una regla.
Al aplicarle el Pattern Work With for Smart Devices, se produce un error al querer
ingresar un nuevo registro.
Se lanza una operación de Deploy en una KB. Mientras el proceso transcurre se hace
otra acción, por ejemplo, aplicarle el Pattern a una transacción y salvar.
La sección de output de Deploy se borra y se pierde el feedback que se tenía sobre
la operación.
Aplica a: Development Environment
Cuando se accede vía GET a un método del API Object, que devuelve un json, el valor
de content-type de la respuesta es text/html, en lugar de application/json, como ocurre
cuando se hace un POST al procedimiento, sin utilizar el API Object.
quot;
• #49291: For each Unique que actualiza tabla no lo hace y no se advierte el motivo
Se tiene un for each con cláusula Unique que además realiza una actualización (update
o delete).
Si los atributos de la clave de la tabla a actualizar no están entre
los indicados por la cláusula unique, entonces la actualización no queda efectiva, pero
tampoco se advierte del problema.
• #49312: Se genera mal objeto bot que retorna imagen y variable char
• #49300: Error "inconsistent datatype: DATE type is incompatible with INT type" con SAP Hana
Al entrar a una aplicación net web deployada con la tool Build - Deploy Application,
se produce un error del tipo Invalid Key
• #49303: Dato queda mal convertido en Reorg con NLS prendido, en NET iSeries
En una reorg que cambia tipo de dato Character a Numeric, con NLS (National Language
Support), si bien la reorg NO falla, la conversión de los datos no la hace bien. Al ejecutar
esta reorg en NET contra un iSeries, queda el dato en 0, cuando el esperado es ese número
del Char.
• #49304: Error ´could not find part of the path´ al importar un sketch
Error ´could not find part of the path´ al importar un sketch con símbolos
(espacios por ejemplo) cuyo nombre representan un path invalido.
• #49293: Aplicación Web (no smooth) deja bloqueada la pantalla al ejecutar un evento
Aplicación Web con Web User Experience = Previous version compatible, deja bloqueda
la UI (la máscara gris) en algunas situaciones, cuando se presiona un evento que dispara
varias validaciones juntas.
Falla la evaluación de una expresión que tiene un IIF dentro de otro IIF y una condición
compuesta.
• #49133: No se ven imagenes del segundo nivel de una transaccion si se tiene static content
base URL con una URL absoluta
Se tiene una KB con la propiedad static content base URL con el valor http:/HOST/BASEURL/
static al ingresar a una transaccion de 2 niveles no se pueden ver las imagenes en el
grid
En Java, al ejecutarse un procedure como udp que devuelve un parámetro el cual condiciona
la ejecución de una regla en una Transaction, da error NullPointerException.
• #49284: Error 404 al disparar un Suggest en una Página con Varios Web Components + Evento
TabChanged
Se tiene un Web Panel con varios Web Components con Event TabChanged programado.
Al disparar un Suggest se obtiene el error 404 not found
• #49290: Could not load file or assembly 'Mvp.Xml' error al crear proyecto o importar xpz
en Theme Editor Stand Alone
Al crear un nuevo proyecto o tratar de importar un xpz dentro del Theme Editor Stand
Alone se obtiene el mensaje "Could not load file or assembly 'Mvp.Xml".
• #48728: CurrentItem de un SDT en un Free Style Grid devuelve valor incorrecto luego de hacer
un remove
• #49254: Combo box queda vacío con automatic refresh, al ejecutar condición que hace removeItem
en evento refresh
Se pierden los valores de Combo box al utilizar automatic refresh, y al ejecutar condició
n de otro Combo box que hace removeItem en evento refresh
Los web panels del backend del GAM (en aplicaciones java), desplegado usando la deploymen
t tool de GeneXus no muestran correctamente las imagenes.
Se tiene una aplicación con generador iOS donde se quiere sincronizar registros de
manera manual mediante el método Synchronization.Send() ,cuando estos tienen archivos
la sincronización no funciona.
• #49238: Error en modo debug - An item with the same key has already been added
• #49176: En insert, regla update sobre atributo Image subtipo, borra la imagen
• #49223: Valores de un att/var que son parm de un Panel no queda disponible en el evento
refresh al ser modificados, Apple
Se tiene en un panel de una aplicación configurado ciertos parámetros, estos son modifica
dos y luego son consultados en el evento refresh, los atributos/Variables parecen seguir
teniendo asignados los mismos valores que tenían al ser ejecutado el panel.
Se tiene un objeto con varios SDTs definidos y cuando se comparan las revisiones del
history, el tiempo de espera es de aproximadamente 5 minutos
• #49085: Error al hacer click en un check box fuera del control si esta en un grid de un
webcomponent en IE 11
En una aplicación web Java que además sirve como backend de una app Mobile, cuando
hay alta concurrencia se presenta el error ConcurrentModificationException al momento
de actualizar algunas tablas.
• #48957: Bajo ciertas condiciones, mensaje en evento refresh desaparece al ejecutarse también
evento isValid sin Smooth
• #49164: Aplicación .NET Core con GAM con STS fallaba al utilizar el metodo GAMRepository.GetSTSA
Se tiene una aplicación generada para .Net Core la cual utiliza GAM que funciona como
KB Cliente y otra que funciona como Identity provider, al momento de utilizar el metodo
GAMRepository.GetSTSAuthorizationAccessToken el servicio responde con un error 404
• #49147: Error: code too large al generar web panel como muchos controles en el layout
Al querer compilar en Java un web panel con varios tabs en el layout y cada tab con
muchos controles, se puede dar el error:
com\vuce\vuceregistroempresamsp_impl.java:601: error: code too large
public void wb1620( )
^
Note: Some input files use unchecked or unsafe operations.
• #49124: Error rgz0036 Cannot solve attributes al crear Transacción dinámica que tiene constantes
(traducibles) en el código
Se tiene una KB con la propiedad URL Encryption en Session Key. En este caso se utiliza
la cookie GX_SESSION_ID.
Al ejecutar via Https no se le asigna el atributo 'Secure' a la Cookie.
• #49105: Falla por timeout update de Genexus Server que incluye Deployment Units
• #49106: Webpanel responde desde cache del browser en IE11 si se hace un redirect
• #49112: Android Offline - cae la aplicación cuando se tiene un dynamic combo box
En una aplicación Android offline en la que se cuente con un dynamic combo box en
alguno de los paneles, crashea al pasar por ahi.
Se tiene una KB con Enable Integrated Security = True y el objeto URL Rewrite. Dependiend
o de lo que está configurado en el objeto, si se pierde la sesión del usuario, al hacer
refresh se arma mal la URL del GAMExampleLogin.
• #49091: Filtro en Query genera error: Index was out of range. Must be non-negative and less
than the size of the collection
Filtro de Query genera "error: Index was out of range. Must be non-negative and
less than the size of the collection" al comenzar una condicion de la siguiente manera:
( not
• #49083: App offline no sincroniza correctamente con backend NetCore ejecutando en Linux
Se tiene una app offline con los servicios generados en NetCore. Cuando se instala
en Linux la sincronización no funciona correctamente, queda trancada y el server reporta
un error 500.
Aplica a: Gen. .NET Core
• #49075: Evento no toma valor de variable editable cuando se está en panel popup
En una app Android se invoca un Panel en forma popup. Se digita un valor en una variable
del layout y se presiona un botón cuyo evento hace referencia al valor de la variable.
En algunos casos el valor no es tomado en cuenta por el evento.
• #49068: Se cierra la aplicación al intentar enviar eventos pendientes cuando se usa Synchronization.Se
• #49073: Error de especificación por parámetros de User Control que tiene mas de una firma
en método
Se tiene una variable con una expresion regular y un botón que ejecuta un evento.
Si se ingresa un valor inválido en la variable y se quiere ejecutar el evento, el mismo
no se ejecuta porque la variable no es válida. Si luego se ingresa un valor correcto y
sin salir del campo se hace click en el botón, el evento no se ejecuta.
Aplica a: .NET Generator, Java Generator, Gen. .NET Core
En .Net Core Gx17 U1, al hacer update de una tabla con un campo blob, algunas veces
se produce un error: A network error occurred while trying to reach the server (0)
También puede tener problemas, pero sin error, un archivo subido con el FileUpload,
que pudria ser borrado muy temprano.
• #48890: Una variable que es un item de un sdt collection dentro de un modulo no genera un
xml valido al hacer ToXml
Se tiene un sdt dentro de un modulo que tiene is collection true. Luego en un procedimien
to se tiene una variable que es de tipo el item del sdt collection, al hacer un toxml
de la variable se genera un tag Module_name\Sdt_name que no es valido. Ademas si se corre
el procedimiento en modo debug y se quiere ver los datos de la variable en la tab watch
da un error The '\' character, hexadecimal value 0x5C, cannot be included in a name. Line
1, position 9. (System.Xml)
• #38001: Too many constants al ejecutar Create Database con muchas tablas
Al crear la base de datos en una aplicación con muchas tablas, no compila el reorg.java
con el siguiente error: