今回の内容は、ライトコースでも実装できます。
フローの状態に関係なく、修正できてしまう。
日報アプリにプロセス管理を使って、上司に確認&承認をしてもらう。
という業務フローを実装している方は多いかと思います。
ですが、単純にフィールドを設置してプロセス管理を設定しただけでは、上司が承認した後でも編集ができてしまうのです。
上司承認済みの日報は、編集できないようにしましょう。
事後の編集を禁じるのは全項目?それとも一部項目?
全項目の編集を禁じる場合はレコードに対するアクセス権を設定すれば良いです。
一部項目の編集を禁じる場合は、フィールドに対するアクセス権を設定します。
所感だけならまだしも、売り上げやカルテといった、事後の編集が許されない情報もあるかもしれません。
承認後の修正はコメント欄を活用することにし、日報全体を編集不可にするのが良いでしょう。
設定方法
レコードのアクセス権設定で、ステータスを選択し、プロセスの状態が上司にある場合は上司のみが編集・削除の権限を持つように設定します。
設定は画像のようになります。
これで、作成完了後上司へ提出した後は、差し戻しをされない限り、作成者からの編集と削除はできなくなりました。
フローが上司に渡った場合、閲覧は誰でもできますが、編集と削除は社長花子と上司太郎しかできないようになっていますね。作成担当者は閲覧のみです。
もし修正したい場合は、レコードのコメント欄にその旨を書きます。
もしくは、どうしても修正が必要な場合は差し戻してもらいましょう。
たったこれだけで、承認後の日報は編集できないようになりました。
フィールドやレコードにロックをかけるという設定はないため、ステータスに応じてユーザごとに、またはグループごとにアクセス権の割り当てを制限するやり方でした。
おまけ
アクセス権の設定だけなので、プロセスの状態によっては編集できないどころか閲覧もさせないという設定も可能です。
情報公開範囲に制限をかけないといけない場合、「everyone」の設定には気を使いましょう。ユーザ別、グループ別では気をつけていたけど、everyoneの設定を忘れていた。というのはありがちなミスです。
テストは管理者権限と一般権限の双方から
アクセス権設定はややこしいところなので、管理者権限を持ったユーザと一般権限のユーザ、2つのユーザでテストすることをオススメします。
なんでもできる管理者権限だけでテストをしていると、見落としが必ず出てきます。
アクセス権の設定には注意しましょう。