Google app maker InternalError:无法将数组转换为数字[][]-App Maker中出现错误

Google app maker InternalError:无法将数组转换为数字[][]-App Maker中出现错误,google-app-maker,converters,Google App Maker,Converters,由于这个原因,我现在遇到了“InternalError:无法将数组转换为数字[][]”的问题 我告诉你,第81行的setValues会引起问题。但我不太明白为什么 也许有人能帮我找到错误/问题 function baueSoftwareRow(Software, UnternehmenName) { var UnternehmenVertragsgegenstand = Software.Vertragsgegenstand ; var UnternehmenAnsprechpartnerD

由于这个原因,我现在遇到了“InternalError:无法将数组转换为数字[][]”的问题

我告诉你,第81行的setValues会引起问题。但我不太明白为什么

也许有人能帮我找到错误/问题

 function baueSoftwareRow(Software, UnternehmenName) {
var UnternehmenVertragsgegenstand = Software.Vertragsgegenstand ;
var UnternehmenAnsprechpartnerD =Software.AnSP_Lieferant;
var UnternehmenVertragseigner =Software.Vetragseigner_Vertantwortlicher ;
/*var UnternehmenAnsprechpartnerNG =Software.Ansprechpartner || "";
var UnternehmenVertraege =Software.Vertraege || "";
var UnternehmenApp =Software.App || "";
var UnternehmenAVV =Software.AVV || "";
var UnternehmenNDA =Software.NDA || "";
var UnternehmenProjekt =Software.letztes_Projekt || "";
var UnternehmenKreditor =Software.Kreditor || "";
var UnternehmenKdnr =Software.KDNR || "";
var UnternehmenKlasse =Software.Klasse1 || "";
var UnternehmenISO270001 =Software.ISO270001 || "";
var UnternehmenDSGVO =Software.DSGVO_Taetigkeit || "";
var UnternehmenText_AVV1 =Software.Text_AVV_Taetigkeit || "";
var UnternehmenText_AVV2 =Software.Text_AVV_Bewertung || "";*/
var newRow = [UnternehmenName, UnternehmenVertragsgegenstand, UnternehmenAnsprechpartnerD, UnternehmenVertragseigner,/* UnternehmenAnsprechpartnerNG, UnternehmenVertraege, UnternehmenApp, UnternehmenAVV, UnternehmenNDA, UnternehmenProjekt,UnternehmenKreditor, UnternehmenKdnr, UnternehmenKlasse, UnternehmenISO270001, UnternehmenDSGVO, UnternehmenText_AVV1, UnternehmenText_AVV2*/ ]; //save Unternehmensdaten in a row
return newRow;      
}

}

