Есть ли причина, по которой время ожидания скрипта в одной электронной таблице истекло, а не в следующей? - PullRequest
0 голосов
/ 24 апреля 2019

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

https://docs.google.com/spreadsheets/d/1NJfCbZjqpLCxNniJ96QiT_51y0Hd11H36SuFTyTVB_A/edit?usp=sharing

Для этого листа в качестве примера функционирующего сценария требуется около 30 секунд и он работает: https://docs.google.com/spreadsheets/d/1tbnQYQrwfKN9yk48e5g48Lj18tLmE9iEYL6U80e4DMs/edit?usp=sharing

Для первого листа время ожидания истекло. Моя цель - заставить его работать на самом деле!

Превратил это в массив, который сократил время только из копии значений, но это не помогло первой ссылке выше.


//code that times out
function CopyDataToNewFile7() {
  const source = SpreadsheetApp.openById('1sX6VTyedVLBL57EMSuD7cqUwe9GzoCRajLZhA1ZBJ3Q').getSheetByName('Final'); // sss = source spreadsheet


  const destination8=SpreadsheetApp.openById('1NJfCbZjqpLCxNniJ96QiT_51y0Hd11H36SuFTyTVB_A');//Jordan fixed



 const target8 =   destination8.getSheetByName('All Team Data')



const dataToCopy = source.getDataRange().getValues();

   result = [];


  for (i=0; i<dataToCopy.length;i++){
  result.push(dataToCopy[i]);

  }



target8
         .getRange(1,1,result.length,result[0].length).setValues(result);
}
//code that works
function CopyDataToNewFile8() {
  const source = SpreadsheetApp.openById('1sX6VTyedVLBL57EMSuD7cqUwe9GzoCRajLZhA1ZBJ3Q').getSheetByName('Final'); // sss = source spreadsheet


  const destination15=SpreadsheetApp.openById('1tbnQYQrwfKN9yk48e5g48Lj18tLmE9iEYL6U80e4DMs');//Mandee





  const target15 =  destination15.getSheetByName('All Team Data');




const dataToCopy = source.getDataRange().getValues();

   result = [];


  for (i=0; i<dataToCopy.length;i++){
  result.push(dataToCopy[i]);

  }



target15
         .getRange(1,1,result.length,result[0].length).setValues(result);



}

Следует скопировать и вставить не более минуты, но это не так и время ожидания истекло. Есть мысли?

Я вижу сообщение об ошибке: Тайм-аут службы: электронные таблицы (строка 266, файл "Код")

Строка кода:

.getRange(1,1,result.length,result[0].length).setValues(result);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...