3公式定義器練習_第1頁
3公式定義器練習_第2頁
3公式定義器練習_第3頁
3公式定義器練習_第4頁
3公式定義器練習_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、目錄公式定義器擴展1目錄1用于何處?1公式定義器的構成1公式定義器的類型3常見的問題4表單控件初始化值5步驟一:點擊公式定義的按鈕5步驟二:編寫邏輯代碼5分支條件表達式6步驟一:畫出流程圖7步驟二:編寫條件表達式8節(jié)點處理人9步驟一:配置節(jié)點處理人9步驟二:調(diào)用組織架構的方法10步驟三:通過邏輯代碼來返回11用于何處?公式定義器主要用于自定義表單控件的初始值,審批節(jié)點的審批人,自動分支的條件表達式等地方。公式定義器的構成公式的特點:1、 具有運行上下文。簡單地說,就是變量,參與計算的數(shù)據(jù)。如:“$報銷金額$”。2、 通過一些邏輯運算符,進行一系列的運算。對于相對復雜的運算,引入了函數(shù)的概念,方

2、便了公式的編寫,如:“$時間.獲取時間差$($結束時間$, $開始時間$)”。3、 最終會返回一個結果。結合下圖的公式定義器界面,可以更好地幫助您了解公式定義器。變量:變量是參與公式計算的數(shù)據(jù)。在審批流程模塊中,變量可以來自系統(tǒng)預定義的字段,如:標題、創(chuàng)建時間、創(chuàng)建人等;還可以來自自定義表單的字段,如:報銷金額、開始時間、結束時間等。在公式定義器中引用的格式為:“$變量名$”,如:“$報銷金額$”。變量可以在公式定義的左邊樹變量列表中直接選擇引用。邏輯運算符:溫馨提醒:公式定義器中的邏輯運算符完全符合Java的語法,若您對Java語法了如指掌,請忽略下面這張表。分類符號說明數(shù)學運算符號+(加)

3、-(減,或負)*(乘)/(除)%(取模,即余數(shù),如11 % 10 = 1)邏輯判斷符>(大于)<(小于)>=(大于或等于)<=(小于或等于)=(等于)!=(不等于)!(非)注意:這幾個函數(shù)都用于數(shù)字類型的判斷,對象類型的判斷不能使用(字符串屬于對象類型),詳見“對象相等”對象相等equals(等于)樣例: ”a”.equals(“a”),返回真常用表達式true真false假return終止后面運算,直接返回值,如return true;邏輯表達式?值1:值2若邏輯表達式成立,則返回值1,否則返回值2if(邏輯表達式)else如果否則函數(shù):函數(shù)是系統(tǒng)預定義好的一些邏輯算

4、法,每個函數(shù)包含若干個輸入?yún)?shù)(某些函數(shù)可能沒有輸入?yún)?shù))和一個返回值。函數(shù)的格式:$函數(shù)名$(參數(shù)1,參數(shù)2,)。函數(shù)可以通過左邊樹的函數(shù)列表進行選擇,鼠標放在左邊樹的函數(shù)的時候,會顯示該函數(shù)的幫助信息。公式定義器的類型公式定義器里面的所有變量都有數(shù)據(jù)類型,函數(shù)中的輸入輸出也有數(shù)據(jù)類型,公式定義的返回結果也有數(shù)據(jù)類型。如何確認一個變量的數(shù)據(jù)類型?比如在審批流程模塊中,變量可能來自系統(tǒng)預定義的字段,也可能來自表單自定義的字段。系統(tǒng)預定義的字段來自系統(tǒng)的數(shù)據(jù)字典(這點開發(fā)人員應該非常清楚),在此我就不多加描述。自定義表單的字段類型如何確定呢?自定義表單元素類型確定單行輸入框由該控件的“數(shù)據(jù)類型”

