SharePoint Designer + InfoPath 無代碼工作流設計實例

實例名稱: 發電廠設備缺陷管理
服務器環境: Windows 2003 企業版 + SharePoint Server 2007 企業評估版 + SQL Server 2005
設計工具: SharePoint Designer 2007 做頁面修改和工作流設計 + InfoPath 2007 做表單

相關界面見另貼http://bbs.winos.cn/thread-43283-1-1.html
本文將我的設計過程與大家分享,設計中遇到很多困難,不會解決的只好換了比較笨的辦法。
希望藉此機會得到大家的指點,爲以後的設計充電。

目  錄

第一步:需求分析                            1#

第二步:MOSS環境設置,用戶、用戶組權限設置   2#

第三步:創建表單庫和相關列表                 3#

第四步:設計InfoPath表單

      1、設計數據源結構                      4#

      2、設計表單頁面結構                    6#

      3、創建數據連接                        8#

      4、將外部數據關聯到表單                11#

第五步:發佈InfoPath表單

      1、發佈前的準備工作                    19#

      2、發佈表單                            20#

      3、使用按鈕“規則”保存表單             23# 25# 26#

第六步:設計SharePoint Designer無代碼工作流

      1、用Designer打開站點,新建工作流       52#

      2、使用工作流向導                       53#

      3、從用戶處收集數據                     54#


第一步:需求分析
用戶類型:運行班長、檢修班組、檢修專責、運行專責、生產部專責
處理對象:《設備缺陷通知單》(以下簡稱“缺陷單”)
現狀:運行值班員 手工填寫缺陷單,發給檢修班組,檢修班組領取缺陷單,處理缺陷,處理好後填寫處理意見,交給運行班長驗收。一個缺陷單處理結束。
若檢修班組接到缺陷單,無法處理時,要申請擇機處理。擇機處理時,需依次經過 檢修專責、運行專責、生產部專責審批。批准後的缺陷單暫時掛起,等具備檢修條件後再處理,處理好後填寫處理結果,交運行驗收。
若檢修班組接到缺陷單,發現缺陷不是本班缺陷,應轉給其他班組繼續處理。

根據需求,設計工作流程圖如下:

第二步 MOSS環境設置,用戶、用戶組權限設置
MOSS的部署和設置在這裏不做過多的說明。

本文需要一個MOSS站點完成 “缺陷單”表單庫的存儲 以及工作流的關聯
本文使用了子站點,不是必須的,完全個人喜好。跟站點下的默認內容較多,怕混淆,建了子站點便於管理。
子網站權限採用繼承方式,用戶和權限統一在根網站下設置。

說明:本文使用的服務器名稱爲:DC1

         站點端口:8080

         子站點:EDM

          完整訪問路徑: http://dc1:8080/EDM

 
第三步 創建表單庫和相關列表

1、需要創建一個表單庫用了存儲缺陷單,創建“表單庫”,命名爲 EDList
2、爲能夠使缺陷單能夠按不同分類進行統計,需創建相關分類字典列表,創建“自定義列表”如下:

類型爲:自定義列表

名稱       創建時輸入的名稱
分類-機組  TypeJZ
分類-缺陷  TypeQX
分類-設備  TypeSB
分類-責任  TypeZR
分類-值別  TypeZB
分類-專業  TypeZY

以上分類,從不同角度對同一個缺陷單進行標示,便於將來統計。

需要特別說明的是:
爲了方便以後的引用(提高可度性),在創建表單庫或自定義列表時,都輸入英文名稱,避免MOSS將中文轉碼。

同理:表單庫中的字段也可以同樣方法設置,創建時輸入英文名,回頭再改成中文。

這樣,內部存儲爲英文名,顯示爲中文。



3、爲了在InfoPath表單中可以以列表的方式選擇“缺陷單的接收人”,還需要建立一個輔助列表,用來存儲用戶名和用戶賬戶的對照關係。
創建類型爲自定義列表,名稱爲:缺陷接收人 EDRecvUser

4、爲實現自動識別 缺陷單 填寫人所屬的“專業”“值別”等信息,需要建立一個輔助列表,用於對照 用戶賬戶 與專業、值別的關係。
創建類型爲自定義列表,名稱爲:用戶列表 UserList

整個網站結構如下圖:
第四步 設計InfoPath表單——1、設計數據源結構
需要在MOSS工作流中修改的字段,增加時需要選擇爲“域(屬性)”,不需要在外部修改的字段可以爲“域(元素)”
圖中淺色圖標樣式爲“域(元素)”,深色圖標爲“域(屬性)”
第四步 設計InfoPath表單——2、設計表單頁面結構

頁面以“節”分塊顯示不同工作進度下的信息。
通過判斷相應字段是否爲空,控制節是否顯示。

頁面中部分元素 是從MOSS中讀取的,回顯到表單中,如:ID號,創建人、創建時間;缺陷的分類信息等。
下一節在對外部引用數據做說明。

頁面整體效果如下:
第四步 設計InfoPath表單——3、創建數據連接

填寫表單時,希望“系統分類”、“缺陷接收人”等信息以下拉選單的形式選擇,不要手工輸入。
“分類”信息和“接收人”信息,已經在MOSS中建立好了。
我們需要在InfoPath中讀取MOSS中的列表內容,形成下拉列表。

