Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const SHEET_ADD_ID = 0
- const SHEET_CUSTOMERS_DB_ID = 2010334126
- const SHEET_RESULT_ID = 1793715858
- function getNameById(id) {
- const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets().filter(ws => {
- return ws.getSheetId() === id;
- })[0];
- const sheetName = sheet.getSheetName();
- return sheetName;
- }
- function getAdds() {
- const addSheet = SpreadsheetApp.getActiveSpreadsheet().findSheetByName(getNameById(SHEET_ADD_ID))
- let rangeADDs = addSheet.getRange('A2:B').getValues();
- rangeADDs = rangeADDs.filter(item => item[0] != '');
- rangeADDs.forEach(item => item[1] = item[1] == '' ? 0 : item[1]);
- rangeADDs = rangeADDs.reduce((acc, curr) => (acc[curr[0]] = curr[1], acc), {});
- return rangeADDs
- }
- function getCustomersDB() {
- const addSheet = SpreadsheetApp.getActiveSpreadsheet().findSheetByName(getNameById(SHEET_CUSTOMERS_DB_ID))
- let rangeADDs = addSheet.getRange('A2:A').getValues();
- rangeADDs = rangeADDs.filter(item => item[0] != '');
- rangeADDs = [...new Set(rangeADDs)];
- return rangeADDs
- }
- function getResult() {
- const addSheet = SpreadsheetApp.getActiveSpreadsheet().findSheetByName(getNameById(SHEET_RESULT_ID))
- let rangeADDs = addSheet.getRange('A2:B').getValues();
- rangeADDs = rangeADDs.filter(item => item[0] != '');
- rangeADDs.forEach(item => item[1] = item[1] == '' ? 0 : item[1]);
- rangeADDs = rangeADDs.reduce((acc, curr) => (acc[curr[0]] = (curr[1]), acc), {});
- return rangeADDs
- }
- function getGoods(customerName, ADDs, SHEET_RESULT_ID) {
- const addValue = ADDs[customerName] ?? 0;
- const newCountCoods = `${parseInt(SHEET_RESULT_ID[customerName])}` == `NaN` ? 0 : parseInt(SHEET_RESULT_ID[customerName])
- const countGoods = addValue + newCountCoods;
- console.log(addValue + ' ' + newCountCoods)
- return [customerName, countGoods];
- }
- function makeNewResult() {
- const ADDs = getAdds();
- const customers = getCustomersDB();
- const SHEET_RESULT_ID = getResult();
- const newSHEET_RESULT_ID = [];
- customers.forEach(customerName => newSHEET_RESULT_ID.push(getGoods(customerName[0], ADDs, SHEET_RESULT_ID)));
- return newSHEET_RESULT_ID;
- }
- function saveSHEET_RESULT_ID() {
- const newResalt = makeNewResult();
- const addSheet = SpreadsheetApp.getActiveSpreadsheet().findSheetByName(getNameById(SHEET_RESULT_ID))
- let rangeADDs = addSheet.getRange(`A2:B${newResalt.length+1}`).setValues(newResalt)
- }
- function clearADDs() {
- const addSheet = SpreadsheetApp.getActiveSpreadsheet().findSheetByName(getNameById(SHEET_ADD_ID))
- let rangeADDs = addSheet.getRange('B2:B').setValue('')
- }
- saveSHEET_RESULT_ID()
- clearADDs()
- // function onEdit(e) {
- // var name = e.user
- // var range = e.range;
- // var spreadSheet = e.source;
- // var sheetName = spreadSheet.getActiveSheet().getName();
- // var row = range.getRow();
- // var column = range.getColumn();
- // if(sheetName == 'add')
- // {
- // saveSHEET_RESULT_ID()
- // clearADDs()
- // }
- // if(sheetName == 'task 1-2' && row > 1 && column != 17 && column != 16)
- // {
- // spreadSheet.getActiveSheet().getRange(row,16).setValue(name)
- // }
- // if(sheetName == 'task 1-2' && row > 1 && column != 17 && column != 16)
- // {
- // var new_date = new Date();
- // spreadSheet.getActiveSheet().getRange(row,17).setValue(new_date).setNumberFormat("yyyy-MM-dd hh:mm:ss A/P");
- // }
- // }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement