カスタマイズ

選択されているユーザーの所属グループ(ロール)を取得する

概要

ユーザー選択フィールドなどで選択されているユーザーが所属するグループ(ロール)を取得します。

使い方

このアクションを実行すると、ユーザー選択フィールドで選択されているユーザーが所属するグループの情報がアクションの結果として保存されます。複数のグループに所属していればそれらすべてが取得されます。

ユーザー選択フィールドに複数のユーザーが選択されている場合は、それらすべてのユーザーの所属グループが取得されます。複数のユーザーが同じグループに所属している場合、重複するグループは除去された状態になります。

この情報を式を使用して $1 などから参照することも可能ですが、「指定のグループ・組織に所属するならば」と組み合わせるのがより典型的な使用方法です。

他のアクションから式を使用して結果を参照する場合、結果データの構造はCybozu のドキュメント から「レスポンス」の項を参照してください。

例えば、1つ目の所属グループのグループ名を取得したい場合は以下のようになります。

= $1.groups[0].name

取得したグループを「フィールドに値をセットする」やフィールドマッピングでグループ選択フィールドへセットしたい場合は、以下のようにします。

= $1

設定するパラメーター

「ユーザー選択フィールド」「セット先フィールド(省略可)」を指定します。

ユーザー選択フィールド

ユーザーが選択されているフィールドを指定します。

選択可能なフィールドタイプは以下の通りです。

  • ユーザー選択
  • 作成者
  • 更新者
  • 作業者

テーブル内のフィールドを選択した場合、各行に対して取得が行われます。ただしこの場合、アクションの結果を $1 のような式で参照しようとした場合、どの行の結果が返るか不定になります。テーブル内の各行に対して処理を行いたい場合は、「セット先フィールド」を指定してください。

このフィールドでユーザーが一人も選択されていなかった場合、エラーにはならず、groups が空の状態の結果が取得されます。

セット先フィールド(省略可)

取得したグループを他のフィールドにセットする場合に指定します。直接フィールドにはセットせず、結果を別のアクションで使用したい場合は、省略できます。

選択可能なフィールドタイプは以下の通りです。

  • 文字列(1行)
  • 文字列(複数行)
  • リッチエディター
  • グループ選択

テーブル内フィールドを指定する場合、「ユーザー選択フィールド」も同じテーブル内のフィールドを選択しておく必要があります。

セット先をグループ選択フィールドにした場合、現在選択されている他のグループはクリアされたうえで、「選択されているユーザーの所属グループ(ロール)を取得する」で取得したグループが選択された状態になります。複数のグループが取得された場合はすべてセットされます。

セット先を文字列(1行)等にした場合、グループ名がセットされます。複数のグループが取得された場合は、グループ名をカンマ区切りで並べたものがセットされます。

krewSheet 対応状況

一部対応しています。

「セット先フィールド(省略可)」を省略せずに指定している場合は以下の条件時のみ対応しています。

「セット先フィールド(省略可)」を省略する場合は、条件に関わらず対応しています。

いずれの場合も、例えば「ルックアップでコピーされるフィールド」のような「krewSheet で編集できないフィールド」にはセットできません。また、プラグインの設定で krewSheet に含めていないフィールドにもセットできません。

制限事項

  • ユーザーがゲストユーザーの場合はグループに所属していないものとして扱われます。Everyone グループにも所属していないので注意してください。

  • 「セット先フィールド」が指定されている場合、以下のいずれかの画面で使用できます。それ以外の画面で使用すると、アプリ実行時にエラーになります。「セット先フィールド」を省略している場合はこれ以外の画面、例えばレコード詳細画面でも使用することができます。

    • レコード追加画面
      • 任意のタイミングで使用可能
    • レコード編集画面
      • 任意のタイミングで使用可能
    • PCのレコード一覧画面インライン編集モード(鉛筆アイコンを押して編集モードになった状態)
      • 「レコードを保存する直前」時のみ使用可能