У меня есть этот сценарий раскрывающегося списка, который создает раскрывающийся список на основе значения в столбце G. В столбце G может быть около 4 различных значений, которые должны создавать 4 различных набора раскрывающихся списков. Данные в столбце G поступают из фильтра, который постоянно обновляется новыми предложениями, что также приводит к тому, что этот сценарий также выполняется довольно стабильно. Время от времени скрипт немного запаздывает и оставляет выпадающие окна пустыми в течение минуты или около того перед обновлением. Ребята, есть ли у вас какие-либо предложения о том, как решить эту проблему?
function DropDowns() {
var app = SpreadsheetApp;
var ss = app.getActiveSpreadsheet();
var draft = ss.getSheetByName("Time Off Action Items");
var option = ss.getSheetByName("Options");
var types = option.getRange(1, 1, 1, option.getLastColumn()).getValues()[0];
var obj = types.reduce(function(o, e, i) {
o[e.toUpperCase()] = option.getRange(2, i + 1, option.getLastRow());
return o;
}, {});
var column = draft.getRange("H3:H" + draft.getLastRow());
var Bcolumn = draft.getRange("G3:G" + draft.getLastRow());
var rules = Bcolumn.getValues().map(function(e) {
return e[0].toUpperCase() in obj ? [app.newDataValidation().requireValueInRange(obj[e[0].toUpperCase()]).build()] : [null]
});
column.setDataValidations(rules);
Logger.log(types)
}