Я построил систему проверки для наших двигателей на работе. Часть программы заключается в том, что оформление заказа должно выполняться ежедневно. Я создал скрипт, который отправляет электронное письмо, когда оно не было заполнено за день. Он отлично работает, и у меня есть триггер, который срабатывает каждый день в 9 и 10. Теперь эти буровые установки иногда выходят из строя, и им не нужно делать проверки, пока они не работают. Я сделал это так, когда они вывели вышку из эксплуатации, это отражено в их ежедневной записи.
Я думал, что она работала правильно, но у меня вышла из строя первая установка, и она все еще разослала электронное письмо. ,Я думал, что при условии, что значение IF в столбце три не «Не работает», оно будет продолжено, и если оно скажет «Не работает», это остановит сценарий. Что я сделал не так с кодом?
https://docs.google.com/spreadsheets/d/134DFqUNgUihWacm3hNd4B9Zqe-BYubYRXd-hh15fgK8/edit?usp=sharing
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var lastRow = CountColA();
var lastDate = new Date(sheet.getRange(lastRow,1).getValues());
var thisDate = new Date();
var DateDiff = (thisDate.getTime() - lastDate.getTime())/1000/60/60/24;
var emailSent = lastRow[3]; // Third column
if (emailSent != "Out of service") { // Prevents sending duplicates
if (DateDiff > 0.35) {
MailApp.sendEmail("email@gmail.com" + "," + "email@gmail.com", "Unit Has Not Signed Narcotics Form", "BR133 has not signed the narcotics log today");
}
}
}
function CountColA() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
for(var i = data.length-1 ; i >=0 ; i--){
if (data[i][0] != null && data[i][0] != ''){
return i+1 ;
}
}}