# Rejilla coloreada segun fechas

**URL:** <https://foros.velneo.com/t/rejilla-coloreada-segun-fechas/11515>\
**Category:** Velneo\
**Created:** [12 Agosto, 2024 15:40 UTC](https://foros.velneo.com/t/rejilla-coloreada-segun-fechas/11515 "2024-08-12T15:40:47Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![raid1\_consultoria\_in](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/raid1_consultoria_in/32/5468_2.png) [@raid1\_consultoria\_in](https://foros.velneo.com/u/raid1_consultoria_in)\
**Post date:** [12 Agosto, 2024 15:40 UTC](https://foros.velneo.com/t/rejilla-coloreada-segun-fechas/11515/1 "2024-08-12T15:40:47Z")

</div>

Buenas tardes.

Estoy haciendo una rejilla que muestre los trabajos realizados y por realizar. Y uno de los campos lo coloreo en funcion de si esta terminado o no (boleano) y si la fecha del trabajo es igual o mayor a la de hoy.

Son solo 7 condiciones:

- Cancelado (boleano)
- Sin material (boleano)
- Terminado (boleano)
- Pendiente (boleano)
- Y tres colores segun si el trabajo tiene fecha de 1, 2 o mas de 3 dias a futuro con una condicion tal que asi (#TRABAJO-TERMINADO%=0)&(#FECHA\>(addDays($FECHA\_HOY@SIGEL (ERP)\_DAT.dat, 3))  
Pues cuando añado la condicion de las fechas noto que la rejilla se ralentiza incluso la apertura de formulario se retrasa. ¿Alguien sabe que puede ser? Si no pongo la condicion de fechas va fluido.

---

<div class="post-metadata">

**Author:** ![figaricarlos](https://avatars.discourse-cdn.com/v4/letter/f/7ea924/32.png) [@figaricarlos](https://foros.velneo.com/u/figaricarlos)\
**Post date:** [12 Agosto, 2024 17:49 UTC](https://foros.velneo.com/t/rejilla-coloreada-segun-fechas/11515/2 "2024-08-12T17:49:14Z")

</div>

Por lo que ves es que en cada linea tiene que realizar el calculo antes de mostrar… por lo que podría decirse que ese es el problema de la lentitud en la carga…  
Lo que podrías hacer es crear un campo formula **#transcurrido** , donde se establezca el valor de fhoy() - Fecha\_Hoy, siendo este el resultado de hoy menos tu carga, lo que daría la cantidad de días transcurridos… y este resultado agregar en ( **#transcurrido\> 3** ).

En #transcurrido puedes agregar un sentencia de tipo: SI Cancelado = 0, que realice el conteo contra fhoy(), y si esta terminado deje de contar de fhoy(), y directamente si tenes un campo #Fecha\_Finalizado, que tome de alli: #Fecha\_Finalizado - #Fecha\_Inicio.

---

<div class="post-metadata">

**Author:** ![raid1\_consultoria\_in](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/raid1_consultoria_in/32/5468_2.png) [@raid1\_consultoria\_in](https://foros.velneo.com/u/raid1_consultoria_in)\
**Post date:** [12 Agosto, 2024 19:56 UTC](https://foros.velneo.com/t/rejilla-coloreada-segun-fechas/11515/3 "2024-08-12T19:56:46Z")

</div>

Probare asi a ver que tal…solo hay como 14 registros y se nota la lentitud…no quiero pensar cuando tenga 3000  
Gracias

---

<div class="post-metadata">

**Author:** ![raid1\_consultoria\_in](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/raid1_consultoria_in/32/5468_2.png) [@raid1\_consultoria\_in](https://foros.velneo.com/u/raid1_consultoria_in)\
**Post date:** [14 Agosto, 2024 16:01 UTC](https://foros.velneo.com/t/rejilla-coloreada-segun-fechas/11515/4 "2024-08-14T16:01:55Z")

</div>

Buenas tardes.

He realizado la prueba de poner un campo formula que me calcule los días que lleva vencido o le quedan en la tabla de trabajos…pero igualmente cuando incluyes ese campo en una condición de rejilla se vuelve a ralentizar.

A ver si a alguno se le ocurre algo mejor.

---

<div class="post-metadata">

**Author:** ![correo](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/correo/32/5689_2.png) [@correo](https://foros.velneo.com/u/correo)\
**Post date:** [14 Agosto, 2024 17:26 UTC](https://foros.velneo.com/t/rejilla-coloreada-segun-fechas/11515/5 "2024-08-14T17:26:09Z")

</div>

Hola raid1\_consultoria\_informatica.

Es raro lo que te ocurre.  
¿Todos los campos que entran en la fórmula o condiciones de estilo son campos propios de la tabla? Es decir ¿No hay campos de tipo puntero maestro, virtual, …?

Saludos  
Paco Satué

---

<div class="post-metadata">

**Author:** ![figaricarlos](https://avatars.discourse-cdn.com/v4/letter/f/7ea924/32.png) [@figaricarlos](https://foros.velneo.com/u/figaricarlos)\
**Post date:** [14 Agosto, 2024 17:51 UTC](https://foros.velneo.com/t/rejilla-coloreada-segun-fechas/11515/6 "2024-08-14T17:51:19Z")

</div>

Creo que ya encontré el problema… ya me había pasado y la lentitud es por **VARIABLE GLOBAL** - **$FECHA\_HOY@SIGEL (ERP)\_DAT.dat**…  
Prueba con un **fhoy()** y vas a ver la diferencia… o en todo caso, en vez de GLOBAL pasa a **LOCAL** , ya que eso queda en memoria…

---

<div class="post-metadata">

**Author:** ![correo](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/correo/32/5689_2.png) [@correo](https://foros.velneo.com/u/correo)\
**Post date:** [14 Agosto, 2024 18:33 UTC](https://foros.velneo.com/t/rejilla-coloreada-segun-fechas/11515/7 "2024-08-14T18:33:28Z")

</div>

Hola figaricarlos.

Si a alguien se le ocurre usar una **Variable global en disco** en cualquier fórmula y además en la Rejilla, **desastre asegurado**.

Saludos  
Paco Satué

---

<div class="post-metadata">

**Author:** ![raid1\_consultoria\_in](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/raid1_consultoria_in/32/5468_2.png) [@raid1\_consultoria\_in](https://foros.velneo.com/u/raid1_consultoria_in)\
**Post date:** [14 Agosto, 2024 23:20 UTC](https://foros.velneo.com/t/rejilla-coloreada-segun-fechas/11515/8 "2024-08-14T23:20:29Z")

</div>

Gracias Paco y Figaricarlos…probare a usar currentdate() en lugar de la variable local a ver si es por eso la lentitud.

Os voy contando.

---

<div class="post-metadata">

**Author:** ![raid1\_consultoria\_in](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/raid1_consultoria_in/32/5468_2.png) [@raid1\_consultoria\_in](https://foros.velneo.com/u/raid1_consultoria_in)\
**Post date:** [15 Agosto, 2024 11:26 UTC](https://foros.velneo.com/t/rejilla-coloreada-segun-fechas/11515/9 "2024-08-15T11:26:04Z")

</div>

Buenos y festivo dias.

Efectivamente ha sido quitar la variable global de la formula y dejar de fallar. La lentitud con la que Velneo trabaja las mismas es el problema de todo. Tomare nota para el futuro.

---

<div class="post-metadata">

**Author:** ![correo](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/correo/32/5689_2.png) [@correo](https://foros.velneo.com/u/correo)\
**Post date:** [15 Agosto, 2024 12:46 UTC](https://foros.velneo.com/t/rejilla-coloreada-segun-fechas/11515/10 "2024-08-15T12:46:06Z")

</div>

Hola raid1\_consultoria\_informatica.

Vamos a ver, no tomes conclusiones rápidas sin analizarlas.

Las **Variables Globales** son una herramienta muy versátil en Velneo, porque nos permite disponer de datos globales a la aplicación. Existen 2 tipos de Variables Globales (lo que Velneo llama [Persistencia](https://doc.velneo.com/velneo-vdevelop/proyectos-objetos-y-editores/proyecto-de-datos/variable#persistencia)), las que residen en **Memoria** y las que residen en **Disco**. Esto nos permite jugar con la **visibilidad** de la Variable Global, a nivel de usuario, de aplicación, de plano de ejecución, …

> Este concepto de **Variable Global** no es exclusivo de Velneo, existe en todos entornos de programación.

En tu caso, seguramente has usado una **Variable Global en disco** , lo que supone que cada vez que hay que leer el valor de la Variable Global hay que realizar un acceso al servidor vServer mediante un socket y toda la secuencia correspondiente.

> Sí, el valor de una **Variable Global en disco** se guarda en el disco del vServer, para que dicho valor sea accesible a nivel de aplicación por todos los Usuarios.

Realizar un **acceso puntual** a una Variable Global en disco no tiene repercusión en la experiencia de usuario, pero acceder en una Rejilla con 500 filas y sus 500 sockets abiertos para leer sendos valores remotos en disco, entonces sí que el desastre está asegurado.

Conclusión, convierte la Variable Global de disco a **memoria** y nos cuentas el resultado.

Saludos  
Paco Satué

---

<div class="post-metadata">

**Author:** ![raid1\_consultoria\_in](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/raid1_consultoria_in/32/5468_2.png) [@raid1\_consultoria\_in](https://foros.velneo.com/u/raid1_consultoria_in)\
**Post date:** [16 Agosto, 2024 17:38 UTC](https://foros.velneo.com/t/rejilla-coloreada-segun-fechas/11515/11 "2024-08-16T17:38:46Z")

</div>

Que tal Paco.

Efectivamente la he convertido a variable en memoria que para el caso me vale porque se inicializa cada vez que abres el programa y con eso va igual que con currentDate()

Mil gracias.
