Salesforceのカスタムオブジェクトからデータを取得するGoogleAppsスクリプトを開発し、列を次の順序で配置しました。
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);
}
アドバイスありがとうございます。