如何在Salesforce中创建动态计算字段?

时间:2017-08-07 16:28:56

标签: salesforce visualforce apex

Salesforce的:

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

在帐户记录中,我有一个日期字段,名为"已批准协议"。

订购的产品表示为"资产"。

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

  1. 查看日期字段后创建的所有帐户资产"已批准协议"。
  2. 总结第一个订单(同一天内)内订购的所有资产的总数。
  3. 在同一天内:

    • 让我们假设协议于2017年1月1日获得批准 帐户于2017年1月5日开始订购。
    • 2017年1月5日,该帐户订购了5个订单(8个不同 资产),总计为1,000美元。 这是第一个订单总数 - 在同一个 天即可。
    • 2017年1月5日之后,该帐户发出了更多订单,但他们并没有 计入"第一笔订单金额"。

    所以我的问题是 - 如何创建这个" First Order Amount"场?

    谢谢!

1 个答案:

答案 0 :(得分:0)

您需要在资产上设置一个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用于日期函数和文字。