2012-07-11 25 views
1

我已经开发了谷歌企业应用套件脚本从在Salesforce的自定义对象拉一些数据,并有我的列顺序是:查询到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 

然而,我的结果成谷歌电子表格来顺序:

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); 
} 

感谢:

我的数据在此功能拉回。

+0

你怎么实际执行sql查询?,休息api,ajax工具包,别的东西? – superfell 2012-07-11 22:19:36

+0

REST API ..下面 SOQL码从另一页 '函数storyQuery(SOQL){ VAR SQL =“SELECT Component__r.Name,Component__c,Product__c,Story_Name__c,Description__c,ID,Product_Id__c,名称FROM CMC_Story__c WHERE传递Product_Id__c ='“+ soql +”'ORDER BY Component__c“; return fetch(** getRestEndpoint **()+“/ services/data/v”+ API_VERSION +“/”+“query?q =”+ sql); }' 和 'function ** getRestEndpoint()** { var queryEndpoint =“.salesforce.com”; var endpoint = getInstanceUrl()。replace(“api-”,“”).match(“https:// [a-z0-9] *”); 返回端点+ queryEndpoint; }' – 2012-07-11 22:58:30

回答

1

合作伙伴SOAP APi是唯一试图将查询字段顺序保留到结果结构中的API。对于来自REST API的基于JSON的响应,JSON特别指出对象键/值是无序的,因此保留顺序的响应将需要使用不同的JSON结构(键/值对象的数组),其中会明显更加冗长。

+0

不是我想听到的......但有点我所期望的:( – 2012-07-11 23:51:35