5、屬性確定是字符型還是數(shù)字型。多行輸入框字符型單選按鈕由該控件的“數(shù)據(jù)類型”屬性確定是字符型還是數(shù)字型。多選按鈕字符型,多值用;分隔下拉菜單由該控件的“數(shù)據(jù)類型”屬性確定是字符型還是數(shù)字型。富文本框字符型附件不參與任何公式計算地址本選擇框組織架構對象類型(SysOrgElement)日期選擇框日期時間型(Date)隱藏字段由該控件的“數(shù)據(jù)類型”屬性確定是字符型、數(shù)字型、日期型。如何確認函數(shù)的參數(shù)類型和返回值類型?當鼠標放在左邊樹的每個函數(shù)節(jié)點時,都會提示該函數(shù)的簡單介紹,信息包括:您該輸入什么樣的參數(shù),將輸出什么樣的值。如何確認公式返回結果類型?要確認公式返回結果類型,需要從使用公式的場景來理解

6、。下面舉幾個場景:1、 流程定義中的條件分支:顯然這里應該返回true/false。2、 流程定義中,采用公式定義器來定義處理人:返回值類型為組織架構對象(或組織架構對象列表)。3、 表單自定義中某個字段的初始值:可以根據(jù)該字段的類型確定公式應該返回什么類型的數(shù)據(jù)。返回結果類型的自動轉換公式定義器會自動將返回的結果轉換成合適的類型。期望返回類型可自動轉換的類型字符所有類型日期/時間/日期時間整數(shù):1970-01-01 00:00:00 GMT等于0,往后1毫秒的時間加1。字符:格式為1970-01-01 00:00數(shù)字字符布爾(true/false)字符:true/false/t/f/yes/

7、no/y/n/1/0數(shù)字:1/0組織架構等model字符:以該字符作為ID的對象另外,公式定義器還能將列表自動轉換成單值,或將單值自動轉換成列表。常見的問題校驗失敗?由于公式定義器的語法過于靈活,所以公式定義器的校驗方法中,只能簡單模擬數(shù)據(jù)進行校驗,所以無法完全校驗公式是否可以正常運行。所以,當您寫一些比較復雜的公式的時候,公式定義器可能會提示:“表達式校驗未通過!原因可能是由于表達式編寫錯誤,或者校驗器無法模擬真實數(shù)據(jù)導致。是否仍使用該公式?”當出現(xiàn)該提示的時候,若您確認公式的書寫是正確的,可以忽略該提示信息。常見誤區(qū):字符串相等在編寫公式的時候,經(jīng)常會用到字符串的比較,比如我們需要判斷一個

8、城市的字段值是否為深圳,那我們很自然地會將公式寫成:$城市$=”深圳”很抱歉,上面的語法是無法得到您期望的結果。正確的寫法是:”深圳”.equals($城市$)公式解釋器中,將字符串看成了是一個對象,這個對象的相等只能采用equals符號。空指針錯誤?字符串、日期、組織架構等都是對象類型,我們可以通過“對象1.equals(對象2)”的方式來比較兩個對象是否相等,也可以訪問對象的屬性/方法,但若這個對象可能沒有被賦值,那當訪問的時候就會出空指針的錯誤,所以在使用公式的時候,請盡量保證使用的變量是必填項,避免空指針錯誤。解決空指針的方法見“在公式定義器中使用腳本語言”小節(jié)。表單控件初始化值我們把

9、自定義表單里面的薪資的控件值初始化為一個不大于10000的隨機整數(shù)。步驟一:點擊公式定義的按鈕步驟二:編寫邏輯代碼import java.util.Random;Random r = new Random();return r.nextInt(10000);分支條件表達式我們根據(jù)薪資的數(shù)額來決定是否需要老總審批,比如薪資大于8000的要老總來審批,小于等于8000的就不需要。步驟一:畫出流程圖步驟二:編寫條件表達式節(jié)點處理人公式定義器里面已經(jīng)內(nèi)置了一些函數(shù),我們可以在流程,自定義表單中使用它。比如我們把經(jīng)理審批節(jié)點設置為提交人的直線領導。步驟一:配置節(jié)點處理人步驟二:調(diào)用組織架構的方法聲明機器人節(jié)點service類,具體樣例如下所示:$創(chuàng)建者$.getLeader(0);步驟三:通過邏輯代碼來返回公式定義器里面允許我們編寫邏輯代碼。比如如果創(chuàng)建人沒有直線領導,那么我們則固定返

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論