Skip to content

Instantly share code, notes, and snippets.

@adasq
Created August 5, 2015 14:59
Show Gist options
  • Save adasq/1f8b412875965822ac5d to your computer and use it in GitHub Desktop.
Save adasq/1f8b412875965822ac5d to your computer and use it in GitHub Desktop.
function setTimestamp() {
var formattedDate = Utilities.formatDate(new Date(), "GMT+2", "yyyy-MM-dd HH:mm:ss");
return formattedDate;
}
var mapper = {
'client': {
col: 1,
parse: function(input){
var clients = getClients();
return {
'name': input,
'vat-id': clients[input]
};
}
},
'unt': {
col: 2
},
'qty': {
col: 3
},
'price': {
col: 4
},
'amount': {
col: 5
},
'vat': {
col: 6
},
'total': {
col: 7
},
'category': {
col: 8
} ,
'description': {
col: 9
} ,
'month': {
col: 10
}
};
function getClients(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[3];
var values = sheet.getRange(2, 1, 2, 2).getValues();
var clients = {};
for(var i = 0;i< values.length; ++i){
var name = values[i][0];
var id = values[i][1];
clients[name] = id;
}
return clients;
}
function getDataByRow(row){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[1];
var resultObj = {};
var lineData = sheet.getRange(row + 1, 1, 1, 11).getValues();
for(var key in mapper){
var obj = mapper[key];
var value = lineData[0][obj.col-1];
resultObj[key] = obj.parse ? obj.parse(value) : value;
}
return resultObj;
}
function onGenerateInvoice(){
var data = getDataByRow(1);
Logger.log(data);
//sendPOST(data);
}
function sendPOST(data){
var options = {
"method" : "post",
"payload" :data
};
var response = UrlFetchApp.fetch("http://jsonplaceholder.typicode.com/posts/", options);
Logger.log('============');
Logger.log(response);
}
//===============================================================
function createTriggers(){
var sheet = SpreadsheetApp.getActive();
ScriptApp.newTrigger("onEdit")
.forSpreadsheet(sheet)
.onChange()
.create();
ScriptApp.newTrigger("onEdit")
.forSpreadsheet(sheet)
.onEdit()
.create();
}
function onChange(e){
// var response = UrlFetchApp.fetch("http://jsonplaceholder.typicode.com/posts/");
Logger.log('trigger occur');
Logger.log(e);
}
// Browser.msgBox(response);
//var ui = SpreadsheetApp.getUi();
//var uiResponse = ui.prompt('Getting to know you', 'May I know your name?', ui.ButtonSet.YES_NO);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment