Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function sort() {
- let ss = SpreadsheetApp.getActiveSpreadsheet();
- let ws = ss.getSheets()[0];
- let activeCell = ws.getActiveCell();
- if (activeCell.getColumn() === 6 && activeCell.getValue() === true) {
- archive();
- ws.getRange('A2:H').sort({ column: 3, ascending: false });
- return
- }
- }
- function sortNewOrder() {
- let ss = SpreadsheetApp.getActiveSpreadsheet();
- let ws = ss.getSheets()[0];
- ws.getRange('A2:H').sort({ column: 3, ascending: false });
- }
- function archive() {
- let ss = SpreadsheetApp.getActiveSpreadsheet();
- let wsData = ss.getSheets()[0];
- let wsArchive = ss.getSheets()[1];
- let activeCell = wsData.getActiveCell();
- if (activeCell.getColumn() === 6 && ss.getSheetId() == 0) {
- let lastRow = wsArchive.getLastRow();
- let service = wsData.getRange(activeCell.getRow(), 5).getValue();
- wsArchive.insertRowsAfter(wsArchive.getMaxRows(), 1);
- wsData.getRange(activeCell.getRow(), 1, 1, 5).copyTo(wsArchive.getRange(lastRow + 1, 1, 1, 5), { contentsOnly: true });
- wsData.getRange(activeCell.getRow(), 7).copyTo(wsArchive.getRange(lastRow + 1, 7), { contentsOnly: true });
- if (service !== "") {
- let wsSettings = ss.getSheets()[5];
- let serviceData = wsSettings.getRange(3, 4, wsSettings.getLastRow() - 2, 2).getValues().flat();
- let indexServ = serviceData.indexOf(service);
- let interval = serviceData[indexServ - 1];
- if (interval === 2) {
- let time = wsData.getRange(activeCell.getRow(), 4).getValue();
- let timeData = wsSettings.getRange(2, 2, wsSettings.getLastRow() - 1).getValues().flat();
- let indexTime = timeData.indexOf(time);
- let newTime = timeData[indexTime + 1]
- wsArchive.insertRowsAfter(wsArchive.getMaxRows(), 1);
- wsArchive.getRange(wsArchive.getLastRow() + 1, 1, 1, 4).setValues([['Блокировка времени', '', wsData.getRange(activeCell.getRow(), 3).getValue(), newTime]])
- }
- }
- let chat_id = wsData.getRange(activeCell.getRow(), 8).getValue();
- if (chat_id !== "") {
- let date = wsData.getRange(activeCell.getRow(), 3, 1, 3).getDisplayValues();
- let contents = {
- "message": {
- "text": "✅ Вы успешно записались: \n📆 <b>|" + date[0][0] + " " + clock.emoji[+date[0][1].replace(':', '')] + date[0][1] + "|\n" + busyTime + " |Услуга: " + date[0][2] + "|</b>",
- }
- }
- sendAdminMessage(contents, chat_id)
- }
- activeCell.uncheck();
- wsData.getRange(activeCell.getRow(), 5).clearContent();
- wsData.getRange(activeCell.getRow(), 1, 1, 6).clearFormat();
- wsArchive.getRange('A2:H').sort({ column: 3, ascending: false });
- formatting()
- }
- }
- function archiveAuto(row) {
- // row = 3;
- let ss = SpreadsheetApp.openById(spreadSheetId);
- let wsData = ss.getSheets()[0];
- let wsArchive = ss.getSheets()[1];
- if (ss.getSheetId() == 0) {
- let lastRow = wsArchive.getLastRow();
- let service = wsData.getRange(row, 5).getValue();
- wsArchive.insertRowsAfter(wsArchive.getMaxRows(), 1);
- wsData.getRange(row, 1, 1, 5).copyTo(wsArchive.getRange(lastRow + 1, 1, 1, 5), { contentsOnly: true });
- wsData.getRange(row, 7).copyTo(wsArchive.getRange(lastRow + 1, 7), { contentsOnly: true });
- if (service !== "") {
- let wsSettings = ss.getSheets()[5];
- let serviceData = wsSettings.getRange(3, 4, wsSettings.getLastRow() - 2, 2).getValues().flat();
- let indexServ = serviceData.indexOf(service);
- let interval = serviceData[indexServ - 1];
- console.log(interval)
- if (interval === 2) {
- let time = wsData.getRange(row, 4).getValue();
- let timeData = wsSettings.getRange(2, 2, wsSettings.getLastRow() - 1).getValues().flat();
- let indexTime = timeData.indexOf(time);
- let newTime = timeData[indexTime + 1]
- wsArchive.insertRowsAfter(wsArchive.getMaxRows(), 1);
- wsArchive.getRange(wsArchive.getLastRow() + 1, 1, 1, 4).setValues([['Блокировка времени', '', wsData.getRange(row, 3).getValue(), newTime]])
- }
- }
- let chat_id = wsData.getRange(row, 8).getValue();
- if (chat_id !== "") {
- let date = wsData.getRange(row, 3, 1, 3).getDisplayValues();
- let contents = {
- "message": {
- "text": "✅ Вы успешно записались: \n📆 <b>|" + date[0][0] + " " + clock.emoji[+date[0][1].replace(':', '')] + date[0][1] + "|\n" + busyTime + " |Услуга: " + date[0][2] + "|</b>",
- }
- }
- sendAdminMessage(contents, chat_id)
- }
- wsData.getRange(row, 6).uncheck();
- wsData.getRange(row, 5).clearContent();
- wsData.getRange(row, 1, 1, 6).clearFormat();
- wsArchive.getRange('A2:H').sort({ column: 3, ascending: false });
- formatting()
- }
- }
- function formatting() {
- let ss = SpreadsheetApp.getActiveSpreadsheet();
- let ws = ss.getSheets()[0];
- let conditionalFormatRules = ws.getConditionalFormatRules();
- conditionalFormatRules.splice(0, 1, SpreadsheetApp.newConditionalFormatRule()
- .setRanges([ws.getRange('A:H')])
- .whenFormulaSatisfied('=FIND("Занять";$A1)')
- .setBackground('#00FFFF')
- .build());
- ws.setConditionalFormatRules(conditionalFormatRules);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement