SKRIPT
Automatické zasílání připomínky
k opětovnému seznámení s řídícím dokumentem

function sendNotificationEmails() {

  // Otevře aktuální tabulku a specifický list "Odpovědi formuláře 2"

  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Odpovědi formuláře 2');

  if (!sheet) {

    Logger.log('List "Odpovědi formuláře 2" nebyl nalezen.');

    return;

  }

 

  // Načte všechna data z listu

  var dataRange = sheet.getDataRange();

  var data = dataRange.getValues();

  var today = new Date();

 

  // Projde všechny řádky počínaje druhým řádkem

  for (var i = 1; i < data.length; i++) {

    var row = data[i];

    var dateInColumnA = new Date(row[0]); // Datum ve sloupci A

    var email = row[1]; // E-mail ve sloupci B

    var documentName = row[2]; // Název dokumentu ve sloupci C

    var notificationDate = row[4]; // Datum notifikace ve sloupci E

   

    // Vypočítá rozdíl v dnech mezi aktuálním datem a datem ve sloupci A

    var daysDifference = Math.floor((today - dateInColumnA) / (1000 * 60 * 60 * 24));

   

    // Pokud uplynulo více než 365 dní a datum notifikace není nastaveno

    if (daysDifference > 365 && !notificationDate) {

      var subject = 'Upozornění – je čas na refresh dokumentu ' + documentName;

      var body = 'Upozorňujeme, že od posledního seznámení s dokumentem ' + documentName + ' již uplynul více než 1 rok. Prostudujte proto znovu tento dokument a potvrďte seznámení s tímto dokumentem.\n\nSoubor všech řídících dokumentů je k dispozici na intranetu.\n\nNa tuto zprávu neodpovídejte, byla vygenerována automaticky.';

     

      // Odeslání e-mailu

      MailApp.sendEmail(email, subject, body);

     

      // Zápis aktuálního data do sloupce E jako datum odeslání notifikace

      sheet.getRange(i + 1, 5).setValue(today);

    }

  }

}