Comportamiento Variables Globales en memoria


([N2] overall) #1

Buenos días,

Ya sé que se ha hablado sobre las variables globales en memoria, pero es que tiene un comportamiento un tanto extraño e irregular. Me explico:

- Si pongo una variable global como contenido inicial de un campo (ejemplo: Empresa), el resultado es el correcto.

- Si como contenido de un campo fórmula, tipo alfa, etc... le pongo una variable global que interactue, como pueden ser el cálculo de redondeo de los decimales; No me tiene en cuenta el valor de la variable global.

- Si en un "Objeto: función" que tengo en el proyecto de datos le paso los valores de las variables globales, tampoco me los tiene en cuenta.

Según dicho comportamiento solo se pueden utilizar las variables globales en memoria como contenido inicial de los campos, solo si damos de alta la ficha, y en toda la estructura de los proyectos de aplicación.

Me lo podéis confirmar o aclarar.

Gracias


Overall

Luis Palomo

overall@massoicb.com

www.overall-bcn.com/v7


([N4] eic) #2

Hola.

El único bug reportado al respecto en vBugman es el 1488: las variables globales no se replican correctamente en procesos en tercer plano. Es decir: si desde un proceso normal modificas una variable global en memoria y llamas a un proceso en 3p que use esa variable, entonces el proceso en 3p no es capaz de ver el valor modificado. Por tanto, parece que los procesos que se ejecutan en el servidor no se enteran de los cambios en las variables globales en memoria. El problema es que esto está catalogado como "Sugerencia" en vBugman, así que quizá no haya que contar con que se haga en un futuro cercano.

Sin embargo, es cierto que si se usan como contenidos iniciales, funcionan bien, porque yo también las uso así. El resto de casos que comentas no los he probado, pero tienen pinta de que el funcionamiento que te ocurre es el esperable con la versión actual.

De momento, si necesito que el valor de una variable esté disponible en el servidor y en el cliente, fuera de los contenidos iniciales, utilizo variables globales en disco, aun sabiendo que ralentizan el funcionamiento. O utilizo tablas con las preferencias de cada usuario, o las preferencias globales, o las de cada año. Pero limito al máximo las variables globales en memoria.

Saludos,

Fran Varona

 

 


([N2] overall) #3

Muchas gracias Fran.

Yo también hago utilizo tablas que contienen las preferencias de cada usuario, pero a veces las variables globales son más sencillas de aplicar y mucho mas rápidas.

Saludoa


Overall

Luis Palomo

overall@massoicb.com

www.overall-bcn.com/v7