SKRIPT
Automatické generování smluvní dokumentace
Automatické generování smluvní dokumentace
function PS1() {
var sheet = SpreadsheetApp.openById("1Ox5FNvve-CE0sNmkPjH6O_5gFy3sfVfPsbicN-hjEyY").getSheetByName("DTB");
var cellValue = sheet.getRange("A2").getValue(); // Získá hodnotu buňky A2
if(cellValue == 0) {
// Zobrazí zprávu a ukončí skript, pokud je hodnota 0
Browser.msgBox("Označte pracovníka, pro kterého chcete vygenerovat příslušný dokument a pak znovu spusťte skript");
return;
} else if(cellValue != 1) {
// Zobrazí zprávu a ukončí skript, pokud hodnota není 1
Browser.msgBox("Označte pouze jednoho pracovníka, pro kterého chcete vygenerovat příslušný dokument a pak znovu spusťte skript");
return;
} else {
// Pokud je hodnota 1, zobrazí potvrzovací dialog
var response = Browser.msgBox("Jste si jisti, že jste označili správný datový řádek?", Browser.Buttons.YES_NO);
if(response == "yes") {
// Pokud uživatel klikne na "YES", pokračuje skript
// Načtěte hodnoty z tabulky
var data = sheet.getDataRange().getValues();
// Projde řádky a najděte řádek se zaškrtnutým zaškrtávacím políčkem
for (var i = 0; i < data.length; i++) {
if (data[i][0] === true) { // Předpokládá se, že zaškrtávací políčko vrací hodnotu TRUE, když je zaškrtnuto
// Vytvoření kopie dokumentu s požadovaným názvem
var adjustedDate1 = new Date(data[i][35].getTime() + 12*3600*1000);
var formattedDate1 = Utilities.formatDate(adjustedDate1, Session.getScriptTimeZone(), 'MM_yyyy');
var newFileName = data[i][6] + " " + data[i][5] + " - " + formattedDate1 + " - " + data[i][33] + "-" + data[i][2];
var newFile = DriveApp.getFileById("1ZXaeltd59hdxgOpxVEMuHcAZvOhPMhvYPSa4v9szKD0").makeCopy(newFileName, DriveApp.getFolderById("1VijMXYzcXRokNEg4IeN3ZJIo7cXOKbJ4"));
// Nahrazení textu v dokumentu - z listu DTB
var doc = DocumentApp.openById(newFile.getId());
var body = doc.getBody();
body.replaceText("<<jmeno>>", data[i][5]);
body.replaceText("<<prijmeni>>", data[i][6]);
var adjustedDate = new Date(data[i][9].getTime() + 12*3600*1000);
var formattedDate = Utilities.formatDate(adjustedDate, Session.getScriptTimeZone(), 'dd.MM.yyyy');
body.replaceText("<<datum_naroz>>", formattedDate);
body.replaceText("<<ulice1>>", data[i][14]);
body.replaceText("<<PSC>>", data[i][16]);
body.replaceText("<<mesto>>", data[i][15]);
var adjustedDate = new Date(data[i][35].getTime() + 12*3600*1000);
var formattedDate = Utilities.formatDate(adjustedDate, Session.getScriptTimeZone(), 'dd.MM.yyyy');
body.replaceText("<<datum_nastupu>>", formattedDate);
body.replaceText("<<pozice>>", data[i][43]);
body.replaceText("<<delka_prac_pomeru>>", data[i][56]);
body.replaceText("<<bankovni_ucet>>", data[i][20]);
body.replaceText("<<pocet_hodin>>", data[i][57]);
body.replaceText("<<uvazek>>", data[i][34]);
doc.saveAndClose();
// Vytvoření PDF verze dokumentu a uložení do stejné složky - DEAKTIVOVÁNO
//var blob = DriveApp.getFileById(newFile.getId()).getAs('application/pdf');
//DriveApp.getFolderById("1VijMXYzcXRokNEg4IeN3ZJIo7cXOKbJ4").createFile(blob).setName(newFileName + '.pdf');
break; // Pokud najdete první řádek s zaškrtnutým zaškrtávacím políčkem, můžete přestat hledat
}
}
} else {
// Pokud uživatel klikne na "NO", ukončí skript
return;
}
}
}