Если условие игнорируется в цикле для отправки писем с листа - PullRequest
0 голосов
/ 04 января 2019

Это лист, который я использую .

Я пытаюсь автоматически отправлять электронные письма каждому сотруднику в форме Рекомендации по квотным мощностям, если разница в спросе и производстве превышает 10 или ниже -10.

Когда я запускаю скрипт, электронные письма отправляются, даже если значение находится в допустимых пределах (от -9 до 9).

function checkValue() {
  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getSheetByName("Quota Capacity Recommendation");
  var num = sheet.getRange(2, 11).getValue(); //number of employees

  for (var i = 2; i < num; i++) { //loop to get each employee
    var ss = SpreadsheetApp.getActive();
    var sheet = ss.getSheetByName("Quota Capacity Recommendation");
    var dif = sheet.getRange(i, 10).getValue(); //value to check
    var rc = sheet.getRange(i, 9).getValue();
    var name = sheet.getRange(i, 1).getValue();

    if (dif > 10 || dif < -10) //condition
    {
      //GmailApp.sendEmail("user@domain.com",name+ " Quota Recommendation", name+ " has recommended quota change of " +rc);
      GmailApp.sendEmail("otheruser@domain.com", name + " Quota Recommendation", name + " has recommended quota change of " + rc);
      //MailApp.sendEmail("differentuser@domain.com",name+ " Quota Recommendation", name+ " has recommended quota change of " +rc);
    }
  }
}

Ответы [ 2 ]

0 голосов
/ 07 января 2019

Похоже, проблема в том, что значения столбца 10 (J) представляют собой проценты (примерное значение 20%) вместо целых чисел 20.

Вы должны изменить введенное значение на целые числа или использовать скрипт вместо .1 или 10.

0 голосов
/ 04 января 2019
if(dif>10 || dif<10) 

если больше 10 или меньше 10. Так что! = 10.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...