в таблице простую пользовательскую функцию (возвращает Id таблицы):
/**
* Returns current Spreadsheet's ID.
*
* @return Current Spreadsheet's ID (a scary part of the URL).
* @customfunction
*/
function SPREADSHEETID() {
return SpreadsheetApp.getActiveSpreadsheet().getId();
}
В подсказке функция видна (скрин 1), но в результате после Loading... ошибка (скрин 2): Internal error executing the custom function.
Лог не раскрывается (скрин 3).
Никакого другого кода нет, от функции не зависит, можно другую добавить, на заглушку поменять, поменять имя - результат одинаковый: функции видны в подсказке, в результате ошибка.
И один и тот же код в большинстве таблиц работает, как задумано, но в небольшой части - описанная ошибка.
Если таблицу с ошибкой скопировать, обычно всё начинает работать.
Я подумал, что проблема может быть во внутренней магии стандартного контейнера для скрипта, оформил функцию в виде аддона. В основном всё хорошо (как и с обычным скриптом), работает, как должно. Но в тех проблемных таблицах, кастомные функции тоже не работают, но ещё и не видны в подсказке, по сути не доступны для использования (ошибка #NAME?). После копирования таблицы, всё ок.
Поди, баг надо зарепортить, @oshliaer? Куда это делают?
/** * Returns current Spreadsheet's ID. * * @return Current Spreadsheet's ID (a scary part of the URL). * @customfunction */ function id() { return SpreadsheetApp.getActive().getId(); }
Стикер
Это алиас. Не влияет ни на что.
🤷♂️ К сожалению. У меня такая проблема с NUMBERTEXT. В упор не хочет инициализироваться иногда. Я грешу на Гугл. Бывает, что запускается с полтыка, а бывает кто-то себе поставит аддон и так ни разу функцию эту не увидит. Именно поэтому меня эти пользовательские функци ломают. Кстати, там есть такой код о получением id.
... от любви до ненависти один шаг.
Как по мне - так странная идея эти CF. Например, в Office365 куда веселее было. Там компонент имел доступ к текущей вебке.
Такое ощущение что они друг друга обидеть не хотят а мы как пользователи где-то между ними
Насколько я знаю в Office 365 вообще лавочку закрыли.
Вот засада...
Да, уже много лет. Можно на треккере по шукать - там много подобных запросов и их никто не поднимает. Правда и в заброшенные не кидают. Что это значит - не знаю, но, вероятно, где-то глубоко в душе разработчик знает, что что-то идет не так.
Обсуждают сегодня