【问题标题】:Grab value from unrelated object where two fields match从两个字段匹配的不相关对象中获取值
【发布时间】:2020-04-24 10:32:22
【问题描述】:

我有两个对象 - “帐户”和“约会”。我正在尝试从“Account.Initial_Date”匹配“Appointment.Date_Time”的“Appointment”对象中提取“Status”字段的值。我最初尝试在“帐户”对象中创建一个新字段以返回一个文本字段,看看它是否会返回第一个值:

Appointment__c.Status__c

这会导致错误:

“字段约会__c 不存在。检查拼写。”

有人告诉我,从“约会”链接到“帐户”太难了,因为每个帐户可以有多个约会,这就是我尝试根据日期字段进行链接的原因。我的下一次尝试是使用VLOOKUP,但我读到这仅适用于自定义对象,我想我在这里使用标准对象......我应该寻找什么样的解决方案?

在此处添加标签,以防可以通过某种脚本实现 - 如果是这样,我会尝试通过它。

【问题讨论】:

    标签: apex salesforce apex


    【解决方案1】:

    有人告诉我,从“约会”链接到“帐户”太难了,因为每个帐户可以有多个约会

    这是不正确的。这种关系似乎与联系人和客户之间的关系完全相同——一个联系人,多个客户。这是 Salesforce 中非常常见的关系模式。

    如果一个约会在逻辑上与一个客户相关,它应该有一个关系字段引用与之相关的客户对象。

    但是,具有一对多关系并不意味着您可以简单地表示从多方到一方的特定数据点。执行此操作的本机工具是汇总汇总字段,但它不适用于您的用例。

    实际上有三种方法可以实现您的目标,本质上是实现汇总摘要的变体。 VLOOKUP(),仅适用于验证规则,不适用于此处。

    1. 编写两个 Apex 触发器(一个在 Account 上,一个在 Appointment 上)以对可能影响应在 Account__c.Status__c 字段中显示的值的所有更改做出反应。
    2. 编写等效的 Process 和 Flow 声明性自动化,无法实现 100% 的目标,因为 Process Builder 和 Flow 无法对删除事件做出反应。
    3. 使用免费和开源的Declarative Lookup Rollup Summaries 应用程序来定义汇总摘要。 DLRS 可以根据另一个字段 (Date_Time__c) 的排序将字段从子对象 (Appointment) 填充到父对象 (Account)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-04
      • 1970-01-01
      • 1970-01-01
      • 2018-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多