2012-07-09 33 views
5

Nếu bạn điều hướng đến tài khoản/liên hệ/đối tượng tùy chỉnh, chúng tôi có danh sách liên quan "nội dung liên quan" (nếu nội dung được bật và danh sách liên quan) được thêm vào bố cục trang)."Nội dung liên quan" được lưu trong đối tượng/Cách tạo bản ghi "Nội dung liên quan" từ Apex

Câu hỏi của tôi là những bản ghi "nội dung có liên quan" này được lưu trữ? trong đối tượng nào?

Sử dụng đỉnh Tôi có thể tải tệp lên phiên bản nội dung nhưng không thể tạo hoặc tìm đối tượng lưu trữ thông tin "nội dung có liên quan".

CẬP NHẬT

Cố gắng để tạo ra một liên kết để hiển thị trong "nội dung liên quan" của tài khoản, nhưng không thành công. Đã xảy ra lỗi "Chèn không thành công. Ngoại lệ đầu tiên trên hàng 0; lỗi đầu tiên: FIELD_INTEGRITY_EXCEPTION, Bạn không thể tạo liên kết cho loại đối tượng này qua api: [LinkedEntityId]"

Bất kỳ ý tưởng nào?

  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'); 

** SỬ DỤNG TRƯỜNG HỢP **

Các trường hợp sử dụng là cho phép người sử dụng để đính kèm nội dung ngay từ trang chi tiết đối tượng cho ví dụ nói tài khoản sẽ có nút nói Đính kèm nội dung, điều này sẽ mang lại trang nội dung tải lên, một khi được tải lên (tôi sẽ tạo bản ghi nội dung - điều này đang diễn ra hoàn hảo, không có lỗi) và sau đó tôi cần liên kết nội dung đã tải lên với tài khoản (từ yêu cầu đó), tạo bản ghi "nội dung liên quan" (ở đây tôi đang gặp khó khăn, cố gắng) để tạo các bản ghi liên kết contentdocumentlink nhưng nó bị lỗi).

Trường hợp sử dụng chỉ là một cú nhấp chuột để đính kèm nội dung vào tài khoản hoặc cơ hội thay vì quy trình hiện tại dài là người dùng truy cập nội dung, tải lên trước và sau đó quay lại tài khoản/opty và tìm kiếm nội dung, sau đó đính kèm tài khoản/liên hệ.

+0

Bạn đã cố gắng giải quyết vấn đề chưa? Tôi có cùng kịch bản – jonathanwiesel

+1

Xin chào @Chirag, tôi đã thành công trong việc sử dụng mã của bạn để chuyển đổi tệp đính kèm thành 'ContentVersion' và liên kết nó với Tài khoản (phụ huynh của tệp đính kèm). Tôi đã làm điều này trong Winter '16 org API v35. Một thay đổi mà tôi đã thực hiện là tôi đã không cố gắng tạo ra ContentVersion với trường 'FirstPublishLocationId'. Cảm ơn bạn đã lấy mẫu mã! –

Trả lời

2

Như bạn biết nội dung được lưu trữ trong đối tượng ContentDocument và các liên kết được lưu trữ trong bảng ContentDocumentLink.

Tôi thấy rằng http://workbench.developerforce.com thực sự hữu ích để tìm ra các loại mối quan hệ này.

+0

Tôi đã cố gắng để chèn vào trong cùng một đối tượng CDL, nhưng có vẻ như tôi đang thiếu một cái gì đó. Vui lòng kiểm tra bài đăng gốc, tôi đã cập nhật giống với mã tôi đang thử. Cảm ơn! –

1

Xem ContentDocumentLink specification trong các tài liệu của người dùng, LinkedEntityId đại diện:

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. 

Tôi nghĩ rằng dựa trên giải thích rằng, bạn có thể chỉ tạo ContentDocumentLink cho các lĩnh vực đối tượng nhí dựa, không cho hồ sơ sObject thường xuyên hoặc sobject tùy chỉnh, v.v.

+0

có vẻ như đúng: ( –

+0

Ngay cả sau khi bật nguồn cấp dữ liệu trò chuyện cho đối tượng tùy chỉnh, nó cũng tạo ra lỗi tương tự. Có ai có cách tạo tập tin cho đối tượng tùy chỉnh không? – Ankuli

Các vấn đề liên quan