поэтому я делаю бухгалтерию Google для своего бизнеса. Когда я вызываю скрипт, он добавляет строку в листы Google и запрашивает диалоговое окно html формы для всех деталей проверки, таких как дата, номер счета и сумма. Затем он заполняет конкретные ячейки на листе. Все это работает нормально, но когда я пытаюсь сделать опцию для моего списка поставщиков, это дает "неопределенный" в ячейке.

Я не знаю много о кодировании, я только построил это из других фрагментов кода, пожалуйста, любая помощь оценит.

это скрипт, который я вызываю с кнопки на листе

    function addItem()
{
  var html = HtmlService.createHtmlOutputFromFile('form');
  SpreadsheetApp.getUi() 
      .showModalDialog(html, 'Add New Item');

}

это файл HTML

    <!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <link rel="stylesheet" href="https://ssl.gstatic.com/docs/script/css/add-ons1.css">
  </head>
  <body>
    <form id="myform">
    <div class="block form-group">
    <label for="Date">Date</label>
    <input type='date' name='Date' id="Date" required="required"/>
    </div>

    <div class="block form-group">
    <label for="Invoice">Invoice</label>
    <input type='text' name='Invoice' id="Invoice" required="required"/>
    </div>

    <div class="block form-group">
    <label for="Amount">Amount</label>
    <input type='text' name='Amount' id="Amount" required="required"/>
    </div>

    <div class="block form-group">
    <select>
       <option value="" selected="selected">Company</option>

       <option value="Vendor1">Vendor1</option>
       <option value="Vendor2">Vendor2</option>
       <option value="Vendor3">Vendor3</option>

    </select>
    <input type="submit" value="Submit" onclick="myFunction(this.parentNode)">
    <p id="CompanyName"></p>


    <script>
    document.querySelector("#myform").addEventListener("submit", function(e)
    {
    e.preventDefault();    
    google.script.run.addNewItem(this);
     google.script.host.close();
    }
    );
    </script>

  </body>
</html>

и это скрипт для добавления данных в определенные ячейки.

    function addNewItem(form_data)
{


var sheet = SpreadsheetApp.getActive();
  sheet.getSheetByName("Sheet1").getRange(3,3).setValues([[form_data.Date]]);

var sheet = SpreadsheetApp.getActive();
  sheet.getSheetByName("Sheet1").getRange(3,4).setValues([[form_data.Invoice]]);

var sheet = SpreadsheetApp.getActive();
  sheet.getSheetByName("Sheet1").getRange(3,5).setValues([[form_data.Amount]]);

var sheet = SpreadsheetApp.getActive();
  sheet.getSheetByName("Sheet1").getRange(3,6).setValues([[form_data.CompanyName]]);  

};

Большое вам спасибо за вашу помощь

Вот мой тестовый лист

https://docs.google.com/spreadsheets/d/1hhJN-hyPLhNQ05Hy8ndyYIc8nwJ06doOrEWy01R2vyw/edit?usp=sharing

0
Hemang Parikh