salesforce.com公式:如何检查记录是否是新的

时间:2012-05-31 06:54:16

标签: salesforce apex-code

我必须为我的新记录计算协议值。假设协议值为ending_days - beginningining_days。我把这个公式放在我的对象中。

IF(Beginning_ c<>结束 _c,Ending_ c-Beginning _c,0)。

我有两个与此相关的问题

1:协议价值是多少?,我假设我假设的是什么还是具体的其他含义?

2:我必须仅为新记录创建协议值。那么,我应该在我的IF条件中处理这个事实例如:我的IF代码应该是这样的吗

IF(AND(//以某种方式检查记录是否为新记录,Beginning_ c&lt;&gt;结束 _c),Ending_ c-Beginning _c,0)< / p>

2 个答案:

答案 0 :(得分:2)

首先,如果Beginning__c == Ending__c,则Ending__c-Beginning__c已经为0,因此您的公式根本不需要IF。

其次,每次在SOQL中引用公式时都会对公式进行评估,如果要进行一次性计算,则应使用before insert触发器或工作流并将结果存储在常规字段中。

答案 1 :(得分:0)

回答问题的第2部分。在公式中使用函数ISNEW()。 所以你的完整公式将是:

IF (AND(ISNEW(),Beginning_c <> Ending_c),Ending_c-Beginning_c,0)