Reparatie- & verkoopprijzen beheren — alleen voor managers
Gebruik de beheercode van de manager
Prijsbeheer
Verbinden met Google Sheets...
✓ Geen wijzigingen
Koppeling met Google Sheets instellen
Volg de stappen hieronder om de prijzen te koppelen aan een Google Spreadsheet. Dit hoeft maar één keer ingesteld te worden.
1
Maak een nieuw Google Spreadsheet aan
Ga naar sheets.google.com en maak een leeg spreadsheet. Voeg twee tabbladen toe (onderaan het scherm) met exact de namen Prijzen en Verkoopprijzen.
2
Maak een Apps Script aan
Klik in het spreadsheet op Extensies → Apps Script. Verwijder alle bestaande code en plak de onderstaande code. Verander JOUW_TOKEN_HIER in iets geheims (bijv. tc2024geheim).
// Telecombinatie Prijsbeheer — Apps Script v2
var TOKEN = 'JOUW_TOKEN_HIER'; // << verander dit in een geheim woord
function doGet(e) {
var type = (e && e.parameter && e.parameter.type) ? e.parameter.type : 'prijzen';
var sheetName = type === 'verkoop' ? 'Verkoopprijzen' : 'Prijzen';
var sheet = SpreadsheetApp.getActive().getSheetByName(sheetName);
if (!sheet) return err('Tabblad "' + sheetName + '" niet gevonden');
var data = sheet.getDataRange().getValues();
var csv = data.map(function(r){ return r.join(','); }).join('\n');
return ContentService.createTextOutput(csv)
.setMimeType(ContentService.MimeType.TEXT);
}
function doPost(e) {
try {
var p = JSON.parse(e.postData.contents);
if (p.token !== TOKEN) return err('Ongeldig token');
var type = p.type || 'prijzen';
var sheetName = type === 'verkoop' ? 'Verkoopprijzen' : 'Prijzen';
var sheet = SpreadsheetApp.getActive().getSheetByName(sheetName);
if (!sheet) sheet = SpreadsheetApp.getActive().insertSheet(sheetName);
sheet.clearContents();
var rows;
if (type === 'verkoop') {
rows = [['model','grade','gb','prijs']];
p.data.forEach(function(m) {
['A','B','C'].forEach(function(grade) {
m.s.forEach(function(gb) {
if (m[grade] && m[grade][gb] !== undefined)
rows.push([m.n, grade, gb, m[grade][gb]]);
});
});
});
sheet.getRange(1,1,rows.length,4).setValues(rows);
} else {
rows = [['brand','model_id','model_label','model_group','cat','repair_name','price']];
Object.keys(p.data).forEach(function(brand) {
p.data[brand].models.forEach(function(model) {
model.repairs.forEach(function(repair) {
rows.push([brand, model.id, model.label, model.group||'',
repair.cat, repair.name, repair.price]);
});
});
});
sheet.getRange(1,1,rows.length,7).setValues(rows);
}
return ContentService.createTextOutput('OK')
.setMimeType(ContentService.MimeType.TEXT);
} catch(ex) { return err(ex.message); }
}
function err(msg) {
return ContentService.createTextOutput('ERROR: '+msg)
.setMimeType(ContentService.MimeType.TEXT);
}
3
Implementeer als Web App
Klik op Implementeren → Nieuwe implementatie. Kies type: Web-app. Stel in: Uitvoeren als: Ik en Toegang: Iedereen. Klik Implementeren en kopieer de URL.
4
Vul de URL en het token in
Plak hieronder de Web App URL en het token dat je in stap 2 hebt gekozen. Klik dan op Verbinding testen.
5
Sla op en initialiseer de sheets
Klik op Opslaan & verbinden om de koppeling op te slaan. Klik daarna op Initialiseer alle prijzen om zowel de reparatie- als verkoopprijzen naar Google Sheets te sturen. Dit hoef je maar één keer te doen.