業務描述
在某個項目中發現,客戶對權限的控制要求很細,前期在上線的時候,配置了大量規則,有一些其實可以簡化。
以發貨通知單為例,客戶希望只有采購員只能看到與自己相關的單據,也就是單據上的“采購員”有自己名字的。
例如:采購員張某可以看到下圖這個發貨通知單(表頭采購員是她),其他采購員不允許看到這張發貨通知單:

對於這個需求,通常的配置方法是,為該采購員專門建立一個角色,然后為這個角色需要使用的每一張單據都建立一條數據規則,規則內容是:采購員=‘該采購員姓名’:

這樣雖然可以實現,但是工作量太大了,每個采購員都要建立專門角色,並為每個采購員每張需要使用到的單據都專門建立一條數據規則,未來調整也非常麻煩。
解決辦法
事實上,系統的權限規則里面,可以設置為“需要控制的字段 = 當前用戶對應業務員ID”,實現根據當前操作人來控制權限:


只不過,如果是自己增加的字段,默認無法選這個比較規則,所以有的顧問采取每個用戶分別建立角色及數據規則的方法。
咨詢總部后發現,在bos里面配置一下這個字段的“過濾比較符號集”,就可以選擇這種比較對象,這樣就只需要配一個角色:

保存完成后,再去權限里面建立數據規則,發現就能選擇到這種比較對象了:

這樣一來,就不需要這么多角色了,只要配置采購員角色對發貨通知單的查看權限數據規則為上圖即可,后續有新采購員,拉進這個角色即可。