//定义用于执行数据导出的函数
函数ExportDaten(软件卸载){
//创建工作表以填充数据
var fileName=new Date()+“Dienstleisterverzeichnis”;//文件名
var newExport=SpreadsheetApp.create(文件名);//创建新的电子表格
var header=[“名称”、“Vertragsgegstand”、“Ansprechpartner Dienstleister”、“Vertragsegener bzw.Verantwortlicher”、/*“Ansprechpartner”、“Verträge”、“App”、“AVV”、“NDA”、“letztes项目bzw.letzter Kontakt”、“Kreditor”、“Kdnr beim Lieferanten”、“Klasse”、“ISO270001?”、“DSGVO Tätiggeit nach Verfahrensverensverzeichis”、“文本AVV:Tätiggeit”,“Text AVV:Bewertung”*/];//定义标题
newExport.appendRow(标题);//将标题附加到电子表格
var数据=[]//*
//获取所有未登录记录
var ds=app.models.Unternehmen.newQuery();
ds.prefetch.Software._add()//*
var allinternehmen=ds.run();
//设置回滚点并启动新事务。
//app.transaction.cloudSql.start();
//锁定事务中读取的所有记录,直到事务结束。
//app.transaction.cloudSql.setLockOnRead(app.transaction.cloudSql.lockOnRead.UPDATE);
对于(变量i=0;i
}


非常感谢

目前我看到的唯一问题是
.getRange(2,1,data.length+1,header.length)中的data.length+1
这可能会导致getRange维度大于setValues维度。它们需要彼此相等,因此我认为+1会忽略这一点。非常感谢,我从代码中删除了+1。不幸的是,没有任何更改。错误显示在以下行:newExport.getActiveSheet().getRange(2,1,data.length,header.length)。setValues(data);//*Hm,下一项可能要查看的是您的数据数组。您的数据日志以[]格式显示为一维,但它应该是二维的,如[]、[]、[]。我不确定是否会发生这种情况,因为您的标头和数据构造函数在索引位置4中包含/text、text等,但这可能是问题的一部分,尽管标头日志的长度仍然反映为4,如果这基本上意味着跳过标头和数据数组的其余部分。您好,非常感谢。我发现了错误。这是fi中的一个键入错误必须调整eld名称和for指令。var lines=baueSoftware(软件);for(var idx=0;idx.getRange中的data.length+1(2,1,data.length+1,header.length)这可能会导致getRange维度大于setValues维度。它们需要彼此相等,因此我认为+1会忽略这一点。非常感谢,我从代码中删除了+1。不幸的是,没有任何更改。错误显示在以下行:newExport.getActiveSheet().getRange(2,1,data.length,header.length)。setValues(data);//*Hm,下一项可能要查看的是您的数据数组。您的数据日志以[]格式显示为一维,但它应该是二维的,如[]、[]、[]。我不确定是否会发生这种情况,因为您的标头和数据构造函数在索引位置4中包含/text、text等,但这可能是问题的一部分,尽管标头日志的长度仍然反映为4,如果这基本上意味着跳过标头和数据数组的其余部分。您好,非常感谢。我发现了错误。这是fi中的一个键入错误必须调整eld名称和for指令。var lines=baueSoftware(软件);for(var idx=0;idxfunction sammelSoftwareRows(allSoftware, UnternehmenName ) { var data = []; for (var j= 0; j< allSoftware.length; j++) { var newSoftWareRow = baueSoftwareRow(allSoftware[j], UnternehmenName); data.push(newSoftWareRow); //* } return data;
var allSoftware = Unternehmen.Software; //*

var gesammelteSoftwareDiesesUnternehmens = sammelSoftwareRows(allSoftware, UnternehmenName);

    return gesammelteSoftwareDiesesUnternehmens;
//define function to do the data export 
function ExportDaten(SoftwareUnternehmen) {
  //create sheet to populate data
  var fileName = new Date()+"Dienstleisterverzeichnis "; //file name
  var newExport = SpreadsheetApp.create(fileName); // create new spreadsheet
  var header = ["Name", "Vertragsgegenstand", "Ansprechpartner Dienstleister","Vertragseigner bzw. Verantwortlicher ",/*"Ansprechpartner ","Verträge","App","AVV","NDA","letztes Projekt bzw. letzter Kontakt","Kreditor#","Kdnr beim Lieferanten","Klasse","ISO270001?","DSGVO Tätigkeit nach Verfahrensverzeichnis","Text AVV: Tätigkeit","Text AVV: Bewertung"*/]; //define header
  newExport.appendRow(header); // append header to spreadsheet
  var data = []; //*

  //get all Unternehmen records
  var ds = app.models.Unternehmen.newQuery();
  ds.prefetch.Software._add(); //*
  var allUnternehmen = ds.run();
   // Sets a rollback point and starts a new transaction.
  //app.transaction.cloudSql.start();

   // Locks all records that are read in the transaction until the end of the transaction.
 // app.transaction.cloudSql.setLockOnRead(app.transaction.cloudSql.lockOnRead.UPDATE);

  for(var i=0; i< allUnternehmen.length; i++) {
    //get each student data
    var Unternehmen = allUnternehmen[i];

  //  console.log(Unternehmen.Hersteller);

    if (Unternehmen.Hersteller !== ""){
    var Zeilen = baueUnternehmen(Unternehmen);

    for(var Zeile in Zeilen){
    //  console.log(Zeile);
      data.push(Zeile);
    }

    }

  //console.log("Export fertig");
}
  console.log("Laenge: " + data.length);
  console.log("Laenge: " + header.length);
  console.log(data);
newExport.getActiveSheet().getRange(2,1,data.length+1,header.length).setValues(data); //*  HIER IST DER FEHLER BEI setValues
console.log("Export fertig");