# 組織選択に制限を加える方法について

**URL:** <https://community.cybozu.dev/t/topic/8128>\
**Category:** kintone の構築／設計／運用\
**Created:** [2023 年 9 月 20 日午前 3:55 UTC](https://community.cybozu.dev/t/topic/8128 "2023-09-20T03:55:17Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![picol](https://avatars.discourse-cdn.com/v4/letter/p/f17d59/32.png) [@picol](https://community.cybozu.dev/u/picol)\
**Post date:** [2023 年 9 月 20 日午前 3:55 UTC](https://community.cybozu.dev/t/topic/8128/1 "2023-09-20T03:55:17Z")

</div>

組織選択で、初期値に「優先する組織」を設定した上で、  
・自分が所属する組織のみ選択可能（選択肢も自分が所属する組織のみを表示）  
・組織は1つだけ指定可能  
としたいのですが可能でしょうか。  
JavaScriptを使用した場合は可能でしょうか。特に選択肢を絞った状態にできるかが気になっています。

---

<div class="post-metadata">

**Author:** ![y\_minamitani9534](https://sea1.discourse-cdn.com/flex015/user_avatar/community.cybozu.dev/y_minamitani9534/32/462_2.png) [@y\_minamitani9534](https://community.cybozu.dev/u/y_minamitani9534)\
**Post date:** [2023 年 9 月 20 日午前 5:06 UTC](https://community.cybozu.dev/t/topic/8128/2 "2023-09-20T05:06:59Z")

</div>

@picol さん

こんにちは、少しお力になれそうだったので回答してみました。  
結論から言うとそういった事は可能だと思われます。  
ただ、色々APIを組み合わせてする必要があるので、もし初めてjavascriptを使用してのカスタマイズにチャレンジされるのであれば少しハードルは高いかもしれません…

簡単にフローを書いてみると。  
レコード新規・編集画面での値チェンジイベントで組織選択フィールドの値を変更された際にチェンジイベント発火  
↓  
User API(REST API)で自身の所属している組織を取得  
↓  
組織選択フィールドの値を確認して、複数選ばれてないか、所属している組織以外を選択されていないかを取得した組織と見比べる  
↓  
違うならevent.errorをreturn するなりSweetAlertなりでエラー表示。  
問題なければ、処理続行。  
↓  
レコード保存前に問題ないかレコード保存前イベントで先ほどの処理をもう一度繰り返して調べる…

等だと考えられます。  
もし不明点ございましたら、またお教えください。

参考リンク:

> **[ユーザーが所属する組織を取得する](https://cybozu.dev/ja/common/docs/user-api/users/get-users-organization/)**
>
> ユーザーが所属する組織と、その組織におけるユーザーの役職を取得します。

> **[レコード追加画面でフィールドの値を変更したときのイベント](https://cybozu.dev/ja/kintone/docs/js-api/events/create/create-change-event/)**
>
> レコード追加画面または再利用画面でフィールドの値を変更したときに発生するイベントです。

> **[レコード追加画面で保存するときのイベント](https://cybozu.dev/ja/kintone/docs/js-api/events/create/create-submit-event/)**
>
> レコード追加画面または再利用画面で【保存】をクリックしたときに発生するイベントです。

---

<div class="post-metadata">

**Author:** ![picol](https://avatars.discourse-cdn.com/v4/letter/p/f17d59/32.png) [@picol](https://community.cybozu.dev/u/picol)\
**Post date:** [2023 年 9 月 20 日午後 3:19 UTC](https://community.cybozu.dev/t/topic/8128/3 "2023-09-20T15:19:29Z")

</div>

ありがとうございます！  
組織の選択肢を最初から絞っておくのは難しそうですね…。  
教えていただいたフローとリンクで挑戦してみます！

---

<div class="post-metadata">

**Author:** ![y\_minamitani9534](https://sea1.discourse-cdn.com/flex015/user_avatar/community.cybozu.dev/y_minamitani9534/32/462_2.png) [@y\_minamitani9534](https://community.cybozu.dev/u/y_minamitani9534)\
**Post date:** [2023 年 9 月 20 日午後 11:45 UTC](https://community.cybozu.dev/t/topic/8128/4 "2023-09-20T23:45:20Z")

</div>

もちろん、レコード新規・編集画面の表示イベントで組織選択フィールドの自身の所属している組織を上記のUserAPIを組み合わせれば可能ですよ！  
また、組織選択フィールドですが、

```javascript
event.record.組織選択フィールド.disabled = true;

```

のようにすれば、UIから値を変更できないのでそのあたりも取り入れてみてもいいかもしれませんね！

---

<div class="post-metadata">

**Author:** ![picol](https://avatars.discourse-cdn.com/v4/letter/p/f17d59/32.png) [@picol](https://community.cybozu.dev/u/picol)\
**Post date:** [2023 年 9 月 22 日午前 7:26 UTC](https://community.cybozu.dev/t/topic/8128/5 "2023-09-22T07:26:17Z")

</div>

ありがとうございます。  
組織選択フィールドの選択肢を絞る方法がどうにもわからず、  
・組織選択フィールドの初期値を優先組織にする、編集画面では非表示  
・動的DropdownをつくりDropdownの選択肢を自分が所属する組織のみにする、Dropdownの初期値は組織選択フィールドの値（＝初期値または既存の値）  
・動的Dropdownの選択結果を組織選択フィールドに保存  
という形で対処しました。

---

<div class="post-metadata">

**Author:** ![y\_minamitani9534](https://sea1.discourse-cdn.com/flex015/user_avatar/community.cybozu.dev/y_minamitani9534/32/462_2.png) [@y\_minamitani9534](https://community.cybozu.dev/u/y_minamitani9534)\
**Post date:** [2023 年 9 月 22 日午前 7:41 UTC](https://community.cybozu.dev/t/topic/8128/6 "2023-09-22T07:41:23Z")

</div>

フィードバックありがとうございます！  
動的ドロップダウン…？KUCかなにか使われてドロップダウンを作成されたのかなと勝手ながら想像しております 💦  
私的にこちらの方が難しそうと思ってしました 💦

---

<div class="post-metadata">

**Author:** ![picol](https://avatars.discourse-cdn.com/v4/letter/p/f17d59/32.png) [@picol](https://community.cybozu.dev/u/picol)\
**Post date:** [2023 年 9 月 22 日午前 7:54 UTC](https://community.cybozu.dev/t/topic/8128/7 "2023-09-22T07:54:29Z")

</div>

はい、こちらを参考に作りました。  
組織選択フィールドのフィルタリングはまた後日挑戦します！

> **[kintone UI Component v1](https://cybozu.dev/ja/kintone/sdk/library/kintone-ui-component-v1/)**
>
> kintone UI Component は、kintone ライクな UI パーツを簡単に作ることができるライブラリです。

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex015/uploads/cybozu/original/1X/d5c841c3c5a6cb66eed514001c1b45147c9e1f4f.png) [@system](https://community.cybozu.dev/u/system)\
**Post date:** [2023 年 9 月 26 日午前 1:42 UTC](https://community.cybozu.dev/t/topic/8128/8 "2023-09-26T01:42:32Z")

</div>

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。
