5

アカウント/連絡先/カスタムオブジェクトに移動すると、関連リスト「関連コンテンツ」が表示されます(コンテンツが有効になっていて、関連リストがページレイアウトに追加されている場合)。

私の質問は、これらの「関連コンテンツ」レコードは保存されているのかということです。どのオブジェクトで?

apexを使用して、ファイルをコンテンツバージョンにアップロードできますが、「関連コンテンツ」情報を格納するオブジェクトを作成または検索できません。

アップデート

アカウントの「関連コンテンツ」セクションに表示するリンクを作成しようとしましたが、成功しませんでした。エラー「挿入に失敗しました。行0の最初の例外。最初のエラー:FIELD_INTEGRITY_EXCEPTION、APIを介してこのタイプのエンティティのリンクを作成できません:[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レコードを作成しようとしましたが、エラーが発生しました)。

ユースケースは、ユーザーがコンテンツにアクセスし、最初にそこにアップロードしてから、アカウント/オプションに戻ってコンテンツを再度検索し、それをアカウント/連絡先に添付するという長い現在のプロセスではなく、ワンクリックでコンテンツをアカウントまたは商談に添付するだけです。

4

2 に答える 2

2

ご存じのとおり、コンテンツはContentDocumentオブジェクトに保存され、リンクはContentDocumentLinkテーブルに保存されます。

http://workbench.developerforce.comは、この種の関係を理解するのに非常に役立ちます。

于 2012-07-09T14:03:24.323 に答える
1

ユーザー ドキュメントのContentDocumentLink 仕様を参照してください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.

その説明に基づいて、通常の sObject レコードやカスタム sobjectsなどではなく、Chatter ベースのオブジェクト フィールドに対してのみ ContentDocumentLink を作成できると考えています。

于 2012-07-26T21:29:20.687 に答える