ユーザマニュアル





2024/07/12

MANUAL

FAQ:一覧表示するレコードを所属組織別に分けたい

## 回答 「[拡張SQL](/manual/extended-sql)」の「OnSelectingWhere」を使用してください。 --- ## 概要 事前に作成した組織・グループ別にレコード一覧画面に表示するレコードを制御します。このページでは本社(組織)に所属するユーザは登録された全てのレコードを閲覧することができ、その他の組織に所属するユーザは同グループ内で登録されたレコードのみを閲覧することができるようになります。 ## 事前準備 (1) システム管理者でログイン後、下記の表を参考に[管理]-[ユーザの管理]、[組織の管理]、[グループの管理]からグループと組織情報を含めたユーザ情報を作成してください。ここでは本社に所属するユーザと各営業店に所属するユーザを想定し、組織とグループを構成します。下記にその構成を表に記載いたします。 |ユーザ|組織|グループ| |:--|:--|:--| |branch-user1|営業店1|グループ1| |branch-user2|営業店2|〃| |branch-user3|営業店3|グループ2| |head-user1|本社|-| ![image](/binaries/c622ae4f8480482fa3f3fccc02fa8262) ![image](/binaries/f2f3aac7a0b24023af67d3664ec52da9) ![image](/binaries/405924daf52142d6956048fb035b624e) (2)[管理]-[テーブルの管理]-[エディタ]より分類Bを任意の表示名にして(ここでは”店番”,わかりやすいように分類Cを”店名”に設定)、[一覧]タブからそれぞれを有効化してください。 (3) 各ユーザでレコードを少なくても一つ作成してください。 ![image](/binaries/66ffd687bd1d45cbabe4775853193322) (4) 以下のサンプルコード(Sql)の@_Dの値とサンプルコード(JSON)のSiteIdListの値を環境に合わせ、変更してください。 この例では@_Dの値は21,SiteIdListの値は1166になります。 ![image](/binaries/a96b06665b064ac9aef73383cee48bfe) (5) Extensionsテーブルに(3)で作成したサンプルコードとその他の項目を記入してください。   拡張SQLについてはこちらをご確認下さい(/manual/extended-sql) (6)プリザンダーを再起動してください。 ##### Sql ``` ( @_U = 1 or @_D = 1 --システム管理者のユーザIDまたは本社組織の組織ID or [ClassB] in ( select [Depts].[DeptCode] from [GroupMembers] left join [Depts] on Depts.DeptId = GroupMembers.DeptId and ([GroupMembers].[GroupId] in( select [GroupId] from [GroupMembers] where [DeptId] = @_D)) where [Depts].[DeptCode] is not null) ) ``` ##### JSON ``` { "SiteIdList": [2], "OnSelectingWhere": true } ``` ## 結果 以下のようにユーザ毎に所属するグループまたは組織によって表示(取得)されるレコードが変わります。 ・本社ユーザでログインした場合 ![image](/binaries/f90e12dbeb844fd38c1afcaeb41d99c1) ・営業店2に所属するユーザでログインした場合 ![image](/binaries/699a299bab30493f81483846ea897704) ・営業店3に所属するユーザでログインした場合 ![image](/binaries/43c665f261264fb3b6d9760ab2bbf540) ## 関連情報 <div id="ManualList"><ul><li><a href="/manual/extended-sql">開発者向け機能:拡張機能:拡張SQL</a><span>2024/06/21 up</span></li></ul></article></div><input id="SearchTextHidden" type="hidden" value="" />
TOP
このページをシェアする
記載された商品名、各製品名は各社の登録商標または商標です。 © Implem Inc.