0

我需要动态地将列添加到销售人员报告中(基于特定条件)。我打算用一个正在寻找我的条件的触发器来做到这一点。我的两个问题,

  1. 是否可以为报表动态添加列?
  2. 我们可以根据时间间隔而不是数据库更新来安排触发器吗?

谢谢,BR马杜拉

4

1 回答 1

0

我不知道有任何可能操纵 Apex 的报告。可以使用 Metadata API(例如 Eclipse IDE 中使用的 API)检索和修改报告定义,但这意味着您必须使用 hack,因为在 Apex 中不容易使用 Metadata API。

这是一种“已知问题”,很多人已经研究过:

  1. http://boards.developerforce.com/t5/Apex-Code-Development/Is-it-possible-to-call-Metadata-API-from-Apex-code-Getting-Error/td-p/119412
  2. https://github.com/financialforcedev/apex-mdapi - 我会说看起来真的很有趣
  3. https://salesforce.stackexchange.com/questions/1082/has-anyone-ever-successfully-invoked-the-metadata-api-from-within-apex

您真的认为某种“动态报告”是满足业务需求的有效解决方案吗?我的意思是 - 如果用户在报告中添加了一些列,并且第二天报告定义将改变,从而抹去他们的工作,他们会感到困惑......


至于另一个问题——你可能不应该使用“触发器”这个词;)如果你想让一些 Apex 在时间间隔内运行,你应该看看作业调度(写一个类implements Schedulable),然后你可以将它安排到在特定时间运行。如果不进行特殊调整,该作业甚至可以每小时触发一次。

当然,还有基于时间的工作流选项,它会执行字段更新并导致触发一些真正的触发器,但这是非常以数据为中心的 - 不能保证它会按时间间隔运行。

于 2012-11-19T08:23:54.267 回答