カスタマイズ

選択されているユーザーの所属組織を取得する

概要

ユーザー選択フィールドなどで選択されているユーザーが所属する組織を取得します。

使い方

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

ユーザー選択フィールドに複数のユーザーが選択されている場合は、それらすべてのユーザーの所属組織が取得されます。複数のユーザーが同じ組織に所属していると、結果値の中に同じ組織が2回以上現れる状態になります。

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

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

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

= $1.organizationTitles[0].organization.name

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

= $1

設定するパラメーター

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

ユーザー選択フィールド

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

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

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

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

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

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

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

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

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

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

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

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

krewSheet 対応状況

一部対応しています。

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

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

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

制限事項

  • 組織に親子関係がある場合、子組織に所属していても、親組織に所属していなければ、取得されるのは子組織のみになります。

  • ユーザーがゲストユーザーの場合は組織に所属していないものとして扱われます。

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

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