Сценарий GApps отправляет данные проверки данных в массив строк - PullRequest
0 голосов
/ 31 октября 2018

Я пытаюсь создать скрипт GApps, который преобразует DataValidation в 2D String Array, чтобы его можно было кэшировать с помощью CacheService, а затем преобразовать в DataValidation, чтобы сэкономить время и повысить эффективность. До сих пор я нашел способ получить, как я полагаю, всю необходимую информацию для воссоздания DataValidation, но я не уверен, как сделать воссоздание DataValidation, избегая при этом использования getDataValidations из-за временных ограничений системы сценариев GApps. Приведенный ниже скрипт собирает CriteriaValues и CriteriaType и отправляет их в значения в массиве строк перед кэшированием их в виде строки JSON под значением data_eval_arr_cached.

var rules = template_data.getDataValidations()[0]; //takes 10 seconds

if (rules != null){
  var rules_array = [ ];
  var x = 0;

    for each (var data_eval in rules){    

      if (data_eval != null){
        rules_array[x] = [ ];
        var y = 0;

        for each(var arg in data_eval.getCriteriaValues()){

          if (arg == "Range"){
            rules_array[x][y] = arg.getA1Notation();

          } else {
            rules_array[x][y] = arg;
          }
          y++;
        }
        rules_array[x][y] = data_eval.getCriteriaType().toString();

      } else {
        rules_array[x] = null;
      }
      x++;
    }
  }
  data_eval_arr = JSON.parse(JSON.stringify(rules_array));
  cache.put("data_eval_arr_cached", JSON.stringify(rules_array));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...