




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、工作流系統設計手冊一、引言工作流管理是目前被業界廣泛應用并迅速發展的技術,它的主要功能是使業務處理過程自動化,協調人和各種應用程序的工作。工作流管理系統(Workflow Management System,簡稱:WfMS)以企業業務過程為核心,結合了計算機支持協同工作以及企業信息系統的相關技術,立足于過程自動化,著眼于整體效率的提高。隨著計算機軟硬件技術的發展,特別是Internet和Intranet的迅速普及,工作流管理系統的應用范圍已不僅僅限于傳統辦公環境(如保險、銀行、法律、行政管理等)和工業制造中,而且逐漸擴展到企業應用環境中。1993年成立的工作流管理聯盟(Workflow Man
2、agement Coalition,簡稱:WfMC)給出了一系列工作流的規范。其主要概念有:工作流工作流是一類能夠完全或者部分自動執行的經營過程,它根據一系列過程規則,文檔信息或任務能夠在不同的執行者之間傳遞與執行。工作流是一種反映業務流程的計算機化的模型,實現經營過程集成與經營過程自動化而建立的可由工作流管理系統執行的業務模型。工作流管理系統它是一個軟件系統,完成工作流的定義和管理,并按照在計算機中預先定義好的工作流邏輯推進工作流實例的執行。并監控其工作狀態。工作流管理系統可稱為企業的業務操作系統。(Business Operating System,簡稱:BOS)工作流系統參考模型有關工作
3、流管理聯盟更詳細的規范請參見二、JU工作流管理系統根據國際工作流管理聯盟的標準模型,實現了過程定義工具、工作流執行服務(工作流機)、工作流管理工具以及工作流客戶應用(人工動作)和供工作流執行服務(工作流機)直接調用的應用(自動化動作)。人工動作必須與表單綁定。表單提供了人機交互的工作界面,而表單的后面是標準通用的關系型數據庫系統。對于數據庫系統我們提供了標準的數據管理模塊進行管理。這樣就和目前常見的工作流系統有了明顯的區別,結構化的數據庫系統參與了工作流的全部過程,而目前常見的工作流系統多采用非結構化的文檔數據庫。經過擴充后的工作流系統既解決了人員之間的協同,提高了工作
4、效率。也解決了其它工作流系統不能解決的第二個問題,為業務管理系統提供準確有效的數據,加上可自定義的報表工具,分析工具。即可生成極具個性的企業業務管理系統。過程定義工具和工作流客戶應用是人機交互的主要部份。過程定義工具的使用是一個設計開發的過程,而工作流客戶應用則是使用的過程,設計開發過程相對復雜,而使用的過程則非常簡單。對于兩種不同的過程,我們采用了統一的設計方法,采用了完全的B/S結構,現有的工作流系統一般設計工具采用C/S方式,運行端使用B/S或C/S方式,我們的系統將兩者進行了統一,使用了獨創的技術,可以直觀方便地使用IE定義流程圖。降低了對管理員的要求。同時,在流程運行時,流程圖可以動
5、態顯示當前的狀態,高度緊湊的系統提高了運行的效率,降低了出錯的可能。三、工作流基本知識l 流程又叫業務流程、工作流程。是反映業務目的工作流模型,這個模型定義了要實現的目標以及實現目標所要經過的過程。流程可以用流程圖來表示。l 獨立流程獨立流程是可以直接啟動運行的流程,一個完整的獨立流程由若干個動作和若干個流轉條件組成。其包含的的屬性有:工作流模型ID、名稱、類型、編號、狀態、版本號及綁定的數據源等。l 子流程和獨立流程唯一不同的地方是子流程不可以直接啟動。子流程將作為獨立流程的一個動作來執行。l 數據源存儲數據的集合,目前支持關系數據庫中的表,當數據源與流程綁定后,則數據源用來保存工作流運行過
6、程中的數據。l 動作又叫活動,動作是構成流程的基本單元,主要反映完成業務流程需要執行的操作。其包含的屬性有:動作名稱、動作描述、動作類型(人工動作、自動動作、子流程等)、是否起始動作、是否添加動作、動作人、動作時限、通知方式以及相應的表單信息等。動作在流程圖中用一個方框來表示,方框內顯示了動作的重要屬性。l 起始動作表示一個業務流程的起點。當起始動作啟動后,系統將自動生成一個流程實例。每一個流程最小有一個起始動作。起始動作目前是由人工來啟動的。區別與別的工作流系統,起始動作本身也是一個動作,人工起始動作將啟動表單,提供人機交互界面,與實際業務過程中的起草、申請、錄入等工作相對應。在流程圖中的動
7、作方框內有一個明顯的箭頭圖示表示起始動作,非起始動作則表示為齒輪。l 人工動作指需要業務人員進行一些手工處理的動作。人工動作在在執行時將啟動表單界面,提供人機交互界面。l 自動動作指無需人工干預,系統自動運行的動作。l 添加動作在人工動作時,其啟動的表單界面是空白表單。而當非添加動作時,其表單為上一動作傳遞而來,當起始動作為非添加動作時,啟動的表單將從已存在的表單中選取。一般情況下,起始動作同時也是添加動作。非起始動作同時也是非添加動作。只有一些特殊的流程,起始動作不是添加動作。l 流轉條件表示從一個動作(源動作)轉到另一個動作(目標動作)的條件,流轉條件包含一個結果為真(true)或假(fa
8、lse)的邏輯表達式,當表達式為真時,目標動作將被啟動,當表達式為假時,目標動作不被啟動。目前表達式支持VB的語法。在表達式定義過程中,流程表單中的每一輸入數據項都可以作為變量被引用。流轉條件包含的屬性還有:類型(單徑流轉、多徑流轉)、文字描述、源動作、目標動作、名稱等。流轉條件在流程圖中表示為一個連接源動作方框和目標動作方框的單向連接線。l 單徑流轉為流轉條件的一種,當目標動作的動作人不唯一時,即一個動作存在多個動作人時,單徑流轉的處理邏輯是當其中一個動作人完成了目標動作,則此目標動作即變成完成動作。無須再做。l 多徑流轉為流轉條件的一種,當目標動作的動作人不唯一時,即一個動作存在多個動作人
9、時,多徑流轉的處理邏輯是當其中一個動作人完成了目標動作,則此目標動作仍為待辦動作。只有所有的動作人都完成了動作,該目標動作才變成完成動作。l 流程圖業務流程的圖型表示。流程圖有兩種形式,一種為模型流程圖。表示流程的模型。另一種為實例流程圖,不但表示流程的模型,同時還表示流程的實例。即流程實例的完成動作和待辦動作。l 流程實例流程啟動以后產生的運行實例,即一個運行的業務流程。系統會產生一個唯一標識ID來表示流程實例。l 動作實例在流程實例中啟動了的動作運行的實例,系統會產生一個唯一的標識ID來表示動作的實例。l 完成動作當一個動作實例已經完成,為完成動作。l 待辦動作當一個動作實例沒有完成,為待
10、辦動作。l 超時動作當一個待辦動作超過動作設定的時限為超時動作。四、過程定義工具過程定義工具又叫建模工具,我們提供了方便易用的過程定義工具。該工具作為整個協同管理系統的一個系統管理員功能提供給用戶。說明:在過程定義工具中并不包括組織結構和角色定義功能,這是因為,在人力資源模塊中已經實現了這些功能。人力資源模塊是系統的一個基本模塊,并不僅僅為工作流子系統服務。當人力資源模塊中的基礎數據建立完成后,工作流系統只需要從人力資源模塊引用數據即可,不必在工作流系統中單獨建立組織結構和角色定義。定制一個工作流程需要完成如下幾個步驟:l 新建工作流模型(可以從現有工作流模型中選取一個作為模板)l 定義工作流
11、的基本屬性l 繪制模型工作流圖l 定義人工動作對應的表單新建工作流模型運行工作流程的定制流程功能模塊即可定制一個新的工作流程。定制流程模塊顯示的第一個界面是分類列出系統已經定制的各項流程名稱,點擊名稱,將在界面下部顯示選中流程的流程圖。我們可以從現有工作流模型中選取一個與將要定義的工作流程近似的工作流作為模板。這樣可以大大減少定義的工作量。點擊右上角的箭頭即進入下一步,在進入下一步之前,將詢問你是否將選中的工作流模型作為模板。選確定將使選中工作流復制到新建流程。否則將創建一個新流程模型。定義工作流的基本屬性基本屬性有如下內容:1. 流程名稱流程名稱應在所有的流程模型中唯一。用來在界面標識流程。
12、2. 編碼代號可根據企業規定的流程文件填寫(如ISO9000文件)。3. 類型按管理類型所做的分類,管理類型在系統管理的編碼管理模塊定義。4. 描述用文字描述流程要實現的目標。5. 屬性確定是否是獨立流程或子流程。6. 正常周期流程實例的正常的生命周期。用來為流程分析提供參考。7. 監控人流程實例的監控者,通常為業務主管或績效考評部門。8. 制定人流程的制定人,由系統自動填寫為當前用戶的名字。9. 制定時間流程的制定時間,由系統自動填寫為當前時間。10. 數據源為與流程綁定的數據源。點右邊的圖示從列出的系統數據表中選取。如果沒有合適的數據源,應使用數據管理的數據建模模塊來定義數據源。11. 狀
13、態為待用、試用、使用、停用、作廢選項。當選中作廢時,當前編輯流程模型將被從系統中刪除。12. 啟用時間流程模型的啟用時間。13. 停用時間流程模型的停用時間。14. 級別用數字表示的流程重要性。15. 版本號流程的版本號16. 父版本流程的上一個版本17. 更改說明流程更改情況的說明。特別說明:監控人相當于本流程的管理員,監控人可以是流程的參與者,也可以不是流程的參與者。監控人負責協調流程運行過程中出現的異常。監控人可以隨時查詢并監控流程運行過程中的每一個動作。當發現異常時,監控人可以通過催辦、回退、終止、移交、刪除等手段來解決出現的問題。點擊監控人右邊的圖示,將彈出一個角色選擇對話框。對話框
14、分類列出了由人力資源模塊提供的各類角色。下面分別說明:職務:列出系統定義的所有職務,注意:具有同一職務的員工通常有多人。部門:列出人力資源模塊中定義的部門。這里指部門的所有員工。崗位:是部門和職務的合成。如財務部經理。崗位縮小了職務的范圍。員工:列出人力資源模塊定義的員工。其中第一項為所有員工。指所有用戶。上下級:根據上下級關系定義的角色,共有如下幾項。發起人:流程起始動作的執行者。所有上級:在人力地圖中,位于發起人上級的所有的員工。包括上級和上級的上級等。所有下級:在人力地圖中,位于發起人下級的所有的員工。包括下級和下級的下級等。直接上級:是發起人的直接上級。直接上級只應有一人。直接下級:是
15、發起人的直接下級。直接下級通常不止一人。部門領導:是發起人部門的部門負責人。該負責人在部門表里定義。高層主管:是部門表位于頂層同時又是發起人的上級或間接上級的員工。高層領導:是部門表位于頂層部門的所有人。定義完工作流屬性提交后,將進入繪制模型工作流圖界面繪制模型工作流圖在這里將定義動作和流轉條件。通過菜單的新增、編輯、刪除來定義動作。新增動作菜單將顯示一個動作屬性對話框。其內容有:動作名稱:本動作的名稱描述:本動作的文字說明類型:為人工動作、自動動作和子流程的選擇框。起始節點:勾選是否為起始動作。是否添加:勾選是否為添加動作。時間限制:動作的時限,當超過時限未執行的動作,為超時動作。使用者:動
16、作的執行人。通知方式:動作完成后,以什么方式通知下一個動作的執行人。系統提供了6種通知方式,分別為:不發送通知、即時消息、手機短信、電子郵件、短信和郵件、手動。表單風格:人工動作對應的表單的風格。有兩種選項:表格風格和文檔風格。表單列數:人工動作對應的表單的列數。表單返回頁:當人工動作完成后,即表單提交后,返回的頁面。默認為首頁。座標:動作方框在流程圖上的位置。如不填寫,則為左上角。當新增一個動作后,將在流程圖顯示區域顯示一個方框。方框里顯示了動作的名稱、動作人和動作時限。動作方框左上角的圖示表示動作是否為起點動作。當圖示為箭頭時表示起點動作,選中流程圖上定義的動作。再點擊編輯菜單將顯示動作屬
17、性編輯對話框。實現對動作屬性的編輯,其對話框和新增動作顯示的對話框同。雙擊流程動作標題。和點擊編輯菜單效果相同。點擊菜單刪除將刪除當前選中的流轉動作。在刪除流轉動作的同時,將刪除與該動作相連的所有的流轉條件。用鼠標拖動動作方框的標題,可以將動作放到流程圖的任意位置。新增動作的初始位置在流程圖的左上角。選擇網格菜單將在流程圖顯示或隱藏網格。當網格顯示時,拖動動作方框時,其座標位置將鎖定在網格點上。這樣將很方便地實現動作的對齊。流程動作定義完成后,下面的工作就是定義流轉條件了。把鼠標移動到動作方框的邊界上,當鼠標變成十字形時,按下左鍵同時移動鼠標,將在動作方框和鼠標位置之間畫出兩條相互垂直的虛線,
18、將鼠標移動另一個動作方框上,松開左鍵,兩條虛線將變成實線,將源動作和目標動作以單向連接線的方式連接起來,同時彈出流轉條件屬性對話框。其內容為:名稱:流轉的名稱,默認為:源動作的名稱:目標動作的名稱,可修改。類型:為單徑流轉和多徑流轉的選擇框。說明:關于流轉條件的文字說明,在流程圖上當鼠標指向流轉連線時,將顯示此段文字。參考:列出該流程對應的數據源的所有的字段名稱,供定義條件時參考。其格式為:變量名(變量說明:類型說明),條件表達式應該引用變量名。條件:條件表達式,當為true時,流轉啟動,否則不啟動。表達式支持VB Script語法。參見 VB Script 參考手冊舉例:缺勤管理我們給缺勤管
19、理設計了三個動作,第一個動作是起草申請,其動作人是全體員工,屬性有:起點動作、添加動作。其含義是所有用戶都可以通過這個動作啟動流程,實現請假申請。第一個動作的動作時限在啟動時無意義,只有在再次流轉到這個動作時時限才有意義。第二個動作是上級審批,其執行人是部門領導。即第一個動作執行人(即起點動作的執行人:發起人)的部門的領導來執行審批。在第一個動作和第二個動作之間我們加上了一個流轉條件,從動作1:起草申請流轉到動作2:上級審批。流轉條件為默認值:true。即起草完成后,立即轉給上級審批。第三個動作是公司批準。其動作人是高層主管。高層主管指起草人的領導關系樹型表示中,位于部門頂層的領導。這里的第三
20、個動作是特殊的流程動作,其含義是:只對長假生效。綜合前面兩個動作,其整個流程需要完成的邏輯是:部門領導審批員工提出的短期請假。而長期的請假則需要經過公司高層主管的批準。在動作2:上級審批和動作3:公司批準之間我們設計的流轉條件就不是默認值true了。我們定義的流轉條件是:nHours > 24 and Status = 1。這里使用了數據源提供的變量nHours,其含義是請假時間(按小時計),由啟動動作:起草申請的執行人填寫。Status是數據源提供的另一個變量。其含義是部門領導的審批意見。整個表達式的含義是:當請假時間超過24小時(3個工作日),同時,部門領導批準的情況下。啟動第三個動
21、作:公司批準。當不滿足這兩個條件的時間。到第二個動作流程即終止了。即部門領導決定三天以內的員工請假。三天以上的員工請假由部門領導和公司高層主管共同決定。流程圖完成后,定制相應的表單,則工作流模型定義完成。就可以使用了。流轉屬性定義完成后,點確定,流轉條件定義完成,點刪除則刪除流轉條件。點擊流程圖上的流轉條件連線,將彈出流轉條件定義對話框。可實現對流轉條件的編輯或刪除。繪制完流程圖提交后,下一步的工作是定制人工動作對應的表單。定義人工動作對應的表單表單是動作執行時人機交互的界面,表單和數據源具有對應的關系,通過表單,流程每執行一個動作,將使數據庫表的某條相關記錄發生變化。起始動作將使數據庫表增加
22、一條記錄,流程中的動作通過填寫不同的字段,來實現流程所期望的業務邏輯。可以將表單看成是人工流程中對應的表格。如申請表、審批表等各種單據。在人工流程中,表格是印刷打印或手工繪制的紙質單據,根據流程文件規定的流程(如ISO9000程序文件),不同的人填寫不同的表格區域,來實現流程定義的業務。表單定義和繪制表格的作用相同。我們提供了表單編輯器和表單設計器來定義表單,表單編輯器即是下面將要介紹的表單定義界面,表單設計器是表單編輯器提供的菜單功能。表單定義界面將列出當前定義的人工動作的名稱和類型以及相對應的表單對象定義,點選人工動作選項,可以選取不同的動作來進行表單編輯。在選擇人工動作之前,請用戶確定對
23、當前表單的修改是否需要提交,如果需要提交,請先提交表單,否則,對當前動作表單所做的修改將會丟失。表單對象定義界面提供了一個二維表格,讓用戶輸入對應于數據源的每一個字段在表單上的表現形式。二維表格的縱向列出了數據源的所有的字段的順序號和字段名稱。該數據字段我們稱之為表單對象,而橫向列出了表單對象在屏幕表現所必須的各種屬性。其內容有:顯示名稱在表單中顯示的數據字段的名稱,該名稱的默認值為數據庫表定義模塊填寫的顯示名稱。如表定義模塊未填寫顯示名稱,則默認值將為字段名稱。顯示名稱可以根據表單中的含義進行修改,如:默認名稱為姓名,可更改為申請人。顯示勾選當前字段是否在表單中顯示,當選不顯示時,則該表單界
24、面將不使用此字段,同時,該字段的其它屬性無效,并被隱藏。注意:不顯示字段并不是隱藏字段,隱藏字段在表單界面中仍然存在。只是被隱藏了。其數值仍然受默認值或其它的影響。注意:數據源字段的第一項通常是ID,ID為數據表主鍵,類型為自動編號。該字段為系統生成,無需人工干預,故一般該字段應設定不顯示。只讀勾選當前字段是否為只讀。當選只讀時,表單僅顯示字段內容,用戶不可輸入改變,只讀選項在不由該動作填寫的字段時或系統自動生成內容時填寫。例如:表單填寫人由系統生成,用戶不可更改。申請動作填寫的申請內容,在審批動作不可更改等。必填勾選當前字段是否為必填。當選必填時,如字段數據為空,表單將不可提交。輸入類型系統
25、提供了幾種輸入類型供選擇:編輯框: 適合輸入簡短文本、數字、時間等。檢查框:適合輸入邏輯值,如是否等。單選框:適合輸入多選一的選項。當字段引用枚舉量時,可使用此類型。下拉框:適合輸入多選一的選項。當字段引用枚舉量時,可使用此類型。文本框:適合輸入較長的文字。密碼框:適合輸入密碼,密碼內容將會被圓點替換。超文本框:適合輸入HTML格式的文檔,系統提供了內置的HTML編輯器。默認值該字段的默認值,默認值可以直接輸入數值,也可以使用表達式,當使用表達式時,應使用等號 = 開頭。表達式支持VB Script的語法。在表達式中,可以使用系統內置的變量和函數,也可以使用VB Script的內部函數,參見附
26、錄:系統內置變量和函數參考、VB Script參考手冊輸入規則提供對字段輸入的約束條件的定義或輔助指導。在數據庫表管理模塊實際上已經定義了部份字段的約束條件,如字段的類型,和該字段的引用關系,輸入值必須和字段的類型和引用關系匹配,而這里可以定義更詳細的規則,以引導用戶輸入正確的值。我們可以采用直接輸入的方法,也可以使用輸入框右邊提供的圖示選擇來選擇輸入規則。選擇輸入規則根據不同字段的引用關系,輸入規則對話框會有不同的表現形式。當字段無引用關系時,輸入規則對話框有如下幾項內容:通用:定義通用的輸入規則高級:提供高級的輸入輔助指導選擇。自定義:提供文本框,由用戶直接填寫輸入規則。通用規則有如下幾條
27、:1、 無限制2、 只允許英文3、 只允許數字4、 只允許漢字5、 不允許英文6、 不允許數字7、 不允許漢字8、 不允許數字開頭9、 IP地址10、 URL高級選項,則會在輸入框旁邊加上選擇圖示,讓用戶直接從選擇對話框中選擇內容。高級選項提供的選擇有:日期選擇:提供日歷選擇對話框日期時間選擇:提供日歷時間選擇對話框員工選擇:提供員工列表選擇對話框員工與組選擇:提供員工列表及部門職務選擇對話框顏色選擇:提供調色盤選擇顏色對話框字體選擇:提供字體選擇對話框字段歷史選擇:提供曾經輸入過的字段內容列表選擇對話框圖標選擇:提供圖標選擇列表對話框。當字段存在引用關系時,根據表引用或是枚舉量引用。字段的輸
28、入規則會有如下的內容:枚舉量:列出枚舉量所有數值與內容,用戶可全部選擇或部份選擇。表引用:列出引用表的所有可選擇記錄,用戶可全選或部份選擇。引用查詢:列出引用表所對應的查詢。用戶可使用查詢來選擇引用。行、列、寬、高定義輸入字段在表單中的位置,表單的總列數在動作屬性中定義。行:字段所在的起始行位置。列:字段所在的起始列位置。寬:字段所占用的列的寬度。當寬為0時,該字段隱藏。高:字段所占用的行數。最小為1。當行值為負值時,表示建立多行明細表。其位置在行值的絕對值的位置。定義表單界面還提供了如下的菜單功能:另存:將流程表單另存為表動作表單。在數據管理模塊,我們提供了表動作表單,表單動作表單和流程無關
29、,是專為數據源提供的表單,其用處為非工作流的應用,如專為系統管理員的應用,以及諸如內容瀏覽、打印等用途。此功能將彈出對話框,在對話框中可以選擇現有的表動作,點擊確定將保存當前的表單到選擇的表動作表單,而原有的表動作表單內容將被復蓋。也可以選擇新建表動作表單,來新建一個表動作表單。表動作表單將可以在數據管理模塊中進行編輯設計。載入:從流程動作或表動作表單中載入,載入表單將打開一個選擇對話框,對話框列出同屬于同一數據源的所有的表單,可能是表動作表單,也可能是流程動作表單,流程動作可能是本流程的其它動作,也可能是同屬同一數據源的其它流程的流程動作表單。從列表中選擇表單,將復蓋當前的表單設置。屬性:定
30、義表單的其它屬性。此功能將彈出一個屬性對話框,在屬性對話框里,將定義與界面相關的其它若干屬性,其內容有:表單風格:有表格風格和文檔風格兩種選擇,和流程動作屬性定義的內容相同。表單列數:表單的列數:和流程動作屬性定義的內容相同。表單頭:表單標題,支持HTML語法。表單尾:表單結束,支持HTML語法。輸入欄字體:定義字段輸入欄的字體。名稱欄字體:定義字段名稱欄的字體。輸入欄背景:定義字段輸入欄的背景顏色名稱欄背景:定義字段名稱欄的背景顏色。輸入欄前景:定義字段輸入欄的文字顏色名稱欄前景:定義字段名稱欄的文字顏色。腳本:定義表單動作的自定義腳本。在表單生成、運行、提交等的各個過程中,可以通過插入腳本
31、來實現各種自定義等高級的功能。系統支持服務器端自定義腳本和客戶端自定義腳本兩種形式,服務器端腳本支持VB Script語言。客戶端腳本支持Java Script語言。在自定義腳本中,支持引用系統內建的系統變量和系統提供的大量的系統函數和子程序。VB Script和Java Script語言請參考VB Script語言參考手冊Java Script語言參考手冊系統變量和系統函數和子程序請參考附錄系統內置變量和函數參考腳本菜單將彈出腳本窗口來定義自定義腳本。在自定義腳本窗口,可以選擇流程的每一個動作。在選擇動作時,請確定已做的動作腳本修改已經提交,否則修改將丟失。啟動時刻定義自定義腳本將在何時運行
32、。共有如下幾種選擇:后臺載入時指服務器端生成表單時運行的自定義腳本后臺提交時提表單提交后,服務器端運行的自定義腳本前臺載入時指客戶端下載完表單后的初始化代碼前臺提交時指客戶端填寫完表單后提交表單時運行的自定義腳本前臺交互時(onclick)指客戶端在填寫表單時,點擊表單對象時運行的自定義腳本。前臺交互時(ondblclick)指客戶端在填寫表單時,雙擊表單對象時運行的自定義腳本。前臺交互時(onchange)指客戶端在填寫表單時,當表單對象的輸入域數值發生變化后,運行的自定義腳本。前臺交互時(onkeypress)指客戶端在填寫表單時,鍵盤有鍵按下時,當前具有輸入焦點的對象運行的自定義腳本。前
33、臺交互時的自定義腳本還需要指明表單對象,表單對象在啟動時刻選擇框的右邊列出供選擇。表單對象只有在前臺交互時才可選擇。通過選擇動作、啟動時刻和表單對象可以唯一確定一段腳本。當定義的腳本提交后,將在對應的表單對象、啟動時刻和動作上打上星號*。通過星號的指引,我們可以迅速找到已經定義完成的腳本。使用技巧:可以通過后臺載入時的自定義腳本定義變量,而在表單定義時通過默認值定義時的表達式來引用自定義腳本定義的變量。自動:自動排列表單對象的位置。此功能將自動排列表單對象的位置。自動排列會根據表單對象的長度的寬度進行自動排列,省卻了人工排列的繁煩。統一:將本動作表單定義統一到其它動作表單中。點擊統一將使當前定
34、義的動作表單統一到本流程的所有的其它動作中。這在第一次定義表單時非常有用。我們只要定義流程動作的第一個表單,然后選取統一功能。則所有的動作表單都和第一個動作的表單一樣,一般其它動作的表單只要略作修改就可以了。統一的動作將在提交后生效。設計:使用表單設計器定義表單。表單設計器提供了功能強大的表單設計功能。表單設計器提供了一個HTML編輯器來設計表單的外觀,當使用了表單設計器,表單對象的位置屬性將完全失效。在表單設計器中通過表單對象選擇框,可以將表單對象放到表單的任意位置。通過表單設計器提供的HTML編輯器的各項功能,我們可以定義出各種復雜形式的表單。預覽:預覽當前定義的表單。在預覽前會提示是否提
35、交當前所做的修改。將每個動作的表單定義完成后,則整個流程的設計完成。我們可以通過啟動流程、工作流程、流程查詢、流程監控等模塊來測試運行設計定義好的流程,也可以通過修改流程模塊來對設計好的流程進行修改。修改流程的使用與定制流程的使用完全相同。常見問題:1、 為什么流程圖沒有定義結束動作?就象起點動作是動作的一個屬性一樣,我們沒有專門定義單獨的起點動作。同樣,我們也沒有定義單獨的結束動作。任何動作都有可能成為結束動作,當下列條件之一滿足的動作就有可能成為結束動作。1、沒有定義轉出條件的動作;2、在動作執行完后,轉出條件不滿足的動作。這里的結束動作是指動作完成后,并不產生新的動作的動作。和其它系統的
36、結束動作定義有所區別。2、 系統是否支持路由動作實現聚合條件或分支條件?系統目前不支持路由動作,而通過流轉條件的設計,系統可以實現聚合條件和分支條件。參見系統內建的流程。3、 在流程圖中,流程動作經過流轉條件的循環,可以讓一個動作多次執行,當第二次執行時或多次執行的時候,其執行人、起點動作屬性、添加動作屬性等是否和第一次時一樣?動作在第一次執行時,將根據動作執行人定義的內容安排執行人。當經過流轉,返回到該動作時,其動作執行人將為第一次執行的執行人。如果該動作是起點動作和添加動作,則這兩個屬性在再次執行時將被忽略。其它屬性保持不變。對于起點動作的動作時限,只有在再次執行時才有意義。在起點時無意義
37、。4、 怎樣實現流程的保存邏輯?即流程動作表單填寫后,暫時保存起來,不轉給下個流程。等過段時間再由人工啟動流轉。在流程定義工具上,該邏輯我們并不提供,但是通過流程的設計,可以實現這樣的邏輯,比如,在數據源中我們可以設計一個字段FlowStatus,表示流程是否進入流轉,在動作表單中選擇此字段為0,則表示保存邏輯,選擇此字段為1 表示進入流轉。在流轉條件中將FlowStatus作為條件來判斷是否流轉。這樣就可以實現人工啟動流轉的邏輯。5、 怎樣實現字段的隱藏?通過修改動單對象的顯示屬性不能實現字段的隱藏,只能實現字段的使用和不可使用。當需要實現隱藏字段時,僅需將寬度設為0即可。附錄:系統內置變量
38、和函數參考一、 服務器端內置變量參考:1、全局變量EmemberName當前用戶的登錄名,字符型CmemberName當前用戶的姓名,字符型MemberLevel當前用戶的級別,數字型MemberDuty當前用戶的職務,數字型MemberDept當前用戶的部門編號,數字型MemberStatus當前用戶的狀態,數字型,0:在職,1:兼職bMemberAdmin當前用戶是否是系統管理員,數字型。當是系統管理員時為1 ,否則為0。Conn當前用戶數據庫的ADO連接對象BaseConn當前配置數據庫的ADO連接對象2、流程動作表單在后臺載入時可以引用的系統變量ModuleNo:當前模塊的編號bPre
39、view:當前是否是預覽模式StepID:當前動作實例的IDActionID:當前流程動作的IDFlowID:流程模型的IDDataID:數據庫表記錄的IDFlowEName:流程的編碼代號FlowCName:流程的名稱TableDefID:數據庫表定義的IDTableName:數據庫的表名ActionText:當前流程動作的名稱nFormCols:動作表單的列數nFormStyle:動作表單的風格ActionInfo:動作的說明bAppend:是否是添加動作FormHead:表單頭FormTail:表單尾ValFont:表單對象輸入欄的字體ConFont:表單對象名稱欄的字體ValBkCol
40、or:表單對象輸入欄的背景顏色ConBkColor:表單對象名稱欄的背景顏色ValFrColor:表單對象輸入欄的字體顏色ConFrColor:表單對象名稱欄的字體顏色LineColor:表單對象的表格線的顏色FormTemplete:表單設計器定義的表單樣式3、流程動作表單在后臺提交時可以引用的系統變量ModuleNo:當前模塊的編號FlowID:流程模型的IDActionID:當前流程動作的IDStepID:當前動作實例的IDDataID:數據庫表記錄的IDTableDefID:數據庫表定義的IDTableName:數據庫的表名FlowCName:流程的名稱ActionText:當前流程動
41、作的名稱Count:表單明細列表的行數此外,通過Request.Form可以引用表單提交的所有的表單對象。二、 服務器端內置函數及子程序參考:function rsSQL(sql, info)返回用戶數據庫SQL查詢執行的結果的記錄集。參數:sqlsql 查詢執行語句info當定義此參數時,如結果記錄集為空時,界面顯示本參數定義的文本,同時程序結束,如此參數為空串時,系統返回空記錄集。由用戶處理。返回值:recordset 對象function dbSQL(sql, info)返回配置數據庫SQL查詢執行的結果的記錄集。參數:sqlsql 查詢執行語句info當定義此參數時,如結果記錄集為空時
42、,界面顯示本參數定義的文本,同時程序結束,如此參數為空串時,系統返回空記錄集。由用戶處理。返回值:recordset 對象function GetTableValue(TableName, outName, inName, inVal)根據指定輸入字段的值,返回用戶數據庫表中指定的輸出字段的值。參數:TableName:表名outName:需要返回的字段的名稱inName:輸入字段的名稱inVal:輸入字段的數值返回值:返回表中outName字段的值。當記錄不存在,返回空串。否則返回表中記錄的字段值。function GetDBValue(TableName, outName, conditi
43、on)根據指定輸入條件,返回用戶數據庫表中指定的輸出字段的值。參數:TableName:表名outName:需要返回的字段的名稱condition:輸入條件返回值:返回表中outName字段的值。當記錄不存在,返回空串。否則返回表中記錄的字段值。function GetDataValue(TableName, outName, inName, inVal)根據指定輸入條件,返回配置數據庫表中指定的輸出字段的值。參數:TableName:表名outName:需要返回的字段的名稱condition:輸入條件返回值:返回表中outName字段的值。當記錄不存在,返回空串。否則返回表中記錄的字段值。f
44、unction GetBaseValue(conn, TableName, outName, condition)根據指定輸入條件,返回數據庫表中指定的輸出字段的值。參數:conn:數據庫連接的ADO對象TableName:表名outName:需要返回的字段的名稱condition:輸入條件返回值:返回表中outName字段的值。當記錄不存在,返回空串。否則返回表中記錄的字段值。sub ExecuteSQL(conn, sql, nPrompt)執行SQL語句參數:conn:數據庫連接的ADO對象sql:數據庫操作的SQL語句nPrompt:數字,當SQL操作失敗時,返回給用戶的提示。當數值為
45、1 時,將顯示消息框指明SQL錯誤。同時,頁面將返回到提交前的上一頁面。function GetUserFaceParam(paramName, defaultvalue)得到系統定義的用戶界面的元素的參數參數:paramName:用戶界面元素的名稱。系統目前定義了如下的界面元素供選擇:1ToolsBgColor工具欄背景色2ToolsFgColor工具欄前景色3FunsTitleBgColor功能欄標題背景色4FunsTitleFgColor功能欄標題前景色5FunsBodyBgColor功能欄內文背景色6FunsBodyFgColor功能欄內文前景色7MainTitleBgColor工作區
46、標題背景色8MainTitleFgColor工作區標題前景色9MainTableBgColor工作區表格標題背景色10MainTableFgColor工作區表格標題前景色11MainBodyColor工作區背景色12MainTableBodyBgColor工作區表格內文背景色13MainTableBodyFgColor工作區表格內文前景色14MainSeleBgColor選擇條目背景色15MainSeleFgColor選擇條目前景色16MainTableLnColor工作區表格線顏色17MainDocBgColor工作區文檔背景色18MainDocFgColor工作區文檔前景色19MainMe
47、nuBgColor工作區菜單欄背景色20MainMenuFgColor工作區菜單欄前景色defaultValue:如指定名稱的用戶界面名稱不存值,將返回此默認值。返回值:與用戶界面元素對應的參數。function GetSysParam(paramName)得到系統定義的參數參數:paramName:系統定義的參數名稱,系統目前共有如下的系統參數供選擇:SystemName系統名稱DatabaseName數據庫名稱LangVersion語言轉換DatabaseType數據庫類型Leader第一負責人LeaderEName第一負責人登錄名nArea地區碼nProvide供應商代碼nType產品類
48、別代碼nVersion產品版本代碼nValidDate產品有效期nLimitMember最大用戶數量nOnline最大并發用戶數量LicenceDate證書頒發時間LicenceCreater證書頒發人ProductSerial產品序列號HTTPPortHTTP端口號KMDirectory知識文檔目錄ServerAddress服務器地址AutoLog自動登錄AutoUser自動登錄用戶名AutoPass自動登錄密碼IPConns每IP允許連接數bService系統服務ClientBind客戶端主機綁定ClientIPBind客戶端IP綁定SysIPRange系統地址范圍SysUpdateFla
49、g系統升級標志LicenceUnit證書頒發單位BackupDir系統備份目錄BackupTime系統自動備份時間BackupLife系統備份有效期LastBackupTime上次備份時間InstallFlag安裝標志返回值:指定名稱的系統參數function CE(ch)語言轉換,將中文語言轉換為界面規定的語言參數:ch:輸入的中文字符串,返回值:轉換后的字符串。如無法轉換,則返回ch字符串function IsMemberLeader(CName, Leader)判斷上下級關系參數:CName:員工姓名Leader:上級姓名返回值:當上下級關系成立時,返回true,否則返回false。當C
50、Name等于Leader時,返回true。function IsUserOnline(sUser)判斷用戶是否在線。參數:sUser:用戶名稱返回值:當用戶在線,返回true,否則返回false。function GetUserRequestPages(sUser)得到用戶自登錄以來訪問的頁面數參數:sUser:用戶名稱返回值:頁面數。function IsUserSameAddress(sUser)判斷當前用戶登錄地址和上次登錄地址是否一致。參數:sUser:用戶名稱返回值:當地址一致,返回true,否則返回false。function GetIPAddress(ip)IP地址轉換函數參數:
51、ip:IP地址。返回值:當ip為數值型,則返回字符串,當ip為字符串,則返回數值。function GetDeptString(Dept)根據用戶部門編號,得到用戶部門名稱參數:Dept:部門編號返回值:function GetDeptDB()得到系統所有部門的編號和名稱參數:無返回值:返回二維數組,第一個元素為部門編號,第二個元素為部門名稱function IsString(str, bStr)判斷是否是字符串參數:str:字符串bStr:true或false返回值:當bStr 為true時,返回str,否則返回空串。function FindArray(a, val)從數組中尋找鍵值,并返
52、回數組的位置參數:a:數組val:鍵值返回值:數組的位置,當未找到鍵值時,返回-1function GetDateStr(sdate, fmt)返回不同格式的日期字符串參數:sdate:日期值fmt:日期格式,數字型,分別為 1- 6,其格式為:1 月-日 時:分2 年-月-日3 年.月.日4 月.日5 時:分6 月-日 時:分:秒返回值:指定格式的時間字符串function LStrFill(n, length, FillChar)格式化字符串參數:n:被格式化的字符串,當n為非字符串將會轉換成字符串length字符串的長度FillChar填充字符返回值:當被格式化字符串的長度小于lengt
53、h時, 返回值將在前面填上填充字符。function GetWeekColor(wk)得到星期的界面顏色參數:wk:數字型,1:星期天;7:星期六;2-6:星期1-5返回值:星期的顏色function FormatText(str, tag, property, condition)根據給定條件,返回XML格式的字符串參數:str:輸入的字符串tag:XML標記property:標記的屬性值condition:條件,true 或false返回值:當condition為true時,返回標記為tag,內容為str的XML字符串,否則,返回str。function AddText(s1, s2)兩段文本相加參數:s1:文本1s2:文本2返回值:相加的文本用字符<BR>來連接。func
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 某公司團建活動策劃方案
- 服務攻關活動方案
- 朗讀測試活動方案
- 暑期教研活動方案
- 村級全體活動方案
- 某公司會議策劃方案
- 暑期商場比賽活動方案
- 月初關懷員工活動方案
- 服裝暑假活動方案
- 染發活動策劃方案
- 冶金企業重大事故隱患判定檢查表
- 2023年藥學考試-中藥學(副高)考試高頻試題(歷年真題)帶答案
- 西北農林科技大學自主招生考試綜合素質測試面試試題答題技巧匯總
- 《導彈制導原理》
- 知行合一-王陽明傳奇課件
- 《綠色建筑概論》整套教學課件
- 2021年中國美術學院輔導員招聘考試題庫及答案解析
- 初中道德與法治學科教學經驗交流
- DB34-T 4289-2022城鎮檢查井蓋安裝管理技術規程
- 年產3萬噸硫酸鉀,1.8萬噸副產工業鹽項目建設可行性研究報告
- 貴州省建筑與裝飾工程計價定額(2023版)
評論
0/150
提交評論