FAQ:一覧表示するレコードを所属組織別に分けたい
## 回答
[拡張SQL](/ja/manual/extended-sql)の「OnSelectingWhere」を使用してください。
---
## 概要
事前に作成した組織・グループ別にレコード一覧画面に表示するレコードを制御します。このページでは本社(組織)に所属するユーザは登録された全てのレコードを閲覧することができ、その他の組織に所属するユーザは同グループ内で登録されたレコードのみを閲覧することができるようになります。
## 事前準備
(1) システム管理者でログイン後、下記の表を参考に[管理]-[ユーザの管理]、[組織の管理]、[グループの管理]からグループと組織情報を含めたユーザ情報を作成してください。ここでは本社に所属するユーザと各営業店に所属するユーザを想定し、組織とグループを構成します。下記にその構成を表に記載いたします。
|ユーザ|組織|グループ|
|:--|:--|:--|
|branch-user1|営業店1|グループ1|
|branch-user2|営業店2|〃|
|branch-user3|営業店3|グループ2|
|head-user1|本社|-|
![image](https://pleasanter.org/binaries/c622ae4f8480482fa3f3fccc02fa8262)
![image](https://pleasanter.org/binaries/f2f3aac7a0b24023af67d3664ec52da9)
![image](https://pleasanter.org/binaries/405924daf52142d6956048fb035b624e)
(2)[管理]-[テーブルの管理]-[エディタ]より分類Bを任意の表示名にして(ここでは”店番”,わかりやすいように分類Cを”店名”に設定)、[一覧]タブからそれぞれを有効化してください。
(3) 各ユーザでレコードを少なくても一つ作成してください。
![image](https://pleasanter.org/binaries/66ffd687bd1d45cbabe4775853193322)
(4) 以下のサンプルコード(Sql)の@_Dの値とサンプルコード(JSON)のSiteIdListの値を環境に合わせ、変更してください。
この例では@_Dの値は21,SiteIdListの値は1166になります。
![image](https://pleasanter.org/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](https://pleasanter.org/binaries/f90e12dbeb844fd38c1afcaeb41d99c1)
・営業店2に所属するユーザでログインした場合
![image](https://pleasanter.org/binaries/699a299bab30493f81483846ea897704)
・営業店3に所属するユーザでログインした場合
![image](https://pleasanter.org/binaries/43c665f261264fb3b6d9760ab2bbf540)
## 関連情報
<div id="ManualList"><ul><li><a href="/ja/manual/extended-sql">開発者向け機能:拡張機能:拡張SQL</a><span>2024/09/13 up</span></li></ul></article></div><input id="SearchTextHidden" type="hidden" value="" />