Mamos Skriptas
unknown
plain_text
2 years ago
3.6 kB
7
Indexable
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();
}
}
Editor is loading...