カスタマイズ

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

概要

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

使い方

このアクションを実行すると、ユーザー選択フィールドで選択されているユーザーの「優先する組織」がアクションの結果として保存されます。フィールドで選択されているユーザー数分の配列形式になります。選択されているユーザーが優先する組織を設定していない場合は、それに対応する配列の要素は空(null)になります。

例えばユーザー選択フィールドにA,B,Cという3名のユーザーがセットされている場合、結果値は [Aの優先組織, Bの優先組織, Cの優先組織] という形になります。

他のアクションから式を使用して結果を参照する場合、組織情報の構造はCybozu のドキュメント に記載されている「Organization 型」のリストになります。

例えば、選択ユーザーのうち1人目のユーザーの優先する組織の組織名を取得したい場合は以下のようになります。

= $1[0].name

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

= $1

設定するパラメーター

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

ユーザー選択フィールド

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

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

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

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

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

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

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

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

  • 文字列(1行)
  • 組織選択

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

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

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

krewSheet 対応状況

一部対応しています。

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

ただし、以下の制限があります。

  • ルックアップでコピーされるフィールドにはセットできません。
  • 以下のフィールドは「レコードを保存する直前(削除時は除く)」のようにレコード保存のタイミングのみでセット可能です。やや専門的になりますが、より詳しく知りたい方は krewSheet のドキュメント も参考にしてください。
    • krewSheet の表示列に含まれていないフィールド
    • krewSheet で読み取り専用に設定されているフィールド
    • リッチエディターフィールド

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

制限事項

  • 選択されているユーザーがゲストユーザーの場合は、そのユーザーの優先する組織はないものとして扱われます。

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

    • レコード追加画面
      • 任意のタイミングで使用可能
    • レコード編集画面
      • 任意のタイミングで使用可能
    • PCのレコード一覧画面インライン編集モード(鉛筆アイコンを押して編集モードになった状態)
      • 「レコードを保存する直前」時のみ使用可能
  • 指定のグループ・組織に所属するならば」をはじめとする一連の所属判定条件の「ユーザーが所属しているグループ/組織」パラメーターに「選択されているユーザーの優先する組織を取得する」のアクションはセットできません。