Привет друзья.
Столкнулся с проблемой, которую не могу решить собственными силами и обращаюсь к вам за помощью. Задача заключается в том, чтобы проверить все ячейки в столбце и найти те, статус которых не соответствует значению "Бан".
Затем получить номер строки по каждой ячейке с нужным статусом и по очереди для них выполнить мой скрипт. Сейчас этот скрипт получает данные из разлычных столбцов активной(выбранной) строки, отправляет GET запрос и записывает полученные в ответ данные в другие столбцы активной строки. Мне нужно то же самое, только в автоматическом режиме. Но я не знаю, как написать функцию, которая будет перебирать весь массив данных из диапазона, получать номера строк, которые соответствуют условию и отрабатывать по ним скрипт.
Вот код моего скрипта:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var activeCell = ss.getActiveSheet().getActiveCell();
var sheet = ss.getSheetByName("Тех");
var rowNum = activeCell.getRow();
var accID = ss.getSheetByName("Тех").getRange(rowNum , 7).getValue();
var rkID = ss.getSheetByName("Тех").getRange(rowNum , 8).getValue();
var options = "JLZlG30r5d7_NGLKyH-nTzwiKJFNNRWKKV";
var rowExa = sheet.getRange(rowNum , 10);
var rowExb = sheet.getRange(rowNum, 11);
var rowExc = sheet.getRange(rowNum, 12);
var rowExd = sheet.getRange(rowNum, 13);
var rowExe = sheet.getRange(rowNum, 14);
var curDate = new Date();
var status = ss.getSheetByName("Тех").getRange(rowNum, 10).getValue();
var response = UrlFetchApp.fetch("https://fbtool.pro/api/get-adaccounts?key=" + options + "&account=" + accID + "&ad_account=" + rkID);
var datas = JSON.parse(response);
var status = datas.data[0].account_status;
var currency = datas.data[0].currency;
var trshhold = datas.data[0].adspaymentcycle.data[0].threshold_amount/100;
var curntspent = datas.data[0].current_unbilled_spend.offsetted_amount/100;
var totalspent = datas.data[0].amount_spent/100;
rowExa.setValue(status);
rowExb.setValue(currency);
rowExc.setValue(trshhold);
rowExd.setValue(curntspent);
rowExe.setValue(totalspent);
if(ss.getSheetByName("Тех").getRange(rowNum, 15).getValue() == "" && status == "1") {
ss.getSheetByName("Тех").getRange(rowNum, 15).setValue(curDate)
} else {
ss.getSheetByName("Тех").getRange(rowNum, 16).setValue(curDate)
}
Буду очень благодарен за любую помощь в решении этого вопроса)