// ...
(todas las definiciones anteriores dentro de onEdit)
if ([Link]() == columnaEstado) {
var correlativo = [Link](fila, columnaCorrelativo).getValue();
if (!correlativo) {
[Link]("Correlativo vacío en fila " + fila);
return;
}
var correoResponsable = [Link](fila, columnaCorreoResponsable).getValue();
var observaciones = [Link](fila, columnaObservaciones).getValue();
var nombreFuncionario = [Link](fila, columnaNombreFuncionario).getValue();
var apellidoFuncionario = [Link](fila,
columnaApellidoFuncionario).getValue();
var apellidoMaternoFuncionario = [Link](fila,
columnaApellidoMaternoFuncionario).getValue();
var cargoFuncionario = [Link](fila, columnaCargoFuncionario).getValue();
var creadorSolicitud = [Link](fila, columnaCreadorSolicitud).getValue();
var nombreRevisor = [Link](fila, columnaRevisor).getValue();
var nombreAutoriza = [Link](fila, columnaNombreAutoriza).getValue();
var nombreCompletoFuncionario = nombreFuncionario + " " + apellidoFuncionario +
(apellidoMaternoFuncionario ? " " + apellidoMaternoFuncionario : "");
if (nuevoEstado == "Pendiente" && correoResponsable && nombreRevisor) {
enviarCorreoPendiente(correoResponsable, nombreCompletoFuncionario,
cargoFuncionario, observaciones, creadorSolicitud, nombreRevisor, correlativo);
[Link](fila, columnaFechaRevision).setValue(new Date());
[Link]();
}
if (nuevoEstado == "Revisado") {
enviarCorreoRevisado(correoAprobador, nombreAutoriza,
nombreCompletoFuncionario, cargoFuncionario, creadorSolicitud, nombreRevisor,
correlativo);
[Link](fila, columnaFechaRevision).setValue(new Date());
[Link]();
}
// 🔔 Validación visual: resaltado según estado y fechas
var estado = [Link](fila, columnaEstado).getValue();
var fechaRevision = [Link](fila, columnaFechaRevision).getValue();
var fechaCreacion = [Link](fila, 2).getValue(); // Columna 2: fecha de
solicitud
var hoy = new Date();
var resaltar = false;
// Criterio 1: Pendiente y revisión con más de 2 días
if (estado === "Pendiente" && fechaRevision) {
var diasDesdeRevision = [Link]((hoy - new Date(fechaRevision)) / (1000 * 60
* 60 * 24));
if (diasDesdeRevision > 2) resaltar = true;
}
// Criterio 2: solicitud con más de 2 días y sin revisión
if (!fechaRevision && fechaCreacion) {
var diasDesdeCreacion = [Link]((hoy - new Date(fechaCreacion)) / (1000 * 60
* 60 * 24));
if (diasDesdeCreacion > 2) resaltar = true;
}
// Aplicar color si corresponde
var rangoFila = [Link](fila, 1, 1, [Link]());
if (resaltar) {
[Link]("#fff3cd"); // amarillo claro
} else {
[Link](null);
}
}
// ... (resto del código de onEdit, aprobaciones, correos, funciones auxiliares,
etc.)