我們已開發 InfoPath 表單具有多個視圖,支援新員工 / 入職流程. 當公司雇傭的一個新的人, IT 部門和其他團體需要採取的行動 (設置工資單, 啟用對相應的應用程式的訪問, 找到一張桌子, 等). 我們使用表單,但表單的不同視圖為每個這些職能.
在這個公司, 在業務流程中所涉及大多數是人的精通 IT 的, 所以,當他們訪問的表單, 其預設視圖是一種"功能表" 查看與直接給他們的特殊功能的按鈕. 不過, 我們需要簡單化的新員工直接經理. 這個人不應該看到任何 IT 相關的東西. 事實上, 她應該看到的只是一個視圖表單的不會連選項以查看其他視圖.
在我們的案例, 直接經理的帳戶直接綁禮貌的形式 連絡人選擇器 (而我總是想叫"人員選取器" 因為某些原因).
步驟如下:
1. 在設計模式中, 轉到工具-> 表單選項-> 打開和保存.
2. 選擇"規則".
3. 創建一個新的規則,其操作是"切換以查看" 和其條件利用使用者名() 功能.
使用者名() 返回"簡單" 沒有域使用者名. 如果我用"domainpagalvin"的憑據登錄到 SharePoint, 使用者名() 返回"pagalvin".
連絡人選擇器提供一個連絡人資訊的三位. "AccountID" 部分是對於這種情況下最有用. 唯一讓這甚至有點挑戰的是,連絡人選擇器 (在我的環境無論如何) 返回的域和使用者 ID, 如在"domainpagalvin". 這阻止我們做直接的平等條件自 AccountID (""domainpagalvin) 永遠不會平等的使用者名() (""pagalvin).
我們可以繞過此使用"包含" 運算子: AccountID 包含使用者名().
我們可以採取它進一步和 pre 掛起一個硬式編碼域使用者名前面() 讓我們平等檢查和消除誤報的風險上的函數包含運算子.
我們將不得不真的像自動切換為其他基於 AD 安全性群組成員身份的使用者視圖. 舉個例子, 當"它分析的成員" 組訪問表單, 自動切換到 IT 分析視圖. 我們沒有時間來實現它, 但我首先想到的是創建一個 web 服務,會有像"IsMemberOfActiveDirectorySecurityGroup"的一種方法, 將它傳遞使用者名() 並返回返回 true 或 false. 有沒有人有任何其他嗎, 更多聰明的主意? 有任何 SharePoint 的函數,我們可以利用從 InfoPath 來做這個決定?
</結束>
很多謝謝先生. 保羅 ·
pingback的: 基於使用者的 Infopath 切換視圖 « Sladescross 的博客