Mamos Skriptas
unknown
plain_text
a year ago
3.6 kB
1
Indexable
Never
function createFolder(year, month) { var parentFolder = DriveApp.getRootFolder(); var folderName = year + " " + month + " Mokiniu Saskaitos"; var existingFolder = parentFolder.getFoldersByName(folderName); if (existingFolder.hasNext()) { return existingFolder.next(); } else { return parentFolder.createFolder(folderName); } } function generateInvoices() { var sheet = SpreadsheetApp.getActiveSheet(); var year = sheet.getRange("B1").getValue(); var month = sheet.getRange("B2").getValue(); var data = sheet.getRange("B3:G" + sheet.getLastRow()).getValues(); // Create the folder based on year and month var folder = createFolder(year, month); for (var i = 0; i < data.length; i++) { var row = data[i]; var name = row[0]; var email = row[1]; var amount = row[2]; var received = row[3]; var spent = row[4]; var compensation = row[5]; // Skip rows with empty email addresses if (!email) continue; // Create a Google Document as the invoice var doc = DocumentApp.create("Invoice for " + name + " - " + month); var body = doc.getBody(); // Add static information to the invoice body.appendParagraph("SĄSKAITA"); body.appendTable([ ["UAB AMBER CATERING", "Rekvizitai mokantiems pavedimu:"], ["Dūmų 3, Vilnius", "Įmonės kodas .. 120857076"], ["Tel.868545888", "PVM kodas ...... LT208570716"], ["El. paštas: ac.ritulia@gmail.com", "sąskaita LT147300010155984049"], ["", "„Swedbank“, AB"], ["", "banko kodas 73000"], ["", "Paskirtyje nurodykite:"], ["", "mokinio vardą, pavardę, klasę"] ]); // Add dynamic information to the invoice body.appendParagraph("Už " + year + " m. " + month + " mėnesio maitinimą\nmokinys(ė): " + name); body.appendParagraph(""); // One row gap // Add the table var table = []; table.push(["Paslaugos pavadinimas", "Suma Eur"]); table.push(["Gauta suma – apmokėta už suteiktas paslaugas", received]); table.push(["Sunaudota - suvalgyta per ataskaitinį laikotarpį", spent]); table.push(["Likutis*", amount]); table.push(["", "* Suma su minuso ženklu reiškia trūkumą lėšų „vaiko sąskaitoj“"]); body.appendTable(table); // Add spacing body.appendParagraph(""); body.appendParagraph("PAPILDOMA INFORMACIJA:"); body.appendParagraph("Savivaldybės kompensacija yra įtraukta į mokėtiną sumą."); body.appendParagraph("Mokėjimo grafoje „Likutis“ su minuso ženklu reiškia trūkumą lėšų vaiko sąskaitoje"); body.appendParagraph("Už vaikų maitinimą mokama į priekį. Už einamąjį mėnesį mokama per pirmą einamojo mėnesio savaitę. Reikia susiskaičiuoti patiems kiek planuojate valgyti. Jei per einamąjį mėnesį neišnaudojote įmokėtų pinigėlių, permoka perkeliama į sekantį mėnesį."); body.appendParagraph("Pietų kaina...................................... 5,40"); body.appendParagraph("Pavakarių kaina............................. 2,30"); body.appendParagraph("Bendra dienos(pietūs-pavakariai) maitinimo kaina..... 7,70"); body.appendParagraph("Jei pastebėjote klaidą mokėjimo pranešime, informuokite."); // Save and close the invoice document doc.saveAndClose(); // Get the Word file as a blob var blob = DriveApp.getFileById(doc.getId()).getBlob(); // Move the Word file to the specified folder var wordFile = folder.createFile(blob); // Set the file type to Word wordFile.setContentTypeFromExtension(); } }