今回は特定のステータスの時のみフィールドを編集不可にするカスタマイズをご紹介します!
kintoneの標準機能では、レコードのアクセス権を設定することで、特定のステータスのレコードはレコード丸ごと編集不可にすることはできますが、特定のステータスのときにフィールド毎に編集不可を設定することはできません。
でも、Customineなら簡単に実現できますよ!
Customineの基本的な事柄は、「はじめてのカスタマイズ」をご参照ください。
アプリのフォーム
アプリはアプリストアの案件管理アプリを使用します。
プロセス管理の設定
以下の図のような動きになるように設定します。
プロセス管理の設定は以下の様になります。
やりたいこと
ステータスが「提案済み」、「受注済み」、「完了」の時は、提案内容に関するフィールドを編集不可にする。
Customineの設定
Customineなら以下の設定だけで済みます!
ステータスが「提案済み」or「受注済み」or「完了」の時にフィールドを編集不可にしたいですが、現在CustomineにはOR条件はないので、「未提案」でも「提案修正中」でもないとき、のように設定します。
やること
「フィールドを無効化する」を使います。
無効化するフィールドは「製品名」「単価」「ユーザー数」の3つです。
条件
発動タイミングは「編集画面を表示した時」です。今回は最初のステータスを含まないので編集画面のみにしていますが、最初のステータスを含む場合は「追加・編集画面を表示した時」に変えるといいでしょう。
追加条件1で「ステータスが特定の値ならば」で「未提案」と等しくないとき、に設定します。
追加条件2で「ステータスが特定の値ならば」で「提案修正中」と等しくないとき、に設定します。
テスト
設定が完了したら、「kintoneアプリへ登録」し、動作チェックしてみましょう。
終わりに
追加条件に「ログインユーザーが指定のユーザーならば」や「指定のグループ・組織に所属するならば」を使えば、ユーザーごとにさらに細かく編集権限を設定することができます。編集権限を厳密にコントロールしたい場合はぜひご活用ください。
※「指定のグループ・組織に所属するならば」を使う場合は先に「所属組織を取得する」や「所属グループ(ロール)を取得する」で所属するグループ・組織の情報を取得しておく必要があります。
しっかりと権限設定をして、正しい運用に導いてあげてください!