Значения строк в поле GRID для отправленной формы - PullRequest
0 голосов
/ 15 февраля 2020

Grid Field

мы можем только получить значение столбца для каждой строки, но не значение строки.

Итак, в примере поля сетки мы получить массив следующим образом (элемент 1) = OPPORTUNITY: OT не учитывается; (элемент 2) = OPPORTUNITY: OT Рассмотрено

Есть ли способ, которым мы также можем получить значения Row?

Опция 1 второй параллельный массив (элемент 1) = OT 1; (элемент 2) = OT 2

или вариант 2 (элемент 1) = OT 1 && ВОЗМОЖНОСТЬ: OT не учитывается; (элемент 2) = OT 2 && OPPORTUNITY: OT Рассмотрен

Вот ГАЗ, который мы в настоящее время используем для получения отправки формы

function onFormSubmit(e) {
 var data = {
      "id": e.source.getId(),
   "OTC_user" : Session.getActiveUser().getEmail(),
      "title": e.source.getTitle() ? e.source.getTitle() : "Untitled Form",
      "is_private": e.source.requiresLogin(),
      "is_published": e.source.isAcceptingResponses(),
      "id": e.response.getId(),
      "timestamp": e.response.getTimestamp(),
      "fields": e.response.getItemResponses().map(function(y) {
    return {
        h: y.getItem().getTitle(),
        k: y.getResponse()
    }
      }, this).reduce(function(r, y) {
    r[y.h] = y.k;
    return r
      }, {})
 };

 var options = {
  method: "post",
  payload: JSON.stringify(data, null, 2),
  contentType: "application/json; charset=utf-8",
 };

 UrlFetchApp.fetch("https://<WEBHOOK URL REMOVED", options);
};

Спасибо за любую помощь

1 Ответ

1 голос
/ 15 февраля 2020

Доступ к строкам и столбцам кабины CheckboxGridItem.

Для вопросов CheckboxGridItem это возвращает массив String [] [], в котором ответы по индексу строки n соответствуют вопросу в строке n + 1 в сетке флажков. Если респондент не ответил на вопрос в сетке, этот ответ возвращается как ''. ( GAS Class ItemResponse )

Этот пример является отредактированным примером из GAS Class FormResponse :

function doSomething() {

var form = FormApp.getActiveForm();
var formResponses = form.getResponses();
  for (var i = 0; i < formResponses.length; i++) {
    var formResponse = formResponses[i];
    var itemResponses = formResponse.getItemResponses();
    for (var j = 0; j < itemResponses.length; j++) {
      var itemResponse = itemResponses[j];
      Logger.log('Response #%s to the question (horizontal) "%s" was (vertical) "%s"',
          (i + 1).toString(),
          itemResponse.getItem().asCheckboxGridItem().getColumns(),
          itemResponse.getItem().asCheckboxGridItem().getRows());
    }
  }
/*
[20-02-15 17:30:18:028 CET] Response #1 to the question (horizontal) "[ja, neen, 
misschien]" was (vertical) "[aap, noot, mies]"
*/  
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...