4dim / Notas
Filtrar por última actividad, y no por cuándo se abrió
Pides «lo de esta semana» y la lista te esconde el hilo de hace un año en el que el cliente escribió ayer. Cinco decisiones de un filtro de fechas: qué fecha, qué tramos, un solo parámetro, el 30 de febrero y a qué hora se acaba «hoy».
«Enséñame lo de esta semana»
Si tu equipo filtra conversaciones por fecha —y lo hace todos los días—, esta nota te dice por qué a veces el filtro contesta cosas que nadie preguntó. Son cinco decisiones, y ninguna es obvia.
Empieza por la más importante, que es también la que más se equivoca: ¿la fecha de qué?
Una conversación tiene al menos dos fechas. Cuándo se abrió, y cuándo fue lo último que pasó en ella. Filtrar por la primera es lo que sale solo, porque es la fecha «de la conversación».
Y produce esto: pides «lo de esta semana» y la lista te esconde un hilo que se abrió hace un año y en el que el cliente escribió ayer. Justo el que tenías que atender.
Nadie pregunta por conversaciones que nacieron esta semana. Preguntan por las que están vivas esta semana.
Por eso se filtra por última actividad. Es además la fecha que la lista ya enseña en cada fila y por la que ya ordena: usar otra para filtrar haría que ordenar y filtrar hablaran de cosas distintas.
Siete tramos con nombre, y no un campo de días
Segunda decisión: cómo se elige el tramo. Un campo donde escribir «últimos N días» parece más potente porque permite cualquier número.
«Los últimos 37 días» no es una pregunta que nadie se haga. Un campo numérico invita a afinar lo que no tiene por qué afinarse, y cada persona del equipo acaba mirando un recorte distinto. Cuando dos personas comparan lo que ven, no coinciden, y nadie sabe por qué.
Siete tramos con nombre cubren lo que se pregunta de verdad: cualquiera, hoy, ayer, 7 días, 30 días, este mes y el mes pasado. Para lo que no cabe ahí está el calendario, que es donde afinar sí tiene sentido porque estás eligiendo dos fechas concretas a propósito.
Detalle de pantalla que vale para cualquier interfaz: los rótulos eran frases —«Últimos 7 días», «El mes pasado»— cuando cada tramo ocupaba un renglón. Al ponerlos en dos columnas, «Últimos» y «El» pasaron a ser palabras que se repiten en todas y no distinguen ninguna. Lo que hay que leer es el número, así que se quedó el número.
Un solo parámetro para las dos formas
El tramo con nombre y el rango a medida viajan en la dirección de la página, y viajan en el mismo parámetro. Un rango se escribe 2026-08-01..2026-08-18.
Podrían ser dos parámetros, uno para cada forma. No lo son porque son la misma pregunta y solo puede haber una respuesta a la vez. Con dos, habría que decidir cuál manda cuando lleguen los dos — y esa decisión no existe: cualquier respuesta sería inventada, y alguien tendría que recordarla.
Beneficio lateral y nada menor: la dirección de la página describe el filtro entero. Se puede pegar en un chat y la otra persona ve exactamente lo mismo.
El 30 de febrero, y por qué no se corrige
Ese parámetro viene de la dirección de la página, o sea de fuera. Cualquiera puede escribir lo que quiera ahí. Lo que no case con el formato exacto no se corrige ni se aproxima: se descarta.
El ejemplo que lo explica todo es el 30 de febrero. Tiene formato válido —cuatro cifras, dos, dos— y no existe. La mayoría de lenguajes de programación lo aceptan y lo corren al 2 de marzo, calladamente.
Entonces pasa lo peor que puede pasar con un filtro: enseña algo distinto de lo que se pidió, y no avisa. Quien mira cree estar viendo febrero.
| Lo que llega | Qué se hace | Por qué |
|---|---|---|
| Formato distinto | Se descarta | Viene de fuera; no se adivina |
| 30 de febrero | Se descarta | Corregirlo contestaría otra pregunta |
| Fechas al revés | Se enderezan | Se entiende igual: no hay ambigüedad |
| Tramo desconocido | Se descarta | Mejor sin filtro que con uno inventado |
La tercera fila es la excepción y merece explicarse, porque parece contradecir a las otras. Un rango del 18 al 1 se entiende igual: no hay dos lecturas posibles, solo una escritura descuidada. Ahí enderezar no inventa nada. En el 30 de febrero sí.
Dónde termina «hoy»
Y la quinta produce las discusiones más raras que se oyen en un equipo: ¿a qué hora se acaba «hoy»?
Si el límite lo pone el navegador de quien mira, «hoy» significa una cosa para la persona que está en Medellín y otra para la que está de viaje. Dos personas del mismo equipo, mirando la misma pantalla al mismo tiempo, ven listas distintas. Nadie sospecha del reloj.
El corte lo pone la base de datos, en el servidor, para todo el mundo. «Hoy» tiene que significar lo mismo para todo el equipo o no significa nada.
Y un apunte de seguridad, porque va junto: los tramos con nombre son textos escritos en el código —lo que llega de fuera solo eligecuál—, mientras que el rango a medida lleva fechas de fuera y viaja como parámetro de la consulta, nunca pegado dentro de ella. Es la diferencia entre elegir de una lista y escribir en la pared.
Qué hacer entonces
- Comprueba por qué fecha filtra tu herramienta. Abre un hilo viejo, escribe en él y pide «hoy». Si no aparece, filtra por fecha de apertura y estás perdiendo conversaciones vivas.
- Prueba con el 30 de febrero. Escríbelo en la dirección. Si la pantalla enseña marzo sin decir nada, no te fíes de ningún filtro de esa herramienta.
- Pega el enlace filtrado en un chat. Si a la otra persona le sale otra cosa, el filtro no viaja en la dirección y no podéis hablar de lo mismo.
- Compara «hoy» con alguien en otro huso. Si os sale distinto, el corte lo está poniendo el navegador.
- Si tienes un campo de «últimos N días», acuerda un número.Uno para todo el equipo. Si no, cada informe será de un recorte distinto.
Esta nota sale de nuestro trabajo en AI-CRM Connection.