首先,需要“添加數據連接”,“僅接收數據”,數據源選擇“SharePoint”,輸入表單庫地址,選擇表單庫或列表,選擇讀取的字段,給數據連接起名字,完成即可。

步驟如下圖:
第四步 設計InfoPath表單——4、將外部數據關聯到表單
第五步 發佈InfoPath表單——1、發佈前的準備工作

表單設計到此基本完成,下面準備將設計好的表單發佈到MOSS中的表單庫中,以實現在線填寫表單的功能。

要實現IE填寫表單,需要做如下工作:
    1、修改表單的兼容性設置爲:“可以在瀏覽器中打開”
    2、發佈時要勾選“用戶可以通過瀏覽器填寫表單”
    3、修改MOSS表單庫的“高級設置”——“打開啓用了瀏覽器的文檔”選爲“顯示爲網頁”
如圖:
第五步 發佈InfoPath表單——2、發佈表單

使用發佈嚮導 發佈表單:
 
需要注意一點:
    表單中,除缺陷的基本信息由“運行班長”在填寫表單時填寫。
    其他各部分信息分別由不同的用戶在不同的時間段填寫。
    這些內容需要以後需要在MOSS工作流中進行修改,因此在發佈時,需要勾選“允許用戶使用數據表和屬性頁修改該域中的數據”

經過試驗,域(元素)在MOSS工作流中修改會報錯,域(屬性)正常。
因此在當初設計表單時,除基本信息外都使用了域(屬性)。


表單發佈成功後,就可以在MOSS中測試IE填寫表單的功能,遇到問題可以修改表單再次發佈。

測試中可能會遇到以下問題:

  • 表單在IE中呈現時,多了兩個工具條;
  • 設計的按鈕不起作用;
  • 用工具欄中的按鈕提交時,要輸入文件名;
  • 保存了表單,不自動關閉;

下一步,我們將處理以上問題,實現自動化保存。
第五步 發佈InfoPath表單——3、使用按鈕“規則”保存表單


InfoPath表單默認在提交時要求輸入文件名。在IE中也同樣。

我們可以通過按鈕規則進行自動命名保存。

思路是:

  • 在數據源中預先增加一個“文件名”這樣的域屬性或域元素。用於臨時保存文件名字符串;
  • 檢查“文件名”字符串是否存在,若不存在,表明是新建的文件,生成字符串;
  • 我們採用“日期”加“時間”的格式,避免重名(可能出現的衝突:同1秒內的提交可能被覆蓋);
    如:20080908-083834  日期-時間           (衝突在用戶不算太多的場合可以忽略)
  • 將字符串,保存在“文件名”域;
  • 建立“提交方式”的數據連接,將表單以指定文件名提交。
  • 關閉表單。

一、形成文件名字符串

具體操作如下:

雙擊按鈕,進入屬性,添加一個“設置文件名”的規則,規則條件爲“文件名爲空”時執行這條規則。
設置域值爲通過函數轉換的字符串:  translate(translate(substring(translate(now(), ":", ""), 1, 20), "-", ""), "T", "-")
公式:

  1. translate(translate(substring(translate(now(), ":", ""), 1, 20), "-", ""), "T", "-")
複製代碼

now() 返回 2008-09-08T11:25:58        固定格式
translate(now(), ":", "") 返回  2008-09-08T112558       去掉冒號
同理去掉減號-
將T換成-
得到20080908-112558    作爲文件名
第五步 發佈InfoPath表單——3、使用按鈕“規則”保存表單

二、使用“提交”連接(建立提交連接)


生成文件名字符串後,需要保存表單到表單庫。

InfoPath提供“提交”連接的形式,以指定的字符串作爲文件名保存表單。

在上一步的基礎上,添加一個新規則。

  •   提交之前先更新填寫時間。(略)
  •   爲“工作狀態”設置一個初始化息。(略)
  •   添加操作爲“使用數據連接進行提交”。
  •   新建一個連接,步驟如下圖。
  •   添加一個“關閉表單”的 操作,提交後自動關閉表單。(略)
  • 完成後,保存表單。 再次發佈。在MOSS中進行測試

第五步 發佈InfoPath表單——3、使用按鈕“規則”保存表單

三、取消系統工具欄的顯示


【工具】菜單——“表單選項”——瀏覽器
去掉兩個選項:

第六步:設計SharePoint Designer無代碼工作流

1、用Designer打開站點、新建工作流

第六步:設計SharePoint Designer無代碼工作流

2、使用工作流向導

第六步:設計SharePoint Designer無代碼工作流

3、從用戶處收集數據

工作流中最核心的操作是“從用戶處收集數據”,讓用戶填寫指定的信息,如:審批意見、下一審批人之類的信息。
然後再判斷用戶填寫信息,根據條件進行流轉。

“用戶處收集數據”系統會爲用戶創建一條任務,並等待任務“完成”。
收集任務 會在工作流中返回該任務ID號,需要使用此ID號查詢任務詳細信息。
ID號保存在“工作流變量”中。類型爲“列表ID”

3.1 收集任務

 

3.2 查詢任務中填寫的信息

 

3.3 最終工作流步驟
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章