Skip to content

Instantly share code, notes, and snippets.

@dokluch
Created July 17, 2018 09:53
Show Gist options
  • Save dokluch/f4a31312e43fd304d12a4d9a5fb17540 to your computer and use it in GitHub Desktop.
Save dokluch/f4a31312e43fd304d12a4d9a5fb17540 to your computer and use it in GitHub Desktop.
Copies expressions in Google Sheet on form submission
function setDelta(e) {
//Работает только для одометра
function setYesterDate(sheet, row, col){
//выставляет вчерашнюю дату
var MILLIS_PER_DAY = 1000 * 60 * 60 * 24;
var dateCell = col + String(row);
var today = new Date();
var yesterday = new Date(today.getTime() - MILLIS_PER_DAY);
yesterday = yesterday.getDate() + '.' + (yesterday.getMonth() + 1) + '.' + yesterday.getFullYear();
sheet.getRange(dateCell).setValue(yesterday);
}
function setDeltaDate(sheet, row, col, delta){
//выставляет дату, отстоящую от текущей на дельту
//пока что не используется
var MILLIS_PER_DAY = 1000 * 60 * 60 * 24 * delta;
var dateCell = col + String(row);
var today = new Date();
var yesterday = new Date(today.getTime() - MILLIS_PER_DAY);
yesterday = yesterday.getDate() + '.' + (yesterday.getMonth() + 1) + '.' + yesterday.getFullYear();
sheet.getRange(dateCell).setValue(yesterday);
}
var odoSheet = e.source.getSheetByName("Одометр");
var spendSheet = e.source.getSheetByName("Траты");
if(odoSheet){
var lastRow = e.range.getRow();
//Копируем дельту
var prevCellDelta = odoSheet.getRange("D"+(lastRow-1));
prevCellDelta.copyTo(odoSheet.getRange("D"+lastRow));
//Копируем понедельники
var prevCellMondays = odoSheet.getRange("G"+(lastRow-1));
prevCellMondays.copyTo(odoSheet.getRange("G"+lastRow));
if(odoSheet.getRange("B"+lastRow).getValue() == "Вчера"){
setYesterDate(odoSheet, lastRow, "B");
}
}
if(spendSheet){
var lastRow = e.range.getRow();
//Копируем цену на бенз
var prevGasPrice = spendSheet.getRange("G"+(lastRow-1));
prevGasPrice.copyTo(spendSheet.getRange("G"+lastRow));
}
}
function doStuff(e) {
Logger.log(e.triggerUid)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment