Вопрос : Что вызывает ошибку в этом сценарии при замене «asMultipleChoiceItem ()» на «asCheckboxItem»? И есть ли очевидный способ исправить это?
Короткая версия : я пытаюсь реализовать вариант решения с флажком ( найден здесь ), заменив " item.asMultipleChoiceItem () "with" item.asCheckboxItem () "; Однако при отладке возникает ошибка «Недопустимое преобразование для типа элемента: MULTIPLE_CHOICE». ( отладочное изображение здесь ). У меня проблемы с устранением неполадок, чтобы определить / понять и, следовательно, выяснить, как исправить ошибку.
Мой код:
function DeptUpdate() {
// User settings
var OPTIONS_SPREADSHEET_ID = "1q21HxRkwXxVtiw7D5fuO-w0JCQtZRd-A35gRtmJUwKk";
var OPTIONS_SHEET_NAME = "Present";
var OPTIONS_RANGE = "A:A"; // We have the options, listed in column A
var itemNumber = 1; // which question on form does this apply to
//
var options2DArr = SpreadsheetApp.openById(OPTIONS_SPREADSHEET_ID).getSheetByName(OPTIONS_SHEET_NAME).getRange(OPTIONS_RANGE).getValues();
var options = options2DArr.reduce(function(a, e) {
if (e[0] != "") {
return a.concat(e[0]);
}
return a;
}, []);
var form = FormApp.openById("1JHZoCdJrsRIltMwKqWGZizRQuy-2Ak2-XET83s04goc");
var item = form.getItems()[itemNumber - 1];
item.asCheckboxItem()
.setTitle("SELECT NAME")
.setChoiceValues(options)
.showOtherOption(true);
}
Длинная версия :
Цель: Скрипт Google в листах Google, по триггеру, обновляет параметры контрольного списка целевой формы, чтобы отразить элементы, перечисленные в определенном диапазоне (исключая пробелы).
Цель / контекст: Это одна часть серии форм и электронных таблиц, которые позволяют мне отслеживать прибытие, пропуск в зал / въезд и отъезд из учебного зала, в котором могут посещать любые 10-20 студентов из пула из 120 возможных. Электронная таблица связана с формами, чтобы обеспечить «отображение головы», в котором присутствуют учащиеся и которые вышли из системы в других местах (все это отлично работает). Ограничение вариантов ответов в форме Hall Pass Out и Departure (имена учеников) только для тех, кто регистрируется как «настоящий», значительно сокращает время и пользовательские ошибки в системе ведения журнала. В настоящее время работает с множественным выбором, но студенты часто приезжают / уходят группами. Флажок (множественный ответ) еще больше ускорит процесс отслеживания. В противном случае электронная таблица настроена для обработки нескольких записей ответов; просто нужна форма для соответствующего обновления.
Process / Attempts: Я читал о тех, кто настраивал аналогичные (различного назначения) сценарии, чтобы перейти от выпадающего / множественного выбора к флажку без проблем ( «Я просто изменил это, и это сработало, отлично!» - это степень того, что я прочитал), но как только я переключаюсь на флажок, я получаю прикрепленную ошибку как для поля showOtherOption, так и (если оно удалено) , поле setChoiceValues. Я думаю, что это может быть проблема с элементом флажка, читающего массив иначе, чем с элементом множественного выбора? Тем не менее, я не смог найти ничего в документации или сообщениях Q / A о значительной разнице между параметрами двух функций. На данный момент я просто немного озадачен тем, что может быть причиной проблемы.
Справочная информация : У меня нет формального (или значительного неформального) обучения кодированию, но я настроил и адаптировал множество кодов около десяти лет. Я понимаю основные c процессы / концепции кода и логики программирования c, но мне не хватает существенного / связного словаря.
Я включаю ссылку на фиктивную копию таблицы и форму, на всякий случай.
Электронная таблица
Форма
Заранее благодарим вас за любые идеи!
Бренди