LoginSignup
1
1

More than 5 years have passed since last update.

RemoteObjectsで無効な取得条件エラーが発生したとき

Last updated at Posted at 2014-08-23

javascriptからSalesforceにアクセスできるapex:RemoteObjectsのクエリ実行時に、間違えた処理を書くと「無効な取得条件エラー」が発生します。

WHERE部分の指定が間違えている可能性もありますが、判定に使用する項目がapex:remoteObjectFieldで宣言されていないことでエラーになっていることもあります。

SELECTで取得する項目だけでなく、WHERE判定で使用する項目もapex:remoteObjectFieldで宣言する必要があるので注意しましょう。

ユーザ情報を取得する場合はこんな感じです。

<apex:remoteObjects >
  <apex:remoteObjectModel name="User" fields="Name,Id">
    <apex:remoteObjectField name="Phone" />
    <apex:remoteObjectField name="Email" />
    <apex:remoteObjectField name="Department" />
    <apex:remoteObjectField name="SmallPhotoUrl" />
    <apex:remoteObjectField name="IsActive" />
  </apex:remoteObjectModel>
</apex:remoteObjects>
userObject.retrieve({
  where: {
    IsActive :{
      eq : true
    }
  },
  orderby: [{Name: 'ASC'}],
  limit: 1000
},function(err, results) {
  if(err) {
    alert(err.message);
  } else {
    // 取得したリストをループ   
    results.forEach(function(result) {
      console.log(result.get('Name'));
    });
  }
});
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1