Como propietario de un sitio de SharePoint, administra listas con fechas de vencimiento y necesita identificar rápidamente los elementos vencidos de un vistazo. Las vistas de lista estándar muestran fechas, pero no proporcionan indicios visuales para los plazos que han pasado. El formato JSON le permite aplicar reglas de color condicionales a filas o columnas para que los elementos vencidos se destaquen con un fondo rojo o texto en negrita. Este artículo explica cómo usar el formato JSON para resaltar elementos vencidos en listas de SharePoint y proporciona una lista de verificación práctica para propietarios de sitios.
Puntos clave: formato JSON para resaltar elementos vencidos
- Formato de columna > @currentField: Aplica un fondo rojo a una columna de fecha cuando el valor es menor que
@now. - Formato de fila > instrucción if: Cambia toda la fila a rojo cuando la columna de fecha de vencimiento está en el pasado.
- Configuración de lista de SharePoint > Formato de la vista actual: Punto de entrada para aplicar formato JSON a filas o columnas.
Qué hace el formato JSON para los elementos vencidos
El formato JSON es una característica de las listas y bibliotecas de SharePoint que le permite cambiar la apariencia de columnas o filas según reglas que escriba en código JSON. Cuando se dirige a una columna de fecha, puede comparar cada valor de celda con la fecha y hora actuales usando el token @now. Si la fecha de vencimiento es anterior a @now, el formato aplica un relleno rojo, texto rojo o un icono. Esto funciona tanto en SharePoint moderno como en Microsoft Lists.
Antes de escribir el formato JSON, confirme que su lista tiene una columna de fecha con un nombre como “Due Date” o “Deadline”. También necesita permisos de edición en la lista, que los propietarios del sitio tienen de forma predeterminada. El formato JSON no requiere la implementación de código personalizado ni soluciones de SharePoint Framework. Pegue el JSON directamente en el panel de formato en la configuración de la lista.
Hay dos enfoques. El formato de columna cambia solo la celda que contiene la fecha. El formato de fila cambia toda la fila, lo que hace que los elementos vencidos sean visibles incluso cuando se desplaza horizontalmente. Ambos métodos usan la misma estructura JSON, pero se dirigen a ámbitos diferentes.
Pasos para aplicar formato JSON para resaltar elementos vencidos
Siga estos pasos para agregar formato JSON que resalte los elementos vencidos en una lista de SharePoint. El ejemplo usa una columna llamada “Due Date” con el tipo Fecha y hora.
- Abra la lista y vaya a la configuración de la columna
Navegue a su lista de SharePoint. Haga clic en el encabezado de la columna de fecha que desea formatear. Seleccione Configuración de columna y luego Formato de esta columna. - Pegue el código JSON para el formato de columna
En el panel Formato de columna, seleccione Modo avanzado. Elimine el código predeterminado y pegue el siguiente JSON:{
"$schema": "http://columnformatting.sharepointpnp.com/columnFormattingSchema.json",
"elmType": "div",
"txtContent": "@currentField",
"style": {
"background-color": "=if(@currentField < @now, 'red', 'transparent')",
"color": "=if(@currentField < @now, 'white', 'inherit')",
"font-weight": "=if(@currentField < @now, 'bold', 'normal')"
}
}Este código comprueba si el valor de fecha en la celda es anterior a la fecha actual. Si es así, la celda obtiene un fondo rojo, texto blanco y fuente en negrita. Si no, la celda mantiene su apariencia predeterminada.
- Haga clic en Guardar para aplicar el formato
Haga clic en el botón Guardar en la parte inferior del panel. La vista de lista se actualiza y las fechas vencidas aparecen con un fondo rojo. - Aplique formato de fila para resaltar toda la fila (opcional)
Para resaltar toda la fila, vuelva a la lista. Haga clic en la flecha hacia abajo junto al nombre de la lista y seleccione Configuración de lista. En Vistas, haga clic en el nombre de la vista actual. Desplácese hasta la sección Formato de vista y pegue el siguiente JSON en el cuadro Formato de fila:{
"$schema": "http://columnformatting.sharepointpnp.com/columnFormattingSchema.json",
"elmType": "div",
"style": {
"background-color": "=if([$DueDate] < @now, 'lightcoral', 'transparent')"
},
"children": [
{
"elmType": "div",
"style": {
"box-sizing": "border-box",
"padding": "0 12px"
},
"txtContent": "=[$Title]"
}
]
}Reemplace
[$DueDate]con el nombre interno de su columna de fecha. Haga clic en Aceptar para guardar la vista.
Errores comunes al usar JSON para resaltar elementos vencidos
Los elementos vencidos no se resaltan después de pegar el JSON
La causa más común es una discrepancia entre el nombre de la columna en el JSON y el nombre interno real de la columna de fecha. En el formato de fila, la referencia de columna debe usar el nombre interno, no el nombre para mostrar. Para encontrar el nombre interno, vaya a Configuración de lista, haga clic en el nombre de la columna y observe la URL para el parámetro Field. Por ejemplo, si la URL contiene Field=Due_x0020_Date, use [$Due_x0020_Date] en el JSON.
La comparación de fechas no tiene en cuenta las zonas horarias
El token @now usa la hora universal coordinada (UTC). Si los usuarios de su lista están en una zona horaria detrás de UTC, un elemento que vence a las 11:00 p. m. hora local podría aparecer vencido antes de la medianoche porque UTC ya ha avanzado al día siguiente. Para evitar esto, agregue una condición que también compruebe la hora, o use una columna calculada que almacene la fecha de vencimiento en UTC. Una solución más simple es establecer la fecha de vencimiento al final del día laborable en lugar de la medianoche.
El formato de fila rompe el diseño de la vista de lista
Si el JSON para el formato de fila no incluye todas las columnas o usa valores elmType incorrectos, la fila puede mostrarse incorrectamente. Siempre pruebe el formato de fila en una lista pequeña primero. Comience con un JSON simple que solo cambie el color de fondo y agregue más columnas gradualmente.
Formato de columna vs formato de fila: cuándo usar cada uno
| Elemento | Formato de columna | Formato de fila |
|---|---|---|
| Ámbito | Solo la celda de fecha | Toda la fila |
| Complejidad | Simple, una condición | Requiere referencias de columna |
| Ideal para | Indicio visual rápido en una sola columna | Hacer visibles los elementos vencidos al desplazarse |
| Rendimiento | Más rápido en listas grandes | Ligeramente más lento en listas muy grandes |
El formato de columna es más fácil de configurar y funciona bien cuando su lista tiene pocas columnas. El formato de fila es mejor cuando desea que toda la fila se destaque, especialmente en listas con muchas columnas donde la columna de fecha puede desplazarse fuera de la pantalla.
Después de aplicar el formato JSON, pruebe la vista agregando algunos elementos con fechas de vencimiento pasadas. Si el resaltado no aparece, actualice la página y verifique la sintaxis JSON en busca de comas o corchetes faltantes. También puede usar el botón Vista previa en el panel de formato para ver el resultado antes de guardar.
Para escenarios avanzados, combine varias condiciones en el JSON. Por ejemplo, resalte los elementos que están vencidos por más de siete días con un rojo más oscuro, y los elementos que vencen hoy con amarillo. Use instrucciones if anidadas o el operador && en el JSON para crear estas reglas.
Los propietarios de sitios de SharePoint también deberían considerar crear una vista que filtre automáticamente los elementos vencidos. Vaya a la configuración de la vista y agregue un filtro donde la columna de fecha de vencimiento sea menor o igual a [Today]. Esto le brinda una vista dedicada de los elementos vencidos sin depender únicamente del formato de color.