2016-05-11 5 views
1

Dynamics CRM 2016とfetchXmlに小さな問題があります。 CRMには約35,000人のユーザーがいます。 Dynamicsは1ラウンドあたり最大5000個の要素を取り出すことができるように見えるので、2ページ目を取得するためにpagingCookie機能を使用する必要がありました。たとえば、これらのレコードの2番目のページ(ユーザー5001から10000)を取得するには、最初にユーザーを1から5000に取得し、ページングCookieを取得し、このCookieでプロセスを再起動する必要がありました。Dynamics CRM - 5000要素を超えてfetchXmlクエリの2ページ目を取得するにはどうすればよいですか?

私の質問です:これは、おそらく私はちょうど最初のものではなく、2番目のページを取得することに興味がある間に合計10000人のユーザーを取得する必要があります。 pagingCookieを使用せずに結果の2ページ目を直接得る方法はありますか?

あなたがCRMに各呼び出しの後にページ数を増やし、リストに追加する必要があり、すべての結果を得るためにあなたの

+1

[FetchXML次のページ結果]の可能な重複(http://stackoverflow.com/questions/33088942/fetchxml-next-page-results) –

答えて

1

こんにちはありがとうございました。私はあなたのプログラミング言語を知っていませんが、私はあなたに例を与えます.netと私はテストして働いていた。あなたがjavascriptで必要な場合は同じ方法です。

public IEnumerable<Account> GetAllClients() 
     { 
      List<Account> listAccounts = new List<Account>(); 
      int pageIndex = 1; 
      int pageSize = 1000; 


      while (true) 
      { 
       // FETCH CLIENTES 
       var Fetch = "<fetch version='1.0' page='" + pageIndex + "' count='" + pageSize + "' output-format='xml-platform' mapping='logical' distinct='true'>"; 
       Fetch += "<entity name='account'>"; 
       //Attributes 
       Fetch += "<attribute name='accountid' />"; 
       Fetch += "<attribute name='name' />"; 
       Fetch += "<attribute name='accountnumber' />"; 
       Fetch += "<attribute name='accountid' />"; 
       Fetch += "<order attribute='name' descending='false' />"; 
       Fetch += "</entity>"; 
       Fetch += "</fetch>"; 

       EntityCollection resultClient = this.crmService.RetrieveMultiple(new FetchExpression(Fetch)); 

       foreach (Account c in resultClient.Entities) 
       { 
        listAccounts.Add(c); 
       } 
       if (resultClient.MoreRecords) 
       { 
        // Increment the page number to retrieve the next page. 
        pageIndex++; 
       } 
       else 
       { 
        // If no more records in the result nodes, exit the loop. 
        break; 
       } 
      } 

      return listAccounts; 
     } 

乾杯

+0

私はここでのキーポイントは、だと思いますページングクッキーをまったく使用する必要はないので、 'pageIndex = 2'によって2ページ目にまっすぐジャンプすることができます –

+0

はい私は本当にあなたの最初の部分のために探していたと申し訳ありません。このレコードはすべてのレコードです。ページインデックス上の修正番号を伝えるように、2番目の部分だけを挿入したい場合は、 –

関連する問題