上一篇介紹的內容爲Formula,其中的Date/time部分未指出,此篇主要介紹Date/time部分以及Validation rules。java
本篇參考PDF:express
Date/time:https://resources.docs.salesforce.com/200/latest/en-us/sfdc/pdf/formula_date_time_tipsheet.pdf函數
Validation rules:https://resources.docs.salesforce.com/200/latest/en-us/sfdc/pdf/salesforce_useful_validation_formulas.pdfcode
一.Date/time函數orm
使用Date/time函數應該注意此函數的返回類型,是Date,Date/time仍是time類型的。主要函數以下:對象
寫法:DATE(year,month,day) blog
sample:DATE(2016,4,20):表明2016年4月20日ip
2. DATEVALUE:經過表達式或者Date/time參數返回一個Date類型開發
寫法:DATEVALUE(expression) 字符串
sample:DATEVALUE(createdDate):返回createdDate的Date值,原createdDate類型爲Date/time
sample:DATEVALUE("2016-4-20 13:40:30"):返回將字符串轉換成Date類型的值。
sample:DATEVALUE("2016-4-20"):同上
3. DAY:返回指定日期的某月的第幾天,範圍爲1--31
寫法:DAY(date):參數爲Date類型
sample:DAY(DATE(2016,4,20)):返回值爲20,返回當前日期的day的值。
4. MONTH:返回指定日期的月份,範圍爲1(January)-12(December)
寫法:MONTH(date):參數爲Date類型
sample:DAY(DATE(2016,4,20)):返回值爲4,返回當前日期的month的值。
5. NOW:返回當前時刻的Date/time類型
寫法:NOW():無參數
sample:NOW():獲取當前時刻的Date/time
6. TODAY:返回當前日期的Date類型,也能夠用於validation rules
寫法:TODAY():無參數
sample:TODAY():獲取當前日期
sample:TODAY()-DATEVALUE(createdDate):返回當前日期與建立日期相差的天數
7. YEAR:經過一個給定的日期,返回一個4位的年數
寫法:YEAR(date)
sample:YEAR(DATE(2016,4,20)):返回結果爲2016
8. DATETIMEVALUE:經過表達式或者一個Date/time類型參數返回一個日期+GMT time的Date/time
寫法:DATETIMEVALUE(expression)
sample:DATETIMEVALUE("2006-04-20 14:00:00")
sample:DATETIMEVALUE(createdDate)
注意:當使用字符串去獲取時,格式必須爲YYYY-MM-DD,不符合要求狀況下返回值爲#ERROR!
二.Date、Date/time、Text之間轉換
經過上面方法能夠看到,有的時候參數須要Date類型參數,好比DAY等等,有的時候須要Date/time,系統封裝的字段中,有的爲Date,有的爲Date/time,因此說相互轉換顯得尤其重要。
1.Date/time和Date之間的轉換
2.Date和Text之間的轉換
3.Date/time和Text之間的轉換
使用TEXT函數能夠將Date/time函數轉換成字符串類型。
使用DATETIMEVALUE能夠將字符串類型轉換成Date/time類型,其中字符串類型應該遵循YYYY-MM-DD格式。
三.Validation rules
validation rules用於保存信息前的字段校驗,當進入sObject時,下方有一項validation rules用來設置,以下圖所示。
點擊new新建一條校驗規則,校驗規則包括如下部分:
1.規則名稱以及規則的描述;
2.錯誤狀況的formula,即若是save時formula內容爲true時顯示錯誤信息,save失敗;
3.錯誤的消息提示,用來顯示第二步false的信息提示;
4.信息提示位置:1.頁面最上方;2,字段位置處。
validation rules是自動執行的,執行時機先於trigger。validation rules中函數包含但不侷限於formula中的函數,好比priorValue函數,只在validation rules存在,在formula並不存在。
有些函數在使用時是須要符合某些要求才能使用和執行的,因此在應用某些函數前,最好先看一下須要注意的狀況,好比PRIVORVALUE函數。
總結:formula和validation rules中封裝的函數極大程度上方便了咱們的開發,使用前須要先確保兩件事情:
1.應用的範圍,應用此函數須要考慮配置或達到哪些要求;
2.函數的參數類型以及返回類型,在formula中是較爲嚴格要求的。
本篇主要講解formula中的Date/time以及Date函數和validation rules的用法,若是有寫錯的地方還望指出,若是有不懂得地方歡迎留言,共同探討!