0% encontró este documento útil (0 votos)
20 vistas2 páginas

Script Con Validacion Visual 17mayo2025

El código gestiona el estado de solicitudes en una hoja de cálculo, enviando correos electrónicos a responsables y revisores según el estado de la solicitud. Se implementan validaciones visuales para resaltar filas en función de la antigüedad de las solicitudes y su estado. Además, se actualizan las fechas de revisión y se aplican colores de fondo para indicar el estado de las solicitudes.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
20 vistas2 páginas

Script Con Validacion Visual 17mayo2025

El código gestiona el estado de solicitudes en una hoja de cálculo, enviando correos electrónicos a responsables y revisores según el estado de la solicitud. Se implementan validaciones visuales para resaltar filas en función de la antigüedad de las solicitudes y su estado. Además, se actualizan las fechas de revisión y se aplican colores de fondo para indicar el estado de las solicitudes.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd

// ...

(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.)

También podría gustarte