Release Notes del Generador Visual Basic 9.0

Release Notes del Generador Visual Basic 9.0
UPGRADE # 3
Importante
• En este Upgrade, se instala una nueva versión de las siguientes dlls:
gxoffice2.dll
debe ser actualizada en las estaciones de trabajo y en los equipos cliente en el caso de utilizarla.
• Para hacer efectivos los cambios de este upgrade, luego de instalado el mismo se deben borrar los archivos .VER, .ARI
y .VBP y realizar un build all forzado de la aplicación.
Errores Corregidos
• SAC # 18461 - IsValid en WP con varias grillas funciona bien sólo en una.
Se tiene un work panel con dos grillas. Se programa el evento isvalid para columnas de ambas grillas para devolver la descripción
asociada al código ingresado.
El problema es que el IsValid sólo funciona para una de las columnas, no para todas las programadas.
• SAC # 20456 - Arreglos a fechas en MySQL
Se corrigieron problemas en manejo de fechas
- Sumas de días a fechas
- Las fechas que se pasan como constantes se pasaban como string en vez de usar STR_TO_DATE
• SAC # 20712 - Función Val no es evaluada en el servidor en MySQL
Si en un for each de un proc. se agrega una condición utilizando la función Val para ser evaluada en el server, el select
que se genera se hace como si no existiera el where.
Esto sucede con MySQL.
• SAC # 20721 - Funcion Year no se evalua en el server con MySQL 4.0
No se está evaluando la función Year en el server, si se utiliza MySQL 4.0.
• SAC # 21459 - SQL0417 con update de tabla en iSeries
Da el error "SQL0417 - Combinación de marcadores de parámetro no válida" al hacer un update sobre un campo, por medio de
una operación artimética.
• SAC # 22038 - No se puede abrir planillas Excel luego de generadas con GX
Desde GeneXus se genera una planilla Excel, usando los tipos de datos ExcelDocument.
Si luego de generar la planilla se hace un Show desde GX, luego de cerrar la planilla ya no se puede volver a abrir desde
Excel. Si se trabaja con Office 2007 nunca se puede abrir desde Excel.
• SAC # 22203 - Argument not optional al agregar parámetro a objeto main
Se tiene un objeto main con un parámetro, se genera y compila sin problemas.
Si se agrega un nuevo parámetro y se genera, al compilar se da el error "Argument not optional".
• SAC # 22264 - Problema con validación de línea en TRN de dos niveles
Se tiene una TRN de dos niveles y una regla error asociada a uno de los atributos del segundo nivel que a su vez es clave
foránea.
Cuando se ejecuta la TRN y se ingresa un valor para el código (que es la FKey) del segundo nivel no se muestran los datos
inferidos y además se permiten ingresar códigos que no existen.
• SAC # 22279 - En work panel con más de un grid queda repetido codigo VB
Se tiene un work panel con más de una grilla, al generarlo en VB 9.0 el código que se genera para validar la grilla se genera
repetido 3 veces.
• SAC # 22320 - Error 438 al ejecutar work panel con campos read only
Se da el error: "Runtime error: 438 Object doesn't support this property or method" al ejecutar un work panel que tenga todos
los campos read only.
El problema se da cuando se usa la propiedad Color in read only fields = Original.
• SAC # 22407 - Problemas con funciones de texto
Las funciones DFROPEN, DFWOPEN y DFRGTXT cambiaron su comportamiento en VB a partir del U2 de VB 9.0.
• SAC # 22408 - dfwpnum() y dfrgnum() utilizan distinto separador decimal
Las funciones de texto dfwpnum() y dfrgnum() están utilizando diferente separador decimal.
La función dfwpnum() utiliza el punto como separador decimal, pero la función dfrgnum() utiliza la coma.
• SAC # 22411 - Problema con Imagen de prompt en TRN cuando hay noaccept
Se tiene una TRN con una clave foranea, y se tiene programado un noaccept condicional sobre esa FK que habilita o deshabilita
la FK dependiendo de una condición.
El problema es que el prompt de la FK siempre queda deshabilitado, no como el atributo que se habilita o deshabilita dependiendo
de la condición.
El problema se da cuando se usa la propiedad Color in read only fields = Original.
• SAC # 22481 - No graba NULL cuando es optimizado el for each
Se tiene un for each que se ejecuta un update en forma optimizada.
La actualización que se programó fue Att = nullvalue(Att) y se tiene la property Generate Null for Nullvalue = True.
En este caso se graba un empty en vez de un NULL. (si se tiene integridad referencial en el server y es una clave foranea,
da error de integridad referencial esta operación.)
• SAC # 22720 - No se visualizan correctamente registros en grid
Se tiene un work panel con un grid con tabla base donde se muestran registros de una tabla.
En la parte fija del work panel se tiene un combo donde se puede seleccionar un dato y en el grid se muestran los datos
relacionados con él.
El problema es que luego de entrar más de una vez al work panel e ir seleccionando valores en el combo la segunda vez que
se selecciona un dato del combo no se visualizar los registros correctamente.
• SAC # 22821 - No infiere descripción de FK en update
Se tiene una TRN de un nivel, que tiene una clave foránea como último campo editable.
Se ingresa en insert y se agregan registros correctamente. Pero si se ingresa en update, al cambiar el valor de la clave
foránea, no se actualiza el valor del atributo inferido. Solo se actualiza el valor inferido al dar Confirm.
• SAC # 23039 - FromXml de SDT no carga el segundo nivel
Se tiene un SDT de dos niveles, se hace un ToXml y luego un fromXMl. En ejecución no se estan cargando los datos del SDT
• SAC # 23142 - Se dispara error de integridad referencial antes de tiempo
En una aplicación donde se configuró la propiedad Color in read only fields = Original y se habilitó que se mostraran los
botones de prompts, si en una TRN se utiliza un Setfocus para posicionar el foco en un determinado campo, se dispara un error
de integridad referencial asociado a una clave foránea antes de tiempo.
• SAC # 23208 - No se dispara error de int. referencial usando subtipos
Se tiene una TRN en la que se tienen definidos subtipos sobre atributos de otra TRN.
Además en las reglas se tienen procedimientos que realizan ciertos controles sobre esos atributos subtipops.
El problema es que al ejecutar la TRN, no se disparan los controles de integridad referencial sobre los atributos subtipos.
• SAC # 23215 - Problema con ejecución de Stored Procedures en SQL Server
Se detectó que en algunos casos puede pasar que al ejecutar un stored procedure desde una aplicación C/S contra SQL Server
2000 con acceso ODBC (VB por ejemplo), el stored procedure no devuelve los datos correctamente a la aplicación.
• SAC # 23287 - "Error sending data" al invocar a web service desde app. VB
Se está invocando a un web service generado en Java manual (no con GX) y se da el error "Error sending data" al invocarlo.
• SAC # 23307 - La propiedad del modelo Maximum Workfile aparece dos veces
La propiedad "Maximum Workfile lines" aparece repetida, se encuentra bajo el grupo "User Interface" y bajo el grupo "Temporary
files".
• SAC # 23314 - Problema con lectura de archivo de texto en VB
En algunos casos se daban problemas con las lecturas de los archivos de texto desde VB, en los casos que se tuvieran textos
con símbolos especiales o caracteres acentuados.
UPGRADE # 2
Importante
• Para hacer efectivos los cambios de este upgrade, luego de instalado el mismo se deben borrar los archivos .VER, .ARI y
.VBP y realizar un build all forzado de la aplicación.
Nuevas Funcionalidades
• SAC # 21695 - Nueva propiedad de DBMS: “Lock retry count”
Indica la cantidad de intentos a realizar cuando una sentencia falla porque lo que intenta lockear ya está lockeado.
Errores Corregidos
• SAC # 12019 - No se muestran VarChar en subfile al entrar en UPD y DSP
No se muestran VarChar en subfile al entrar en UPD y DSP.
• SAC # 14317 - Error al pasar como parámetro mas de un item de SDT
Desde un work panel se llama a un procedimiento pasando por parámetro dos item de SDT, al volver al work panel quedan mal
los valores de los items enviados por parámetro.
• SAC # 16849 - Error con filtro condicional sobre datetime en AS
Cuando se tiene un filtro condicional sobre un atributo de tipo DateTime, en un modelo contra DB2 UDB For iSeries, al ejecutar
se produce un error de tipo (SQL0180).
• SAC # 17120 - Da error llamada a funciones de texto varias veces
En un evento de un Work Panel se realizan varias llamadas en forma reiterativa a las funciones para manejo de texto. Luego
de llamar varias veces a estas funciones se da un error en la aplicación.
• SAC # 17227 - Problema con funciones de texto al procesar archivo
Se tiene un archivo de texto, el cual se procesa utilizando las funciones dfrgnum, dfrgtxt, dfrgdate, etc.
El problema que se da es que para algunas de las líneas del archivo se devuelve el código de error -5: Wrong format.
• SAC # 17660 - Problema al procesar archivo de texto de varias líneas
Se tiene un proc. que tiene un loop para procesar un archivo de texto con varias líneas.
Cuando se ejecuta el procedimiento aunque se procesan las líneas, se dan mensajes de error que no deberían darse.
• SAC # 18026 - Problema con dfwptxt
La función dfwptxt recibe como parámetro opcional el largo del texto a imprimir en el archivo, el largo que se le desea dar
al campo, ese largo no está siendo tenido en cuenta.
• SAC # 21198 - Foco queda en campo read only en work panel
Se tiene un work panel con un campo read only y otros campos editables.
Si se configura la propiedad del modelo Color in read-only fields = Original, al ejecutar el work panel el foco queda sobre
el campo read only.
• SAC # 21267 - Refcall no se dispara en grilla de TRN
Se tiene una TRN de dos niveles o una TRN de un nivel y en el form se colocaron los atributos en un grid.
Además se tiene una regla refcall para obtener el valor de uno de los atributos.
En este caso la regla refcall no se dispara, funciona correctamente en la parte plana de la TRN o si se trabaja con el form
por defecto en TRNs de un nivel.
• SAC # 21494 - Numerador devuelve mismo valor para registros diferentes
Si se tiene un objeto que se numera automáticamente y desde dos máquinas se ejecuta ese objeto, puede suceder que se devuelva
el mismo número para registros diferentes.
Puede suceder entre las dos máquinas, o incluso desde el mismo exe. Sucede en app. que tengan acceso ODBC.
• SAC # 21649 - Valor Compatible en columna Nulls graba <NULL> en DB
Se tiene una KB con todas las propiedades de manejo de Nulos en el valor Compatible. Con esto se espera que el comportamiento
de la aplicación sea igual que en la versión 8.0 de GX.
El problema es que cuando se crea a tabla en la base de datos las columnas de la tabla quedan con el check Allow Nulls marcados,
pero se graba el valor <NULL> para los atributos que no se incluye ningún valor, en lugar de dejarlos vacíos como se hace
con la versión 8.0.
• SAC # 21951 - Error al ejecutar web service si se tienen 2 locations
Se tiene un modelo con un proc. definido como web services generado en .NET y un work panel que lo invoca generado en VB.
Si se define un location.xml con dos locations (el web service usa uno de esos location, el otro no se utiliza), al invocar
al web service desde el work panel se da un error.
• SAC # 22533 - Genera mal sentencia si tiene where con formula
Se tiene un for each donde una de las condiciones involucra una fórmula, cuando se genera el for each el código generado
queda incorrecto, el cálculo de la fórmula no queda bien.
UPGRADE # 1
IMPORTANTE:
• En este Upgrade, se instala una nueva versión de las siguientes dlls:
gxoffice2.dll
debe ser actualizada en las estaciones de trabajo y en los equipos cliente en el caso de utilizarla.
• Para hacer efectivos los cambios de este upgrade, luego de instalado el mismo se deben borrar los archivos .VER, .ARI
y .VBP y realizar un build all forzado de la aplicación.
Nuevas Funcionalidades
• SAC # 21443 - Nueva propiedad: Generate developer menu makefile
Se agregó la propiedad "Generate developer menu makefile" para el generador VB.
Si se configura con el valor No, no se genera el Menu.vbp y se evita el tiempo en calcularlo.
Errores Corregidos
• SAC # 13051 - Archivos de extensión .ARI quedan corruptos (smXX_2.ari)
En un KB con múltiples usuarios ocurren problemas de armado de mak (genera mak de otros objetos) o errores de parametros
en la compilacion. El problema se debe a que estas operaciones utilizan el smXX_2.ari (arbol de llamados) y al tener usuarios
concurrentes que actualizan el mismo archivo solo alguno lo puede modificar.
• SAC # 20702 - Combo dinamico en MySQL dan error al ejecutar TRN
Se tiene una TRN que tiene definido un combo dinámico, al ejecutar la TRN se da un error.
• SAC # 20863 - Error de compilación con propiedad Confirm Transaction=Yes
Se tiene una TRN en la que se configuró la propiedad Confirm Transaction=Yes, cuando se ejecuta la TRN y se ingresa un registro,
al querer desplegar el mensaje de confirmación se da un error de compilación.
• SAC # 21023 - Funcion format dentro de msg no funciona
Se tiene en un evento un msg y dentro de él la función format. Cuando se ejecuta el objeto se da un error de sintaxis.
• SAC # 21037 - Queda <NULL> valor de atributo en Nulls=Yes en grilla
Se tiene una TRN de dos niveles, los atributos del segundo nivel tienen la propiedad Nulls = Yes.
En diseño se tiene la propiedad Empty as Null Behavior = Current version.
Cuando se ejecuta la TRN y se ingresar un registro, los datos ingresados en los atributos del segundo nivel quedan con <NULL>
en el DBMS.
• SAC # 21040 - Se dispara dos veces redisplay de variables en TRNs
Si en una TRN se agrega algún evento que involucre variables, y esas variables en están en el form, en el fuente VB generado,
se puede ver que aparece dos veces la rutina que hace el redisplay de las variables.
• SAC # 21044 - Se dispara error de integridad referencial cuando no debe
Se tienen varias TRNs para modelar un sistema de facturación (empresa, proveedor, producto, orden de compra, nota de entrada).
En la TRN nota de entrada se hace referencia a los atributos de la orden de compra, y solo a uno de ellos se le configura
la propiedad Nulls = Yes.
Cuando se ejecuta esta TRN, y se ingresan códigos válidos en las claves foráneas de orden de compra, se da un error de integridad
referencial.
• SAC # 21080 - &ListBox.Count como parametro da error al ejecutar
Se tiene un work panel con una variable definida como list box. Desde ese work panel se llama a otro pasando como parámetro
&Var.Count.
Al ejecutar el evento se da un error de compilación.
• SAC # 21098 - Problema con Long VarChar read only y hidden
Se tiene un work panel que tiene una columna definida como Long VarChar y está como hidden.
A su vez esa misma variable se tiene en la parte plana del work panel (fuera de la grilla) y se configuró que fuera read
only.
Cuando se ejecuta el work panel se da un error de compilación.
• SAC # 21194 - Reorg. que cambia prop. Nulls a Yes, no modifica la tabla
Se tiene una TRN con un atributo secundario configurado como Nulls=No, se crea la tabla sin problemas.
Se pasa a diseño y se cambia la propiedad Nulls=Yes, se ejecuta la reorganizacion.
Cuando se va a la tabla, se verifica que el cambio no se hizo, sigue apareciendo como AllowNulls = No.
• SAC # 21210 - Se pierde dato obtenido por proc. desde TRN al entrar en UPD
Se tiene una TRN en la que el valor de uno de los atributos se obtiene mediante un procedimiento, y otro atributo relacionado
con el anterior se obtiene mediante una formula find.
El problema es que el valor obtenido por el proc. se ve correctamente, pero luego de confirmar el registro si se si se
vuelve a entrar a la TRN en update se pierde el valor obtenido.
Asociado a esto, el valor que se obtiene mediante la regla find (relacionado con el valor anterior) tampoco se ve.
• SAC # 21274 - RPC no devuelve parametro de output
Se tiene un work panel que hace un llamado a un procedimiento via RPC generado por RPG o Cobol. Ese RPC debe devolver un
parámetro, pero no lo está haciendo.
• SAC # 21398 - Loop without do en work panel con varios atributos formula
Se tiene un work panel donde se visualizan varios atributos fórmula, cuando se genera el work panel aparece el error Loop
without do.
• SAC # 21409 - Cambio en la generación de llamadas a SP
Cuando se tiene un call a un stored procedure, el fuente generado no está quedando correcto, porque no se están incluyendo
las llaves { } entre el call al SP.
• SAC # 21419 - Diálogo de reporte aparece en inglés en app. en portugués
Se tiene una KB donde se seleccionó el idioma (language) = portuguese.
Se genera un reporte, y al ejecutarlo en las opciones aparecen en inglés en lugar de aparecer en portugués.