2009-10-02 10 views
5

क्या सभी क्वेरी परिणामों को वापस लाए बिना और उनमें से अधिकांश को छोड़ दिए बिना SOQL क्वेरी से परिणामों के माध्यम से पृष्ठ का एक प्रभावी तरीका है?सेल्सफोर्स एपीआई प्रश्नों के लिए एसओक्यूएल पेजिनेशन

उदाहरण के तौर पर, मैं एक समय में 10 रिकॉर्ड दिखाने वाले संपर्कों की पूरी सूची के माध्यम से पृष्ठ पर पहुंचने में सक्षम होना चाहता हूं। मुझे किसी विशेष क्षेत्र द्वारा क्रमबद्ध करने की आवश्यकता नहीं है।

+0

Salesforce विचारों साइट पर वहाँ के साथ संयोजन के रूप में पहचान क्षेत्र का उपयोग करने का चर्चा है परिणामों के माध्यम से पृष्ठ पर SOQL कार्यक्षमता को क्रमबद्ध करें और सीमित करें। Http://ideas.salesforce.com/article/show/10089030/SOQL_Request_allow_greaterthan_lessthan_WHERE_conditions_for_Id_fields –

+0

यह संभवतः मेरे हिस्से पर खराब कर्म का कारण बन जाएगा, लेकिन मैंने जेनेरिक SOQL प्रश्नों के शीर्ष पर पेजिनेशन करने का एक तरीका निकाला है। मैं कोड साझा करता हूं, लेकिन यह एक वाणिज्यिक उत्पाद का हिस्सा है। यदि कोई दिलचस्पी लेता है तो सबसे अच्छा मैं एक लिंक साझा कर सकता हूं - http://www.fishofprey.com/2009/10/soql-pagination-for-salesforce-api.html। –

उत्तर

7

वर्तमान में सबसे कुशल समाधान मैंने पाया है कि पार्टनर एपीआई के माध्यम से किसी भी एसओक्यूएल क्वेरी के साथ काम करना प्रारंभिक क्वेरीरीसल्ट से लौटाए गए एसओब्जेक्ट्स को जारी रखना है और क्वेरी लोकेटर को मौजूदा परिणामों के बाहर एक पृष्ठ से अनुरोध किया जाता है।

इसके लिए Salesforce QueryResult के शीर्ष पर पेजिंग समर्थन का एक स्तर आवश्यक था।

आईई। जब एक पृष्ठ का अनुरोध कर रहा है sObjects से आवश्यक हो सकता है:

  • वर्तमान (कैश्ड)
  • परवर्ती QueryResult कि क्वेरी लोकेटर
  • एक पूर्व QueryResult
  • सब में से कुछ संयोजन का उपयोग कर प्राप्त किया जा सकता QueryResult तीन।

यदि पृष्ठ दो (या अधिक) प्रश्नों को फैलाता है तो एक कलात्मक क्वेरीरीसल्ट को सभी आवश्यक रिकॉर्ड्स के साथ बनाए जाने की आवश्यकता होगी। स्प्रिंग 2012 के लिए

अद्यतन रिलीज

ऐसा लगता है कि आने वाले कि SOQL को OFFSET समर्थन जोड़ देगा नई कार्यक्षमता है की तरह। जैसे

SELECT Name FROM Merchandise__c WHERE Price__c > 5.0 ORDER BY Name LIMIT 50 OFFSET 100 

देखें ग्रीष्मकालीन 2012 रिलीज

OFFSET is now GA के लिए Spring '12 Force.com Platform Release - OFFSET added to SOQL (Pilot)

अद्यतन (सामान्य उपलब्धता?)

2

आप सर्वर पक्ष पर पेजिनेशन करने के लिए दायर एक ऑटो-नंबर का उपयोग कर सकते हैं। इस क्षेत्र का उपयोग 'ऑर्डर बाय' क्लॉज के बाद किया जा सकता है, यह इंडेक्स फ़ील्ड के रूप में कार्य कर सकता है।

मैंने आपके पक्ष की तरह पेजिनेशन किया है। लेकिन मुझे एक और समस्या मिली, मैं एक ही समय में सर्वर की तरफ सॉर्ट नहीं कर सकता। क्योंकि सॉर्ट और पेजिनेशन दोनों को 'ऑर्डर बाय' क्लॉज के बाद कॉलम जोड़ना होगा।

संबंधित मुद्दे