Am încercat să scrie un Appscript/Javascript care poate potrivi un proiect pentru sarcinile sale și note de relație. Apuca toate sarcinile + note pentru fiecare proiect și e-mail-proprietar al proiectului. Im nu sunt sigur cum să facă acest lucru la toate. Din moment ce acestea sunt în trei diferite foi.
Acum am un script pentru a trimite e-mailuri Săptămânal pentru fiecare persoane sarcinile care le sunt atribuite, care funcționează, deoarece este nevoie doar de un singur IPTM_Task foaie.
Foaie de calcul meu se pare ca asta Sarcini: Sarcina Foaie
Subactivități: Subactivități
Note: Note
Script-ul la e-mail sarcina proprietarilor
function sendEmails() {
let s = '';
const sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("ITPM_Tasks");
const lastRow = sh.getLastRow();
const startRow = 2; // First row of data to process
const numRows = lastRow - 1; // Number of rows to process
const rg = sh.getRange(startRow, 3, numRows, 6);
const vs = rg.getValues();
let oners = {pA:[]};
vs.forEach((r,i) => {
let [name,desc,status,owner,due] = r;
if(status != 'Complete') {
if(!oners.hasOwnProperty(owner)) {
oners[owner]=[];
oners[owner].push(r);
oners.pA.push(owner)
} else {
oners[owner].push(r);
}
}
});
let subject = 'Weekly Reminder: The following tasks are assigned to you.';
oners.pA.forEach(p => {
let msg = `These Tasks below are assigned to you:\n`
oners[p].forEach((r,i) => {
let [name,desc,status,owner,due] = r;
msg += `Task - ${i+1}\n`;
msg += `Description: ${desc}\n`;
msg += `Due Date: ${due.toDateString()}\n\n`
});
msg += `some message to task owners`;
MailApp.sendEmail(oners[p][0][3], subject, msg);
});
}
EDIT:
- Practic, mi-ar place script-ul pentru a vedea ID-ul de Proiect pe Task Sheet apuca numele proiectului (Proiect) și Proprietarul Apoi găsiți cele legate de "Subactivitate" Proiect Nume" și conexe "Note" pentru că numele proiectului
și trimite titularului de Proiect un e-mail cu Nume Proiect Subtask 1 subactivitate 2... Nota 1 Nota 2 idealoutput