Plage de données exporté dans Gmail
bonjour a tous
j'ai une feuille google sheet avec des lignes de prise de rendez vous
j'ai crée une plage de données (Stocks) selon les consignes d'un "tuto" trouvé sur internet et sur cette feuille j'ai utilisée un script pour envoyer un mail récapitulatif de ma 1/2 journée de travail
Pour afficher le mail j'ai crée aussi une template html avec google script accessible depuis mon sheet
Le script fonctionne seulement dans le mail il affiche des informations pour toutes les lignes "même vide"
Mon nombre de lignes "RDV" et aléatoire et ma plage de donnés de ma feuille et fixe "A1;G12 nomée Stocks"
Je crois qu'il ya un rapport avec la boucle for "<?for(var i = 0; i < stocks.length; i++) {?>"
Ma question:
comment rendre ma plage de données dynamique?
<tbody>
<?for(var i = 0; i < stocks.length; i++) {?>
<div dir="ltr">Appels au standard de votre cabinet pour la matinée du <?= stocks[i].calcul_date ?>
<br>
<br>Appel pour le compte de : <?= stocks[i].nom_avocat ?>
<br>Nom du client : <?= stocks[i].appel_de ?>
<br>Au numéro <?= stocks[i].numero_appel ?>
<br>Heure d appel du client : <?= stocks[i].date_heure_appel ?>
<br>Caracteristiques de l appel : <?= stocks[i].carac_appel ?>
<br>Si prise de rendez-vous, pris pour le : <?= stocks[i].dateheure_rdv ?>
<br>Syntèse de l'appel : <?= stocks[i].syntese_ticket ?>
<br>-----------------------
</div>
<? } ?>
</tbody>
function getEmailHtml(stockData) {
var htmlTemplate = HtmlService.createTemplateFromFile("Template.html");
htmlTemplate.stocks = stockData;
var htmlBody = htmlTemplate.evaluate().getContent();
return htmlBody;
}
function sendEmail() {
var stockData = getData();
var body = getEmailText(stockData);
var htmlBody = getEmailHtml(stockData);
MailApp.sendEmail({
to: "*******@gmail.com",
subject: "Récapitulatif des appels ",
body: body,
htmlBody: htmlBody
});
}
//function sendEmail() {
//var stockData = getData();
//var body = getEmailText(stockData);
//MailApp.sendEmail({
// to: "*******@gmail.com",
//subject: "Récapitulatif des appels de la matinée",
//body: body
//});
//}
function getEmailText(stockData) {
var text = "Appels au standard de votre cabinet pour la matinée du ";
stockData.forEach(function(stock) {
text = text + stock.calcul_date + "\n\n" + stock.nom_avocat+"\n"+ stock.appel_de + "\n" + stock. numero_appel + "\n" +stock.date_heure_appel+"\n" +stock.carac_appel+"\n" +stock.dateheure_rdv+"\n" +stock.syntese_ticket+"\n-----------------------\n\n";
});
return text;
}
/**
* @OnlyCurrentDoc
*/
function getData() {
var values =SpreadsheetApp.getActive().getSheetByName("Récapitulatif matinée").getRange("Stocks").getValues(); //SpreadsheetApp.getActive().getRange("Récapitulatif matinée").getValues();
values.shift(); //remove headers
var stocks = [];
values.forEach(function(value) {
var stock = {};
stock.calcul_date = value[9] ;
stock.nom_avocat = value[8]; //"Appel pour le compte de : "+ value[8]
stock.appel_de = value[3];//"Nom du client : "+ value[3];
stock.numero_appel = value[4] ;// "Au numéro "+
stock. numero_dos = value[7] ;//"Si N°de dossier ou nom de dossier : " +
stock.date_heure_appel = value[10] ;//"Heure d'appel du client : "+
stock.carac_appel = value[0] ;//"Caracteristiques de l'appel : "+
stock.alert_appel = value[6] ;
stock.dateheure_rdv = value[11] ;//"Si prise de rendez-vous, pris pour le : "+
stock.syntese_ticket = value[2];//"Syntèse de l'appel : "+
stocks.push(stock);
})
//Logger.log(JSON.stringify(stocks));
return stocks;
}
Merci de vos réponses
Bonjour, et bienvenue
je n'ai pas une vision complète, mais je pense qu'il suffit de mettre ici un test sur l'une des valeurs de la ligne
values.forEach(function(value) {
if (value[8] != '') {
var stock = {};
// ...
stocks.push(stock);
}
})
Merci de ta réponse
si je comprend bien quand il trouve cette valeur le script arrête de copier les lignes de (Stocks) comment lui indiquer une valeur vide
Je débute vraiment j"aimerais comprendre
merci d'avance
C'est cela, en espérant que cela réponde (car encore une fois je n'ai pas toute la vision du projet). Plus précisément, il "zappe" la ligne qui a une valeur blanche et passe à la suivante.