Google App Script несколько, если операторы не работают правильно - PullRequest
0 голосов
/ 21 февраля 2020

У меня есть следующий код, предназначенный для записи данных в одной электронной таблице в виде таблицы данных в другой. Я обнаружил, что если я запускаю один блок if, код работает нормально, но как только я включаю все 10 блоков кода, сценарий ничего не возвращает. Чтобы сократить длину кода, я удалил 7 фрагментов кода if. Любая помощь будет принята с благодарностью.

function submitData2() {
  var ss        = SpreadsheetApp.getActiveSpreadsheet();
  var formSS    = ss.getSheetByName("sheet1"); //Form Sheet
  var datasheet = ss.getSheetByName("sheet2"); //Data Sheet



  if(formSS.getRange("E24") > 0){  
  //Product 1 Values
  var values1 = [[formSS.getRange("B1").getValue(),
                 formSS.getRange("B11").getValue(),
                 formSS.getRange("C11").getValue(),
                 formSS.getRange("D11").getValue(),
                 formSS.getRange("E11").getValue(),
                 formSS.getRange("F11").getValue(),
                 formSS.getRange("G11").getValue(),
                 formSS.getRange("H11").getValue(),
                 formSS.getRange("I11").getValue(),
                 formSS.getRange("J11").getValue(),
                 formSS.getRange("K11").getValue(),
                 formSS.getRange("L11").getValue(),
                 formSS.getRange("M11").getValue(),
                 formSS.getRange("N11").getValue(),
                 formSS.getRange("O11").getValue()]];
  datasheet.getRange(datasheet.getLastRow()+1, 1, 1, 15).setValues(values1);
  }  

if(formSS.getRange("E44") > 0){  
  //Product 2 Values
  var values2 = [[formSS.getRange("B1").getValue(),
                 formSS.getRange("B12").getValue(),
                 formSS.getRange("C12").getValue(),
                 formSS.getRange("D12").getValue(),
                 formSS.getRange("E12").getValue(),
                 formSS.getRange("F12").getValue(),
                 formSS.getRange("G12").getValue(),
                 formSS.getRange("H12").getValue(),
                 formSS.getRange("I12").getValue(),
                 formSS.getRange("J12").getValue(),
                 formSS.getRange("K12").getValue(),
                 formSS.getRange("L12").getValue(),
                 formSS.getRange("M12").getValue(),
                 formSS.getRange("N12").getValue(),
                 formSS.getRange("O12").getValue()]];
  datasheet.getRange(datasheet.getLastRow()+1, 1, 1, 15).setValues(values2);
  }   
 if(formSS.getRange("E64") > 0){  
  //Product 3 Values
  var values3 = [[formSS.getRange("B1").getValue(),
                 formSS.getRange("B13").getValue(),
                 formSS.getRange("C13").getValue(),
                 formSS.getRange("D13").getValue(),
                 formSS.getRange("E13").getValue(),
                 formSS.getRange("F13").getValue(),
                 formSS.getRange("G13").getValue(),
                 formSS.getRange("H13").getValue(),
                 formSS.getRange("I13").getValue(),
                 formSS.getRange("J13").getValue(),
                 formSS.getRange("K13").getValue(),
                 formSS.getRange("L13").getValue(),
                 formSS.getRange("M13").getValue(),
                 formSS.getRange("N13").getValue(),
                 formSS.getRange("O13").getValue()]];
  datasheet.getRange(datasheet.getLastRow()+1, 1, 1, 15).setValues(values3);
  }  

}

1 Ответ

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

Попробуйте это:

function submitData2() {
  var ss=SpreadsheetApp.getActiveSpreadsheet();
  var fsh=ss.getSheetByName("sheet1"); //Form Sheet
  var datasheet=ss.getSheetByName("sheet2"); //Data Sheet
  if(fsh.getRange("E24").getValue() > 0){  
    //Product 1 Values
    var values1=fsh.getRange('B11:O11').getValues()[0];
    values1.unshift(fsh.getRange('B1').getValue());
    datasheet.appendRow(values1);
  }  
  if(fsh.getRange("E44").getValue() > 0){  
    //Product 2 Values
    var values2=fsh.getRange('B12:O12').getValues()[0];
    values2.unshift(fsh.getRange("B1").getValue());
    datasheet.appendRow(values2);
  }   
  if(fsh.getRange("E64").getValue() > 0){  
    //Product 3 Values
    var values3=fsh.getRange('B13:O13').getValues()[0];
    values3.unshift(fsh.getRange("B1").getValue());
    datasheet.appendRow(values3);
  }  
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...