【发布时间】:2012-07-09 12:36:50
【问题描述】:
如果您导航到客户/联系人/自定义对象,我们确实有一个相关列表“相关内容”(如果内容已启用并且相关列表已添加到页面布局中)。
我的问题是这些“相关内容”记录是否存储?在哪个对象中?
使用 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');
** 用例 **
用例是允许用户直接从对象详细信息页面附加内容,例如说帐户将有按钮说附加内容,这将带来上传内容页面,一旦上传(我将创建 contentversion 记录 - 这很完美,没有错误),然后我需要将上传的内容与帐户相关联(从哪个请求发起),即创建“相关内容”记录(这里我遇到了困难,试图创建 contentdocumentlink 记录但它出错了)。
该用例只需单击一下即可将内容附加到帐户或机会,而不是当前的长期过程,即用户转到内容,先上传到那里,然后返回帐户/opty 并再次搜索内容,然后将其附加到帐户/联系方式。
【问题讨论】:
-
你解决了这个问题了吗?我有同样的情况
-
嗨@Chirag,我成功地使用您的代码将附件转换为
ContentVersion并将其与帐户(附件的父级)相关联。我在 Winter '16 org API v35 中做到了这一点。我所做的一项更改是我没有尝试使用FirstPublishLocationId字段创建 ContentVersion。感谢您的代码示例!
标签: salesforce apex-code