新记录的验证麻烦

时间:2018-09-11 19:14:47

标签: salesforce salesforce-service-cloud salesforce-lightning s

我几乎没有必须创建的评估记录。我已经写了一个验证,他们可以创建新记录,最短到期日期为创建日期起的7天。

AND( 要么( ISPICKVAL(Assessment_Request_Type__c,“优先级”) ), LEN(WorkType.Name)> 12, Assessment_Due_Date__c <=(DATEVALUE(CreatedDate)+ 7) )

问题是,当我尝试更新现有评估记录时,也会启动此验证。

我如何有意义地进行验证规则检查,并说如果现有记录(使用ISNEW())和“评估到期日”未更改,则可以。 (使用ISCHANGED)。

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您的请求,则可以在AND()函数中组合需求:

AND(
    OR(
        ISNEW(),
        ISCHANGED(Assessment_Due_Date__c),
    ),
    ISPICKVAL(Assessment_Request_Type__c , "priority"), 
    LEN(WorkType.Name) > 12 ,
    Assessment_Due_Date__c <= (DATEVALUE(CreatedDate) + 7)
)

如果记录是新记录,或者评估到期日正在更改,并且您最初具有的其他条件是真实的,则此验证规则将返回true。

如果根本不应该更改评估截止日期,那么您也可以考虑创建单独的验证规则以简化操作。