公式中引用空值字段需要处理下
Created by: yinlianghui
我又看了下sf文档,还是没找到,测试下来规则如下: 1.公式引用了任何数字、货币和百分比字段时,会根据配置的空白字段处理方式,把相应的空白参数字段替换为空白或0值传入公式体进行计算,计算结果是什么就是什么。 2.公式引用了其他类型字段,比如日期,字符,跟配置的空白字段处理方式没关系。 3.公式引用了字符类型字段,跟配置的空白字段处理方式没关系。但是比较特别,空值会转为空串,而不是null传入,即a+null结果是a而不是aNULL。
以上计算结果是什么就是什么指的是:有异常时直接返回空,没异常时正常返回计算结果。
比如:
-
DAY( test_m1__r.LastActivityDate )+4
,当LastActivityDate(日期字段)为空时,会返回空,无论上面配置的空白字段处理方式如何,因为DAY(0)和DAY(null)都会返回null。 -
IF(ISBLANK(test_m1__r.Amount),-1,sell_m_amount__c * 0.1)
,当test_m1__r.Amount(数值字段)为空值时,如果上面配置了空值按0处理,则会返回sell_m_amount__c * 0.1计算结果;反之如果配置了空值按空值处理,则会返回-1。 -
10+B
(B为数值字段),当B为空值时,如果上面配置了空值按0处理,则会返回10,反之如果配置了空值按空值处理,则会返回空。 -
TEXT(test_m1__r.Amount)+"-abc"
,当test_m1__r.Amount为空值时,如果上面配置了空值按0处理,则会返回0-abc;反之如果配置了空值按空值处理,则会返回-abc。 -
test_m1__r.Name+"-abc"
,当test_m1__r.Name为空值时,无论上面配置的空白字段处理方式如何,都会返回-abc -
test_m1__r.LastModifiedDate
,当test_m1__r.LastModifiedDate为空值时,无论上面配置的空白字段处理方式如何,都会返回空 -
TEXT(test_m1__r.LastModifiedDate)
,当test_m1__r.LastModifiedDate为空值时,无论上面配置的空白字段处理方式如何,都会返回字符Z