Сценарии Google - просмотр журнала застрял в "Ожидание журналов, подождите ..." - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь запустить сценарий для своего Google Sheet on Scripts, но функция работает некорректно. У меня есть несколько регистраторов, чтобы проверить, почему это происходит, но каждый раз, когда я пытаюсь открыть вкладку «Журналы», я получаю следующее: enter image description here ... и он просто застревает там навсегда.

У кого нибудь была такая проблема? Какие-нибудь возможные исправления? Спасибо

РЕДАКТИРОВАТЬ: окно моих выполнений выглядит так: enter image description here

РЕДАКТИРОВАТЬ 2: Вот код, который я пытаюсь запустить, с сегментом = 1. SPREADSHEETS - это просто переменная, которой я, к сожалению, не могу поделиться, но она просто содержит некоторую информацию о сегменте импорта, которая указывает либо на 1, либо на 2.

function CopyPasteAllSheets(segment) {



for (x in SPREADSHEETS) {




if (SPREADSHEETS[x].IMPORTSEGMENT != segment) {
  // DRR added app which is redundant to intakeSpreadhseet, but keeps logic more readable
  app.toast('running loop')
console.log("ID: " + SPREADSHEETS[x].SOURCE.ID + "NO MATCH");

} else {




// Logger.log("x: "+ x) // keep commented out


var intakeSpreadsheet = SpreadsheetApp.openById(SPREADSHEETS[x].INTAKE.ID);
var intakeSheet = intakeSpreadsheet.getSheetByName(SPREADSHEETS[x].INTAKE.SHEET); //confirm formatting conventions


// This is functionally equivlent to the above, except we don't have a reference to intakeSpreadsheet anymore

// Access the Spreadsheet and sheet you want to copy the data TO
console.log("ID: "+ SPREADSHEETS[x].SOURCE.ID)
var sourceSpreadsheet = SpreadsheetApp.openById(SPREADSHEETS[x].SOURCE.ID);
var sourceSheet = sourceSpreadsheet.getSheetByName(SPREADSHEETS[x].SOURCE.SHEET);
var sourceStartRow = SPREADSHEETS[x].SOURCE.STARTROW;
var sourceStartCol = SPREADSHEETS[x].SOURCE.STARTCOL;
var sourceRangeCol = SPREADSHEETS[x].SOURCE.ENDCOL - SPREADSHEETS[x].SOURCE.STARTCOL + 1;





// Get the range of the data you want and the range where you want the data to go
    var rowsToCopy = sourceSheet.getLastRow()-sourceStartRow+1; // is +1 too conservative, check...
    var rangeToCopy = sourceSheet.getRange(sourceStartRow,sourceStartCol,rowsToCopy, sourceRangeCol); 

    var dataToCopy = rangeToCopy.getValues();

var numRows = rowsToCopy;
var numColumns = sourceRangeCol;
var intakeStartRow = SPREADSHEETS[x].INTAKE.STARTROW;
var intakeStartCol = SPREADSHEETS[x].INTAKE.STARTCOL;
var rangeToPaste = intakeSheet.getRange(intakeStartRow,intakeStartCol, numRows,numColumns); // WAS FORMERLY 1,20, ..,.. ~DRR 7/14
rangeToPaste.setValues(dataToCopy);

  }
}
}
...