このエラーが発生します。
エラー:500:内部サーバーエラー:この戦略では、有効なページングCookieを使用したクエリを実行しないでください
CRM2011のWebResourceでこのコードを呼び出すと
self.loadWorkItems = function () {
var user = self.user();
var bid = user.BusinessUnitId.Id();
var systemUserId = user.SystemUserId();
var results = new Array();
SDK.REST.retrieveMultipleRecords(
"QueueItem",
"$select=*&$skip=" + self.page() * self.pageSize() + "&$top=" + self.pageSize() + "&$orderby=CreatedOn asc&$filter=OwningBusinessUnit/Id eq guid'" + bid + "' and StateCode/Value eq 0",
function (r) {
results = results.concat(r);
},
function (error) {
self.lastError(error.message);
},
function (x) {
for (var i = 0; i < results.length; i++) {
var item = results[i];
var r = ko.mapping.fromJS(item, workItemMapping);
self.workQueue.push(r);
}
}
);
};
これはknockoutjsビューモデルの一部です。サーバーから次のページのデータを取得し、表示されているリストの最後にそれをスローする[詳細]ボタンを作成しようとしています。
ページは正常に読み込まれ、最初のページが戻ってきますが、次のページが要求されると、このエラーが発生します。
エラーなしで電話をかける方法について何かアイデアはありますか?
編集
私は間違っていました$skip>0の呼び出しが機能しているようです。ここで夢中になる。
編集
このエラーが私に伝えようとしているのは、スキップ/トップコンボが合計レコード数を超えており、(私が期待するように)何も与えない代わりに、例外をスローしていることだと思います。
それで、新しい質問は、この愚かさをどのように回避するかです。私は今、すべてのレコードを数え、ページングしすぎないようにする必要があると思います。