2012-07-09 12 views
5

से "संबंधित सामग्री" रिकॉर्ड कैसे बनाएं, यदि आप खाता/संपर्क/कस्टम ऑब्जेक्ट पर नेविगेट करते हैं तो हमारे पास संबंधित सूची "संबंधित सामग्री" होती है (यदि सामग्री सक्षम है और संबंधित सूची पृष्ठ लेआउट में जोड़ा गया है)।"संबंधित सामग्री" किस ऑब्जेक्ट में संग्रहित है/एपेक्स

मेरा प्रश्न ये "संबंधित सामग्री" रिकॉर्ड संग्रहीत हैं? किस चीज में?

शीर्ष का उपयोग करके मैं सामग्री संस्करण में फ़ाइल अपलोड करने में सक्षम हूं, लेकिन "संबंधित सामग्री" जानकारी संग्रहीत करने वाले ऑब्जेक्ट को बनाने या खोजने में सक्षम नहीं है।

अद्यतन

खाते के "संबंधित सामग्री" खंड में दिखाने के लिए एक लिंक बनाने की कोशिश की, लेकिन कोई सफलता। त्रुटि मिली "सम्मिलित विफल। पंक्ति 0 पर पहला अपवाद; पहली त्रुटि: FIELD_INTEGRITY_EXCEPTION, आप इस प्रकार की इकाई के लिए एपीआई के माध्यम से एक लिंक नहीं बना सकते: [LinkedEntityId]"

कोई विचार?

  ContentVersion cv = new ContentVersion(
      versionData = EncodingUtil.Base64Decode(base64BlobValue), 
      Title = fileName, 
      PathOnClient = '/'+fileName, 
      FirstPublishLocationId = '058900000009KcL' 
     ); 
     insert cv; 

     //fetch ContentDocumentId 
     cv = [Select Id,ContentDocumentId from ContentVersion where Id = :cv.Id]; 

     insert new ContentDocumentLink(LinkedEntityId=parentId,ContentDocumentId=cv.ContentDocumentId,ShareType='V'); 

** उपयोग के मामले **

उपयोग के मामले का कहना है कि खाता बटन होगा कहना सामग्री संलग्न उपयोगकर्ता उदाहरण के लिए वस्तु विस्तार पृष्ठ से सामग्री सही संलग्न करने के लिए अनुमति देने के लिए है, इस अपलोड सामग्री पृष्ठ लाएगा, एक बार अपलोड हो जाने पर (मैं कंटेंटवर्जन रिकॉर्ड्स बनाउंगा - यह पूरी तरह से हो रहा है, कोई त्रुटि नहीं है) और फिर मुझे अपलोड की गई सामग्री को खाते से संबंधित करने की आवश्यकता है (किस अनुरोध से ऑर्गनाइटेड) यानी "संबंधित सामग्री" रिकॉर्ड बनाएं (यहां मुझे कठिनाई का सामना करना पड़ रहा है, कोशिश कर रहा है contentdocumentlink रिकॉर्ड बनाने के लिए लेकिन इसकी त्रुटि आउट हो रही है)।

उपयोग केस खाता या अवसर पर सामग्री को संलग्न करने के लिए केवल एक क्लिक है, लंबी अवधि की प्रक्रिया के बजाय उपयोगकर्ता सामग्री पर जाता है, पहले वहां अपलोड करता है और फिर खाता/ओप्टी पर वापस आता है और फिर से सामग्री की खोज करता है, और उसके बाद इसे जोड़ता है खाता/संपर्क।

+0

क्या आपने इस मुद्दे को हल करने में कामयाब रहे हैं? मेरे पास एक ही परिदृश्य है – jonathanwiesel

+1

हाय @ चेराग, मैं एक अनुलग्नक को 'ContentVersion' में बदलने के लिए सफलतापूर्वक अपने कोड का उपयोग करने में सक्षम था और इसे खाते (अटैचमेंट के माता-पिता) से जोड़ता था। मैंने इसे शीतकालीन '16 संगठन एपीआई v35 में किया था। मैंने जो बदलाव किया था वह था कि मैंने 'फर्स्टप्ब्लिश लोकेशन आईडी' फ़ील्ड के साथ ContentVersion बनाने की कोशिश नहीं की थी। आपके कोड नमूने के लिए धन्यवाद! –

उत्तर

2

जैसा कि आप जानते हैं कि सामग्री ContentDocument ऑब्जेक्ट में संग्रहीत है और लिंक ContentDocumentLink तालिका में संग्रहीत हैं।

मुझे लगता है कि http://workbench.developerforce.com इन प्रकार के रिश्तों को समझने के लिए वास्तव में उपयोगी है।

+0

मैंने उसी सीडीएल ऑब्जेक्ट में डालने की कोशिश की, लेकिन ऐसा लगता है कि मुझे कुछ याद आ रहा है। कृपया मूल पोस्ट की जांच करें, मैंने जिस कोड को मैं कोशिश कर रहा हूं उसके साथ मैंने इसे अपडेट किया है। धन्यवाद! –

1

उपयोगकर्ता डॉक्स में ContentDocumentLink specification देखें, LinkedEntityId प्रतिनिधित्व करता है:

ID of the linked object. Can include Chatter users, groups, records 
(any that support Chatter feed tracking including custom objects), 
and Salesforce CRM Content libraries. 

मैं सोच रहा हूँ कि कि स्पष्टीकरण के आधार पर, आप केवल ContentDocumentLink चैटर आधारित वस्तु क्षेत्रों के लिए बना सकते हैं, नियमित रूप से sObject रिकॉर्ड के लिए नहीं या कस्टम sobjects, आदि

+0

हां यह सच लगता है :( –

+0

कस्टम ऑब्जेक्ट के लिए चॅट फीड को सक्षम करने के बाद भी, यह एक ही त्रुटि उत्पन्न करता है। क्या किसी के पास कस्टम ऑब्जेक्ट के लिए फ़ाइल निर्माण को स्वीकार करने का कोई तरीका है? – Ankuli

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