設計情報

投稿者:SPIRERS ナレッジ向上チーム 2022年6月16日 (木)

アプリロールに特定の選択肢のみ表示する方法

業務アプリを構築した場合、SPIRAL ver.2ではアプリロール機能があり管理者側でデータを操作する画面を1から構築する必要はありません。
そんなアプリロールを使用する際にちょっと便利な" 小技 "を紹介します。

アプリロールとは、アプリに対するレコード操作、メール配信などいった操作を付与する、しないを指定する権限のことで、構築したアプリの操作画面のようなものです。

アプリ設計、設定時のお悩み

業務アプリの設定を行う際にSPIRAL ver.2の強みであるアプリロールを活用したアプリを設計していきたいですが、
現状ではアプリロールで特定の選択肢のみを表示させることはできません。

例えば、 会員サイトアプリ のように会員向けに公開する職種別ドキュメントをアプリロールからそれぞれの職種である営業担当者、SE担当者、サポート担当者に登録させる運用にするためアプリ設計をします。
ドキュメント種別を1フィールドとしてDB作成した場合、本来であれば営業担当者のアプリロールでは「営業関連」のみの選択肢を表示させたいところですが、特定の選択肢のみを表示させることができません。
「営業担当者にのみ使用させたい選択肢なのに、他の担当者でも選択できてしまう」という悩みがでてきます。



そんな時に是非活用していただきたい設定方法が、

担当者ごとの専用フィールド、認識合わせの共用フィールドを用意する
アプリロールでフィールドの「閲覧 / 作成 / 変更」の設定を行う
DBトリガ レコードアクションで値を連携する

です。

担当者ごとの専用フィールド、認識合わせの共用フィールドを用意する

担当者ごとに必要となる選択肢のみ用意した専用のフィールドと、全体で認識合わせするための共用のステータスフィールドを用意します。
値を連携するため、ラベルIDを専用フィールドと共用フィールドで合わせておくことをおすすめします。

DBフィールド設定例
※種別関連のフィールドのみ表示しています。
表示名 タイプ    
【共用】種別 セレクト <セレクト項目>
1:営業関連
2:SE関連
3:サポート関連
【営業担当者】種別 セレクト <セレクト項目>
1:営業関連
※【共用】種別フィールドへ連携するため、ラベルIDは" 1 "で設定します。
【SE担当者】種別 セレクト <セレクト項目>
2:SE関連
※【共用】種別フィールドへ連携するため、ラベルIDは" 2 "で設定します。
【サポート担当者】種別 セレクト <セレクト項目>
3:サポート関連
※【共用】種別フィールドへ連携するため、ラベルIDは" 3 "で設定します。
設定についての詳細は DB機能 をご覧ください。

アプリロールでフィールドの「閲覧 / 作成 / 変更」の設定を行う

アプリロールはフィールド単位で「閲覧 / 作成 / 変更」の制御を行うことが可能です。
よって、先に記載したように担当者ごとの専用フィールドと認識合わせの共用フィールドを用意し、それぞれの担当者が使用するアプリロールで専用フィールドのみ「閲覧・作成・変更」の設定をしておけば、担当者専用の選択肢のみ表示させることができます。
また、認識合わせのための共用のフィールドも「閲覧」のみの設定にしておけば、変更することはできないので誤操作を回避することができます。

アプリロール設定例
営業担当者
SE担当者
サポート担当者
設定についての詳細は アプリロール をご覧ください。

DBトリガ レコードアクションで値を連携する

SPIRALver.2のDBトリガ レコードアクションはアクション先を自DBとすることが可能なので、
それぞれの担当者が使用している専用フィールドの値を自DBの共用フィールドに格納します。
これにより、それぞれが確認するのは共用フィールドの値のみで良いので、認識を統一することができ、結果的に1フィールドで管理していることと同じ動きとなります。

DBトリガ レコードアクション設定例
 このトリガでは以下3つの処理を設定しますが、いずれかの処理が成功すると以降の処理は発動しません。
【営業担当者】種別を連携 処理
発動条件 指定する
経路条件:一部の経路(操作画面)
簡易条件:指定する
└【営業担当者】種別|等しい|営業関連
処理タイプ 更新
処理マッピング アクション先DBフィールド:【共用】種別 = 格納値:【営業担当者】種別
エラー処理 全てエラー終了
【SE担当者】種別を連携 処理
発動条件 指定する
経路条件:一部の経路(操作画面)
簡易条件:指定する
└【SE担当者】種別|等しい|SE関連
処理タイプ 更新
処理マッピング アクション先DBフィールド:【共用】種別 = 格納値:【SE担当者】種別
エラー処理 全てエラー終了
【サポート担当者】種別を連携 処理
発動条件 指定する
経路条件:一部の経路(操作画面)
簡易条件:指定する
└【サポート担当者】種別|等しい|営業関連
処理タイプ 更新
処理マッピング アクション先DBフィールド:【共用】種別 = 格納値:【サポート担当者】種別
エラー処理 全てエラー終了
設定についての詳細は DBトリガのレコードアクション をご覧ください。

最後に

今回は「アプリロールで特定の選択肢を表示することができず、困った」という時に活用いただける小技でした。
これからも「ちょっと助かる」「ちょっと便利」と感じてもらえるSPIRAL ver.2の小技を紹介していきます。
解決しない場合はこちら コンテンツに関しての
要望はこちら