【问题标题】:How to create a dynamic - calculated - field in Salesforce?如何在 Salesforce 中创建动态计算字段?
【发布时间】:2017-08-07 16:28:56
【问题描述】:

销售人员:

每个帐户都与我的公司签订了协议。达成协议后,他们就可以开始订购产品了。

在帐户记录中,我有一个名为“Agreement Approved On”的日期字段。

订购的产品表示为“资产”。

我想在帐户记录中创建另一个名为“First Order Amount”的字段。该字段应动态填充,并应计算以下内容:

  1. 查找在日期字段“协议批准日期”之后创建的所有帐户资产。
  2. 汇总第一个订单期间(同一天)订购的所有资产的总和。

当天内:

  • 假设该协议于 2017 年 1 月 1 日获得批准。 帐户于 2017 年 1 月 5 日开始订购。
  • 在 2017 年 1 月 5 日期间,该帐户下了 5 个订单(8 个不同的 资产),总额为 1,000 美元。 这是第一个订单总数 - 在同一 天
  • 2017 年 1 月 5 日之后,该帐户下的订单更多,但没有 计入“第一笔订单金额”。

所以我的问题是 - 我如何创建这个“First Order Amount”字段?

谢谢!

【问题讨论】:

  • 只需在 Account Object 中创建该字段,并在需要时在 apex 中使用并更新它...为什么必须动态创建它?

标签: salesforce visualforce apex


【解决方案1】:

您需要在 Asset 上设置 oncreate 触发器,以更新 Account 上的第一个订单总金额字段。 在触发器中检查 now() > 协议批准日期。如果是,请检查是否存在 dateCreated 协议日期。如果有现有资产,则意味着这不是第一个订单。 然后,您可以获取所有资产金额并将它们相加并将最终金额写入帐户字段。

https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_triggers_context_variables.htm 用于触发语法

https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql_select_dateformats.htm 用于日期函数和文字。

【讨论】:

    猜你喜欢
    • 2021-12-25
    • 1970-01-01
    • 1970-01-01
    • 2014-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多