頁(yè)面調(diào)用微信的js代碼(js打開(kāi)微信)
業(yè)務(wù)報(bào)表中,有些敏感數(shù)據(jù)是需要根據(jù)用戶(hù)身份過(guò)濾的。比如銷(xiāo)售數(shù)據(jù)統(tǒng)計(jì)表,只允許報(bào)表用戶(hù)看到本部門(mén)的銷(xiāo)售數(shù)據(jù)。這時(shí)就需要將用戶(hù)信息作為報(bào)表數(shù)據(jù)的查詢(xún)條件。
葡萄城報(bào)表提供了一個(gè)專(zhuān)門(mén)的表達(dá)式變量,表示用戶(hù)身份信息。不僅可以按登錄報(bào)表系統(tǒng)的用戶(hù)名來(lái)查詢(xún)數(shù)據(jù),也可以按照用戶(hù)所屬部門(mén)等其他關(guān)聯(lián)信息作為查詢(xún)條件。這種用戶(hù)身份關(guān)聯(lián)信息稱(chēng)為“用戶(hù)上下文(User Context)”信息。引用用戶(hù)上下文信息的表達(dá)式形式為:
=Code.UserContext.GetValue("Key")
其中,Key表示上下文信息的鍵值,比如:Name表示用戶(hù)名,也就是說(shuō),Code.UserContext.GetValue("Name")返回的就是正在查看報(bào)表的用戶(hù)登錄名。
通過(guò)葡萄城報(bào)表特有的安全提供程序機(jī)制,可以支持任意字符串的Key,比如用戶(hù)所屬部門(mén)、業(yè)務(wù)管轄區(qū)域、甚至姓名、年齡、身份證號(hào)等任何與用戶(hù)帳號(hào)關(guān)聯(lián)的信息。
下面是一個(gè)銷(xiāo)售統(tǒng)計(jì)表的簡(jiǎn)單示例,在此示例中,查看報(bào)表的用戶(hù)只能看到其所屬部門(mén)的銷(xiāo)售數(shù)據(jù)。數(shù)據(jù)庫(kù)中的用戶(hù)關(guān)聯(lián)信息如下表:
其中:UserName表示用戶(hù)登錄報(bào)表系統(tǒng)的用戶(hù)帳號(hào);DepId為用戶(hù)所屬部門(mén)的代碼。銷(xiāo)售數(shù)據(jù)如下表:
展開(kāi)全文
其中的DepId就是部門(mén)代碼,SalesQty為銷(xiāo)售數(shù)量,SalesAmt為銷(xiāo)售額。新建一個(gè)RDL報(bào)表,添加用戶(hù)信息參數(shù),參數(shù)名為UserName,如下圖:
注意:因?yàn)檫@個(gè)參數(shù)的值要從系統(tǒng)中自動(dòng)獲取,而不是讓用戶(hù)在參數(shù)欄自行輸入,所以勾選了【隱藏】,這樣可以避免用戶(hù)輸入其他用戶(hù)的用戶(hù)名,從而“偷窺”敏感信息。
切換到【默認(rèn)值】選項(xiàng)卡,選擇【非查詢(xún)結(jié)果】,點(diǎn)擊加號(hào)圖標(biāo),添加一個(gè)參數(shù)默認(rèn)值,設(shè)置其表達(dá)式為:=Code.UserContext.GetValue("Name")如下圖:
點(diǎn)擊【確定】按鈕,保存參數(shù)設(shè)置。添加數(shù)據(jù)源,如下圖:
添加數(shù)據(jù)集,先定義數(shù)據(jù)集參數(shù),使之引用前面定義好的取用戶(hù)信息的報(bào)表參數(shù)UserName,如下圖:
再定義查詢(xún)語(yǔ)句,select * from DepSaleswhere DepId in (select DepId from Emp where UserName = @p1)如下圖:
其中的Where子句,就是根據(jù)用戶(hù)所屬部門(mén)來(lái)過(guò)濾數(shù)據(jù)。準(zhǔn)備好數(shù)據(jù)集之后,在設(shè)計(jì)區(qū)拖放一個(gè)文本框,用于顯示UserName參數(shù)的內(nèi)容,再放一個(gè)表格,綁定數(shù)據(jù)集的字段,如下圖:
注意:因?yàn)楸镜卦O(shè)計(jì)器中并沒(méi)有哪個(gè)用戶(hù)登錄,因此在設(shè)計(jì)器中預(yù)覽時(shí),是取不到用戶(hù)上下文信息的。如果在預(yù)覽時(shí)看到報(bào)錯(cuò),可將UserName參數(shù)設(shè)置為【允許空值】,如下圖:
為了檢查按用戶(hù)身份過(guò)濾數(shù)據(jù)的效果,請(qǐng)點(diǎn)擊【文件】菜單的【保存到服務(wù)器】,將報(bào)表模板上傳到報(bào)表服務(wù)器。然后在報(bào)表管理門(mén)戶(hù)設(shè)置報(bào)表查看權(quán)限,如下圖:
再在系統(tǒng)管理門(mén)戶(hù)創(chuàng)建幾個(gè)用戶(hù),如下圖:
以zhang,li,wang等用戶(hù)身份登錄到報(bào)表查看門(mén)戶(hù),查看報(bào)表,如下圖:
?
可以看到,報(bào)表內(nèi)容正確顯示了當(dāng)前用戶(hù)名,并且表格中僅顯示該用戶(hù)所屬部門(mén)的業(yè)務(wù)數(shù)據(jù)。
有獎(jiǎng)問(wèn)卷
親愛(ài)的用戶(hù),感謝您對(duì)葡萄城的支持和認(rèn)可!為充分了解您的需求,以便我們持續(xù)改進(jìn),提供更強(qiáng)大的控件軟件產(chǎn)品和更專(zhuān)業(yè)的技術(shù)服務(wù),特邀請(qǐng)您參加本次問(wèn)卷調(diào)查。參與即有獎(jiǎng)!完整填寫(xiě)問(wèn)卷,即可獲得 500枚 GCDN金幣(可兌換實(shí)體獎(jiǎng)品),還可參加抽獎(jiǎng)獲贈(zèng)精美獎(jiǎng)品。
問(wèn)卷地址:https://www.wenjuan.in/s/fYzUJf/
轉(zhuǎn)載請(qǐng)注明出自:葡萄城報(bào)表
了解葡萄城報(bào)表:http://www.grapecity.com.cn/enterprise-solutions/activereports_server/
關(guān)于葡萄城
葡萄城成立于1980年,是全球最大的控件提供商,世界領(lǐng)先的企業(yè)應(yīng)用定制工具、企業(yè)報(bào)表和商業(yè)智能解決方案提供商,為超過(guò)75%的全球財(cái)富500強(qiáng)企業(yè)提供服務(wù)。葡萄城于1988年在中國(guó)設(shè)立研發(fā)中心,在全球化產(chǎn)品的研發(fā)過(guò)程中,不斷適應(yīng)中國(guó)市場(chǎng)的本地需求,并為軟件企業(yè)和各行業(yè)的信息化提供優(yōu)秀的軟件工具和咨詢(xún)服務(wù)。
掃描二維碼推送至手機(jī)訪(fǎng)問(wèn)。
版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請(qǐng)注明出處。