j'ai fais la modification mais je n'arrive toujours pas à lire les données !
These:
should all be obtenir recordData
If that doesn't work, set recordData to a label and provide the output.
je suis totalement perdu , car ça ne fonctionne pas et quand je clique sur le bouton22 la page (arrangement_infoenfant1) ne s'ouvre pas .
If I get time this evening, I will put together a working example....
super merci , car après je veux pouvoir modifier les données
Hmmm, needed more work as a standalone script...
BLOCKS
SCRIPT
var ss = SpreadsheetApp.openById('1anRffATqaLdmm9uacIThgLKdmEF_mVvmEm12zwu3ZGY');
var sh = ss.getSheetByName('reports');
function doGet(e) {
if (e.parameter.func == "WriteReadReport") {
var nom = e.parameter.nom;
var date = e.parameter.date;
var repas = e.parameter.repas ;
sh.appendRow([nom,repas,date]);
SpreadsheetApp.flush();
var ref = [];
var rg = sh.getDataRange().getValues();
for (var i=0;i<rg.length;i++) {
if (rg[i][0] == nom) {
ref.push(rg[i][0]);
ref.push(rg[i][1]);
ref.push(Utilities.formatDate(rg[i][2], "GMT", 'YYYY-MM-dd'));
}
}
return ContentService.createTextOutput(JSON.stringify(ref)).setMimeType(ContentService.MimeType.JSON);
}
}
SHEET
SCREEN
I have shown the Web1.GotText output in a label. You should be able to use the jsontextencode block to convert the responseContent back into an AI2 list, and then extract each element.
If you have the variables rg
or ref
elsewhere in your script as global variables, then use another variable name for these, that is not declared elsewhere.
Make sure you run your script in the script editor, to ensure that permissions are set.
j'ai essayé beaucoup de solution mais ça ne fonctionne pas.
Voilà tout mes blocs
et mon script
function doGet(e) {
var ss = SpreadsheetApp.openById('1BSUDHn08h6YlrtgfeoQEVhjdvNp3rGPxZiTVq9r');
var sheet = ss.getSheetByName("Sheet1");
var sh = ss.getSheetByName("Sheet2");
var nom = e.parameter.nom ;
var motdepasse = e.parameter.motdepasse ;
var msg;
if ( e.parameter.func == "register" ) {
sheet.appendRow([nom,motdepasse]);
return ContentService.createTextOutput("Nouveau compte");
}
else if ( e.parameter.func == "testLogin" ) {
var msg = "Information incorrecte";
var loginData = sheet.getDataRange().getValues();
for ( var i = 0; i < loginData.length; i++ ) {
if ( nom == loginData[i][0] && motdepasse == loginData[i][1] ) {
msg = "connecté";
}
}
return ContentService.createTextOutput(msg);
}
else if ( e.parameter.func == "supprimer" ) {
var loginData = sheet.getDataRange().getValues();
for (var i = 0; i < loginData.length; i++ ) {
if ( nom == loginData[i][0] && motdepasse == loginData[i][1] ) {
msg = "compte supprimé";
sheet.deleteRow(i+1);
}
}
var reportData = sh.getDataRange().getValues();
for (var i = 0; i < reportData.length; i++ ) {
if ( nom == reportData[i][0] ) {
msg = " compte supprimé";
sh.deleteRow(i+1);
}
}
return ContentService.createTextOutput(msg);
}
if (e.parameter.func == "WriteReadReport") {
var nom = e.parameter.nom ;
var date = e.parameter.date ;
var repas = e.parameter.repas ;
var change = e.parameter.change ;
var sieste = e.parameter.sieste ;
var soins = e.parameter.soins ;
var transmission = e.parameter.transmission ;
sh.appendRow([nom,date,repas,change,sieste,soins,transmission]);
SpreadsheetApp.flush();
var ref = ;
var rg = sh.getDataRange().getValues();
for (var i=0;i<rg.length;i++) {
if (rg[i][0] == nom) {
ref.push(rg[i][0]);
ref.push(rg[i][1]);
ref.push(Utilities.formatDate(rg[i][2], "GMT", 'YYYY-MM-dd'));
}
}
return ContentService.createTextOutput(JSON.stringify(ref)).setMimeType(ContentService.MimeType.JSON);
}
}
OK
You did not full understand my example
-
var ref = ;
should bevar ref = [];
(square brackets to create an array variable) -
in your version of the script:
rg[i][0]
= nom
rg[i][1]
= date - so this needs to be formatted > Utilities.formatDate(rg[i][1], "GMT", 'YYYY-MM-dd')
rg[i][2]
= repas
rg[i][3]
= change
rg[i][4]
= sieste
rg[i][5]
= soins
rg[i][6]
= transmission
amend your script accordingly
comme ça ?
if (e.parameter.func == "WriteReadReport") {
var nom = e.parameter.nom ;
var date = e.parameter.date ;
var repas = e.parameter.repas ;
var change = e.parameter.change ;
var sieste = e.parameter.sieste ;
var soins = e.parameter.soins ;
var transmission = e.parameter.transmission ;
sh.appendRow([nom,date,repas,change,sieste,soins,transmission]);
SpreadsheetApp.flush();
var ref = [ ] ;
var rg = sh.getDataRange().getValues();
for (var i=0;i<rg.length;i++) {
if (rg[i][0] == nom) {
ref.push(rg[i][0]);
ref.push(rg[i][1]>Utilities.formatDate(rg[i][1], "GMT", 'YYYY-MM-dd'));
ref.push(rg[i][2]);
ref.push(rg[i][3]);
ref.push(rg[i][4]);
ref.push(rg[i][5]);
ref.push(rg[i][6]);
}
oui, il regarde bien
j'ai essayé et ça ne fonctionne pas je n'arrive pas à lire les données dans chaque label
(les données prenom dans label prenom)
(les données date dans le label date)
(les données repas dans le label repas) ..........
Sorry, the line for date needs to be:
ref.push(Utilities.formatDate(rg[i][1], "GMT", 'YYYY-MM-dd'));
Try returning all the data to a single label, then you can see what is being returned in total
ok la date c'est bon.
j'ai renvoyé les données sur une étiquette et ça ne fonctionne pas , quand je clique sur le bouton il y a une notification qui affiche les données que j'ai écrite , et l'écran ne change toujours pas.
What do you see in the label (which should contain the response Content) ?
l'étiquette est vide
Your blocks are like this ?
oui
comme dans ceux que j'ai montré plus haut , et j'ai mis 1 label
je vais remettre mes blocs modifiés
Is the data being written to the spreadsheet ?