1

我有下一个问题。我有一个名为“应用程序”的自定义对象,我有这个要求:

“显示与应用程序相关的所有联系人。在应用程序对象上创建一个字段,必须是只读的”。

我用顶点代码解决它。“应用程序”查找机会,机会到客户,并且我所有的联系人都有 AccountId,所以这样,我在触发器中使用顶点代码获取所有联系人。

但是,我被要求将其更改为 Application 对象中的公式字段。所以,我的问题是下一个。我无法使用高级公式编辑器获得所有联系人,因为它们不是任何对象的一部分。我没有主从关系。

有谁知道我如何使用配置来实现这一点?我不应该为此请求使用顶点代码。提前感谢各位。

4

1 回答 1

0

我不认为你能做到。

在公式/合并字段语法中,没有办法“向上,向上然后向下”(应用程序 -> 机会 -> 帐户 -> 向下到联系人相关列表)。也没有什么可以让您循环浏览联系人(并显示什么?ID?姓名?电子邮件?)。粗略地说,你只能通过点上升。

您可能想探索“跨对象工作流”规则的路径,但我想当我向帐户添加新联系人时,它应该以某种方式“传播”到所有相关的应用程序?也没有直接的方法来触发删除工作流 - 所以你最终会得到不准确的列表。

我会说触发器是一个很好的解决方案。也许它没有优化,但如果它必须在一个领域 - 很难。


通过在应用程序页面布局中嵌入一个 visualforce 页面,可能有一种相当简单的方法来实现这一点。

这应该可以用纯 Visualforce 来实现(所以从技术上讲,不会有 Apex 代码;))

<apex:relatedList list="Contacts" subject="Application__c.Opportunity__r.AccountId" />

将是一个好的开始(如果您想要自己的布局而不是 rel. 列表 - 您应该仍然可以使用<apex:repeat>or来完成它<apex:pageBlockTable>

这里有一个 BUT:它不是一个字段,只是一个展示技巧。忘记在报告、移动应用程序等中使用它。

另一种方式 - 与这些联系人一键点击是否可以接受?您可以制作报告“带有联系人的帐户”,按一个帐户的 ID 对其进行过滤,然后使用“URL hacking”根据您从哪个应用程序单击它来更改过滤器。此链接可以是公式字段或真正的自定义按钮/链接。从技术上讲 - 它是纯粹的配置,没有顶点和 VF。

您可以在Ray Dehler 的优秀帖子中阅读更多关于 URL hacking的信息,特别是关于动态报告信息

于 2013-04-21T06:57:12.993 回答