ユーザー選択フィールドなどで選択されているユーザーが所属するグループ(ロール)を取得します。
このアクションを実行すると、ユーザー選択フィールドで選択されているユーザーが所属するグループの情報がアクションの結果として保存されます。複数のグループに所属していればそれらすべてが取得されます。
ユーザー選択フィールドに複数のユーザーが選択されている場合は、それらすべてのユーザーの所属グループが取得されます。複数のユーザーが同じグループに所属している場合、重複するグループは除去された状態になります。
この情報を式を使用して $1 などから参照することも可能ですが、「指定のグループ・組織に所属するならば」と組み合わせるのがより典型的な使用方法です。
他のアクションから式を使用して結果を参照する場合、結果データの構造はCybozu のドキュメント で「レスポンス」の項を参照してください。
例えば、1つ目の所属グループのグループ名を取得したい場合は以下のようになります。
= $1.groups[0].name
取得したグループを「フィールドに値をセットする」やフィールドマッピングでグループ選択フィールドへセットしたい場合は、以下のようにします。
= $1
「ユーザー選択フィールド」「セット先フィールド(省略可)」を指定します。
ユーザーが選択されているフィールドを指定します。
選択可能なフィールドタイプは以下の通りです。
テーブル内のフィールドを選択した場合、各行に対して取得が行われます。ただしこの場合、アクションの結果を $1 のような式で参照しようとした場合、どの行の結果が返るか不定になります。テーブル内の各行に対して処理を行いたい場合は、「セット先フィールド」を指定してください。
このフィールドでユーザーが一人も選択されていなかった場合、エラーにはならず、groups が空の状態の結果が取得されます。
取得したグループを他のフィールドにセットする場合に指定します。直接フィールドにはセットせず、結果を別のアクションで使用したい場合は、省略できます。
選択可能なフィールドタイプは以下の通りです。
テーブル内フィールドを指定する場合、「ユーザー選択フィールド」も同じテーブル内のフィールドを選択しておく必要があります。
セット先をグループ選択フィールドにした場合、現在選択されている他のグループはクリアされたうえで、「選択されているユーザーの所属グループ(ロール)を取得する」で取得したグループが選択された状態になります。複数のグループが取得された場合はすべてセットされます。
セット先を文字列(1行)等にした場合、グループ名がセットされます。複数のグループが取得された場合は、グループ名をカンマ区切りで並べたものがセットされます。
一部対応しています。
「セット先フィールド(省略可)」を省略せずに指定している場合は以下の条件時のみ対応しています。
ただし、以下の制限があります。
「セット先フィールド(省略可)」を省略する場合は、条件に関わらず対応しています。
ユーザーがゲストユーザーの場合はグループに所属していないものとして扱われます。Everyone グループにも所属していないので注意してください。
「セット先フィールド」が指定されている場合、以下のいずれかの画面で使用できます。それ以外の画面で使用すると、アプリ実行時にエラーになります。「セット先フィールド」を省略している場合はこれ以外の画面、例えばレコード詳細画面でも使用することができます。