Enviar un correo electrónico desde Sheets cuando los valores estén por debajo de un valor establecido
Estoy tratando de escribir un script para una hoja de cálculo de Google que uso para el seguimiento de inventario. Cuando el valor en existencia cae por debajo del valor mínimo de inventario, quiero que se envíe un correo electrónico que incluya el número de parte y la cantidad que necesito hacer para volver a nuestra cantidad mínima de inventario, es decir, “PN necesita # hechos”. He tenido éxito enviando un correo electrónico para un valor, pero no puedo averiguar cómo hacer que el script mire en un rango sin repetir el script para cada fila.
La imagen es una captura de pantalla de en qué estoy trabajando. Por ejemplo, dado que V1276 necesita hacer una pieza más para cumplir con la cantidad mínima de inventario, me gustaría que el correo electrónico me diga “V1276 necesita 1 hecho”. El código de muestra con el que he estado jugando:
function CheckParts() {
var minVal = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Lista maestra").getRange("H2");
var valor = minVal.getValue();
if (valor < minVal){
// Obtener la dirección de correo electrónico
var rangoCorreo = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Hoja1").getRange("B2");
var direcciónCorreo = rangoCorreo.getValues();
// Enviar correo electrónico de alerta.
var mensaje = 'Necesitas hacer ' + mesVentas; // Segunda columna
var asunto = 'Alerta de Piezas Bajas';
MailApp.sendEmail(direcciónCorreo, asunto, mensaje);
}
}
davy.ai
Para que el script recorra un rango sin repetir el script en cada fila, puedes:
getValues()
en lugar degetValue()
ya que deseas obtener un rango y no solo una celda individual.for
.Aquí tienes un código de ejemplo que hace esto:
Este código asume que la hoja donde deseas verificar los valores se llama “Master List”, y el rango que deseas verificar comienza en la celda F2 y termina en la última fila. La dirección de correo electrónico donde deseas enviar la alerta está en la celda B2 de “Sheet1”.