1

我开发了一个 Google Apps 脚本来从 Salesforce 中的自定义对象中提取一些数据,并按以下顺序排列我的列:

SELECT  Component__r.Name, Component__c, Product__c, Story_Name__c, Description__c, id ,  Product_Id__c, Priority__c , StoryName FROM Story__c WHERE Product_Id__c 

但是,我在 Google 电子表格中的结果按以下顺序排列:

StoryName   Component__r    Component__c    Product__c  Product_Id__c   Priority__c Id  Description__c  Story_Name__c

有人告诉我,SOQL 查询以与查询不同的顺序返回数据并不罕见。有谁知道用于使列按查询顺序出现在电子表格上的方法/函数/过程?我想在将列放在电子表格上之前这样做,但如果没有其他方法,那没关系。

我的数据在这个函数中被拉回:

    function renderGridData(object, renderHeaders){
    var sheet = SpreadsheetApp.getActiveSheet();

 var data = [];
var sObjectAttributes = {};

//Need to always build headers for row length/rendering
var headers = buildHeaders(object.records);

 if(renderHeaders){  
  data.push(headers);
}

for (var i in object.records) {
var values = [];
for(var j in object.records[i]){
  if(j!="attributes"){
    values.push(object.records[i][j]);
  } else {
    var id = object.records[i][j].url.substr(object.records[i][j].url.length-18,18);
    //Logger.log(id);
    sObjectAttributes[id] = object.records[i][j].type;
  }
}
data.push(values);
}

Logger.log(sheet.getLastRow());
var destinationRange = sheet.getRange(sheet.getLastRow()+1, 1, data.length, headers.length);
 destinationRange.setValues(data);
 }

感谢您的任何建议。

4

1 回答 1

1

Partner SOAP APi 是唯一会尝试将字段顺序从查询保留到结果结构中的 API。

对于来自 REST API 的基于 JSON 的响应,JSON 明确表示对象键/值是无序的,因此保留顺序的响应需要使用不同的 JSON 结构(键/值对象数组),这将显着增加冗长。

于 2012-07-11T23:04:44.793 回答