Скрипт зацикливался на 3-5 раз и затем останавливался - PullRequest
0 голосов
/ 08 июня 2018

Я работаю над скриптом приложения для моего проекта.Я очень новый на всех языках программирования.У меня возникла проблема с определенным разделом кода, который он запускает в цикле 3-5 раз, а затем останавливается сам по себе.Весь код:

var EMAIL_SENT = "EMAIL_SENT";

function Test() {
    autofill();
    replace();
    var sheet = SpreadsheetApp.getActiveSheet();
    var startRow = 2;
    var numRows = sheet.getLastRow() - 1;
    var lastColumn = sheet.getLastColumn();
    var dataRange = sheet.getRange(startRow, 1, numRows, lastColumn)
    var data = dataRange.getValues();
    for (var i = 0; i < data.length; ++i) {
        var row = data[i];

        var lastRow = sheet.getLastRow();
        var service = sheet.getRange(lastRow, 11).getValue();
        if (service === 0) {
            filterBTC();
            codeBTC();
        } else {
            var spreadsheet = SpreadsheetApp.getActive();
            spreadsheet.getRange('K1').activate();
            var criteria = SpreadsheetApp.newFilterCriteria()
                .setHiddenValues(['0'])
                .build();
            spreadsheet.getActiveSheet().getFilter().setColumnFilterCriteria(11, criteria);
            spreadsheet.getRange('B1').activate();
            spreadsheet.getActiveSheet().getFilter().sort(2, true);
            spreadsheet.getRange('B3').activate();
            spreadsheet.getActiveRange().autoFill(spreadsheet.getRange('B3:B561'),
                SpreadsheetApp.AutoFillSeries.ALTERNATE_SERIES);
            spreadsheet.getRange('B3:B561').activate();
            SendOrder();
            removefilters();
        }
    }
}

Секция, которая застряла в цикле:

var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('K1').activate();
var criteria = SpreadsheetApp.newFilterCriteria()
    .setHiddenValues(['0'])
    .build();
spreadsheet.getActiveSheet().getFilter().setColumnFilterCriteria(11, criteria);
spreadsheet.getRange('B1').activate();
spreadsheet.getActiveSheet().getFilter().sort(2, true);
spreadsheet.getRange('B3').activate();
spreadsheet.getActiveRange().autoFill(spreadsheet.getRange('B3:B561'),
    SpreadsheetApp.AutoFillSeries.ALTERNATE_SERIES);
spreadsheet.getRange('B3:B561').activate();
SendOrder();
removefilters();

Пожалуйста, помогите, я пытаюсь завершить этот проект уже почти неделю.Спасибо!

1 Ответ

0 голосов
/ 09 июня 2018

Если вы начинающий программист, вы должны сначала изучить, как отлаживать код и выполнять сценарий пошагово, и посмотреть, как меняется каждая переменная / объект вместо тысяч журналов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...