ОШИБКА: (К сожалению, произошла ошибка сервера. Пожалуйста, подождите немного и попробуйте снова.), Почему это происходит в моем коде? - PullRequest
0 голосов
/ 25 апреля 2019

(Приносим извинения, произошла ошибка сервера. Пожалуйста, подождите немного и повторите попытку.) Ошибка при сохранении и запуске.

Если длина кода составляет 150 КБ, он может быть сохранен и запущен.При длине 220 тыс. Строк он не мог сохранить и запустить.Строки в основном состоят из утверждений «IF».После того, как был добавлен код «Восемь департаментов», начали появляться ошибки (и многие другие подобные)

function sendEmail() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var QA = ss.getSheetByName("Quality Alert");
  var QAdata = QA.getRange(3,1,QA.getLastRow() - 2,25).getValues(); 
  QAdata.forEach(function(row, i)
               {
               var customer = row[1] ;
               var part     = row[2] ;
               var s        = row[3] ;
               var id       = row[4] ;
               var defect   = row[5] ;
               var desc     = row[6] ;
               var reject   = row[7] ;
               var ok       = row[8] ; 
               var chemA    = row[9] ; 
               var chemB    = row[10] ; 
               var chemC    = row[11] ; 
               var et       = row[12] ; 
               var fee      = row[13] ; 
               var cam      = row[14] ;
               var fqa      = row[15] ; 
               var inner    = row[16] ; 
               var ipqc     = row[17] ; 
               var legend   = row[18] ; 
               var lpsm     = row[19] ; 
               var mlb      = row[20] ; 
               var photo    = row[21] ; 
               var routing  = row[22] ; 
               var drilling = row[23] ; 
               var answer   = row[24] ; 
 // Only rows with data will send out an email               
  if(customer == '')
  {
  }

  // Only send email if "email sent out" column is blank
  else if(answer == '')
  {

...

// Two Departments (chemA & ____) 
//``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````    
    // Send if chemA & chemB is ticked (Conditions for email to be sent)
    if(chemA == '✔' & chemB == '✔'){

      var recipient = [test_mail,all_mail,chemA_mail,chemB_mail] ;
      var subject = "Quality Alert for Chem A & Chem B";
    } 
//`````````````````````````````````````````````````````````````````````````````

...

// Eight Departments (Chem C, CAM, Inner, IPQC, Legend, MLB, Routing & ____) 
//`````````````````````````````````````````````````````````````````````````````

    // Send if chemC & CAM & Inner & IPQC & Legend & MLB & Routing & drilling is ticked (Conditions for email to be sent)
    if(chemC == '✔' & cam == '✔' & inner == '✔' & ipqc == '✔' & legend == '✔' & mlb == '✔' & routing == '✔' & drilling == '✔'){

      var recipient = [test_mail,all_mail,chemC_mail,cam_mail,inner_mail,ipqc_mail,legend_mail,mlb_mail,routing_mail,drilling_mail] ;
      var subject = "Quality Alert for Chem C, CAM, Inner, IPQC, Legend, MLB, Routing & Drilling";
    }

//`````````````````````````````````````````````````````````````````````````````

    GmailApp.sendEmail(recipient, subject, " ",{htmlBody: body});    
  }// End bracket for if(answer = '')
 });// End bracket for QAdata            
} // End of Function 

Поскольку я пишу автоматическое электронное письмо в соответствующую область, если выбрано (всего 15 различных вариантов, которые можно выбрать индивидуально илиОдновременно.

1-ые строки 150 КБ имеют до 7 отделов, и они работают нормально (протестировали его). Но когда добавлено 8 отделов, это не сработало. Все переменные объявлены и получатели в порядке.

1 Ответ

0 голосов
/ 25 апреля 2019

Синтаксическая проблема

В условиях используется & вместо &&

Ref. Логические операторы


Другие вещи, которые можно попробовать
  • включают в себя открытие { в одной строке для каждого объявления функции и оператора if.
  • заменить
    //````
    на
    //****
  • разделить ваш файл .gs на несколько файлов (мне кажется, 150 тыс. Строк слишком много для IDE скрипта приложений)

Относительно странностей редактора скриптов приложений:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...