Buenos días
Hoy me ha pasado una cosa un poco curiosa.
Quería hacer un proceso que me seleccionara 4 artículos de mi catálogo de forma aleatoria. Para ello he utilizado la siguiente fórmula: (random() % (NUM_ART-1))+1, donde NUM_ART es el número de artículos del catálogo. Hacía esto mismo 4 vaces para seleccionar 4 artículos.
El caso es que si lo hacía en tercer plano, siempre me devolvía los mismos 4 artículos. En cambio, si lo hacía en primer plano, salían artículos aleatorios.
Pues es un incordio que una cosa tan trillada todavía nos dé problemas en Velneo.
Seguramente tendrá que ver con la “semilla” que usa la función C++ para la función random(). En 1P varía y en 3P será siempre la misma.
Obviamente, serán los de soporte los que tendrán que explicarte el funcionamiento interno de la función random().
Mientras tanto, puedes usar javascript como alternativa:
var nInferior = theRegister.varToInt("NMIN")
var nSuperior = theRegister.varToInt("NMAX")
Math.floor((Math.random() * (nSuperior - nInferior + 1)) + nInferior)
o más corto Math.floor((Math.random() * (theRegister.varToInt("NMAX") - theRegister.varToInt("NMIN") + 1)) + theRegister.varToInt("NMIN"))