Los informes se refrescan ellos SOLOS


([N4] José A. Martínez) #1

Tengo un informe interno, que visualizo con la vista previa de Velneo. El informe en si son un montón de acumulados anuales… Total de facturas, total de albaranes… todo ello agrupado por año… No se ve el detalle, solo los acumulados…

Bueno, imaginaos mi cara de asombro, cuando por casualidad, me quedo mirando el informe unos segundos… De repente, oh milagro, los datos cambian… Me froto los ojos, y sigo mirando… Sin tocar nada… el informe se recalcula el solito… Coincidió que mis compañeros estaban metiendo datos en ese momento desde otros PCs…

Me he pasado mas de media hora mirando el informe como un gilipollas… Si, no estoy loco, el informe se refresca el solito… Y por supuesto, la información era correcta (el numero que se incrementaba coincidida con los datos que estaban metiendo mis compañeros).

¿Alguien me lo explique? Todavía no se si dar saltos de alegría o preocuparme… Ahora si que me he quedao “sin palabras”…

De veras, no estoy loco… o si…


([N3] pacosatu) #2

Hola José.

Bueno, ten en cuenta que un Informe es un objeto de Interfaz más de Velneo, donde funciona el refresco terciario. Cualquier cambio en los operadores de las fórmulas de acumulados desencadena su recálculo.

Es lo normal, aunque como bien dices, puede no ser adecuado en ciertas condiciones.

Saludos
Paco Satué


([N4] José A. Martínez) #3

Hola Paco, encantado de leerte…

Ya, ya, lo del refresco terciario ya lo sabia, pero no se aprovecharlo. Es la primera vez que lo veo en accion (al menos de forma tan descarada).

¿Recuerdas el script vJS que hiciste hace un par de semanas para REFRESCAR una rejilla despues de un alta desde opcion de menu?

Pues fue lo primero me que vino a la cabeza: coño, el informe se me refresca el solo (y en principio no me interesa), y la rejilla, que si me interesa, no se refresca ella sola… Mala suerte (o ignorancia por mi parte, claro…).

La verdad, para mi el refresco terciario es un misterio (programo como si no existiese). Ya me gustaria tener algo de informacion “asequible” al respecto (digo lo de asequible porque la informacion oficial de Velneo al respecto ya me la he leido y tiene un nivel un poco alto para mi, entiendo poco mas del 50%).

Si tuviese tiempo investigaria (mejor dicho, estudiaria) esto un poco, pero me temo que voy a estar unos cuantos meses a tope en el trabajo…

La idea de hacer una pantalla estilo “aeropuerto” (que se refresque la informacion de los vuelos sin hacer nada y que la gente la mire) me ronda la cabeza desde hace tiempo… Pero sencillo, todo Velneo, nada de webservices, JSON, ni funciones remotas, ni timers, ni DLLs… Todo con refresco terciario…

Ademas, me temo que voy a necesitar algo parecido en breve… O sea que cualquier informacion al respecto sera bienvenida (sobre todo si no necesita herramientas externas, o las menos posibles).

Saludos.


([N3] pacosatu) #4

Hola José.

Ójala hubiera mucha más información sobre el refresco terciario y sobre muchos temas más. Daría para escribir un buen par de libros técnicos, pero ya ves, no tenemos ni un mísero libro.

Yo no perdería el tiempo en investigar el refresco terciario y mucho menos intentar aprovecharlo para alguna funcionalidad importante de tu Aplicación.
El refreco terciario es una característica “interna” de Velneo para tener sincronizados todos los Interfaces de los vClient conectados al vServer en un momento dado. El problema es que no tenemos control sobre este refresco, no se puede saber ni cuándo ni cómo se produce el refresco. No es lo mismo las redes lentas del Cloud que las redes locales, un servidor ocupado que un servidor relajado.

En principio todos los objetos que tienen vinculación a campos de Fichas tienen refresco terciario, es decir, un cambio en la base de datos remota se refleja tarde o temprano en el interface del vClient a través de la caché.
Esto también incluye a los campos de las Rejillas.

Otro tema es el refresco de la Rejilla cuando se da de alta una nueva Ficha. Los cambios en la Lista de Fichas (o Vista de Datos) no se refrescan, para ello existe el comando Recalcular().

Lo de la pantalla de Aeropuerto lo puedes resolver con un Timer que fuerze el refresco de la información a petición del vClient.

Saludos
Paco Satué


([N4] José A. Martínez) #5

Pues como siempre, creo que tienes razón. No voy a perder el tiempo intentando “dominar” :wink: el refresco terciario. No tiene pinta de salir nada aprovechable de ahí…

La pantalla estilo aeropuerto la hare también como tu dices: formulario + rejilla/casillero + tabla temporal en memoria + manejador de evento de refresco + timer. Debería ser suficiente para lo que necesito…

Espero que el puñetero timer no me amargue la vida (los timers me dan mas miedo que una caja de bombas)…

Saludos.