Слишком много одновременных вызовов Google Script

Я настроил некоторый код для копирования и вставки определенного значения из формулы, используя отправку формы в качестве триггера. Это сработало! Но теперь это дает мне ошибку «слишком много одновременных вызовов» со ссылкой на строку 3.

Он не вызывался более 20 раз в день (как я знаю, это установленный предел), поэтому я представляю, что сделал что-то не так с моим кодом... (я НЕ парень JS.)

function pasteValue(){
var sheet = 
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('INVOICES')
var lastRow = sheet.getDataRange().getValues();

lastRow.forEach(function (row,index) {
    if (row[1] == "") {  
        lastRow.length = index;
    }
});

var newRange = sheet.getRange(lastRow.length,13);
newRange.copyTo(newRange, {contentsOnly: true})
sheet.setActiveRange(newRange);
}

Почему вы копируете диапазон в себя? "newRange.copyTo(newRange, {contentsOnly: true})"

filipe 30.05.2019 23:26

При отправке формы производятся расчеты с переменным процентом, который меняется со временем). Я хочу точно записать, что было на момент отправки, поэтому я вставляю формулу как значение.

Joshua Smith 31.05.2019 00:25

Попробуйте добавить SpreadsheetApp.flush()

TheMaster 31.05.2019 12:57
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
3
512
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вы хотите удалить формулы, проще сделать что-то подобное с «отображаемыми значениями»:

function pasteValue(){
var sheet = 
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('INVOICES')
var data = sheet.getDataRange().getDisplayValues();
sheet.getRange(1, 1,data.length, data[0].length).setValues(data);
}

Другие вопросы по теме