java - 子对象更新时 Salesforce 更新主记录

标签 java salesforce

我有一个程序可以提取 Salesforce Case 对象及其 CaseCommentSolution 对象。我还有一组过滤器可以减少结果(关键字、fromDate、toDate 等)。我遇到的问题是,当我为该案例编辑或创建新评论时,Salesforce 功能既不更新案例 LastModifiedDate 也不更新 SystemModstamp 字段。

最直接的解决方案是分别提取案例、评论和解决方案,然后从评论和解决方案中提取 ParentId (CaseId),使用案例或解决方案的最大 lastModifiedDate 手动修改这些 CaseID,然后合并所有案例。但是这个过程有点常规,所以我正在寻找另一种解决方案,包括 Salesforce 和客户端。

最佳答案

如果您想避免使用触发器,您可以使用工作流来进行“接触”。截至Spring '12 release支持 salesforce.com 跨对象工作流。因此,您可以在更新父案例字段的案例评论上创建工作流规则。您可以专门为此接触过程创建一个自定义字段或重复使用任何其他字段。

例如,要将案例描述字段用作触摸字段,您可以执行以下操作。

  1. 在案例评论对象上创建一个新的工作流规则,以便在创建或编辑记录时触发。
  2. 指定创建日期不为空时工作流规则的条件。
  3. 为字段更新创建新的工作流程操作。
  4. 指定对象应该是 Case 和 Field Description
  5. 在公式中输入 Parent.Description 作为值。这会将案例描述设置为它自己的值。有效地不更改记录。

关于通过 API 更改 LastModifiedDateSysetemModstamp 我不确定这是否可以作为正在进行的界面的一部分进行。 Salesforce 将允许您通过 API 更新这些审计字段,但您必须联系他们才能启用该功能。

salesforce 在线文档涵盖 the audit fields in more detail .它说:

If you import data into Salesforce and need to set the value for an audit field, contact salesforce.com. Once salesforce.com enables this capability for your organization, you can set audit field values for the following objects: Account, CampaignMember, Case, CaseComment, Contact, FeedComment, FeedItem, Idea, IdeaComment, Lead, Opportunity, and Vote. The only audit field you cannot set a value for is systemModstamp.

关于java - 子对象更新时 Salesforce 更新主记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10685587/

相关文章:

salesforce - 代码覆盖率失败 您的代码覆盖率为 72%。您需要至少 75% 的覆盖率才能完成此部署

java - 使用文本生成图像

java - Java 中的 Mutliround Feistel 网络

java - 在 Java JTree 上显示数据库中的数据

android - Salesforce 移动 sdk 抛出错误 com.android.volley.servererror,基本网络执行请求 201

javascript - 在 Visualforce 页面中禁用依赖选项列表

api - 如何通过 SOAP API 禁用/停用 SalesForce 用户?

java - 我正在尝试使用 Selenium 获取页面源代码,但我得到了空页面

java - Hibernate 空间服务配置错误

java - 两个具有 SalesForce Sdk 的 Android 应用程序在单个设备上发生冲突