kintoneのプロセス管理機能、便利ですよね!
ただ、少し込み入った要件になると、足りない機能が出てきたりします。今回はそんな足りない機能の一つである、代理承認を実現するカスタマイズを作成してみたいと思います。
kintoneアプリの設定
ここでは例として、旅費精算申請のアプリを利用します。プロセス管理の設定は以下のとおりです。例としてシンプルなプロセスをということで、フォームにある「上長」が作業者となって、承認するのが通常のルール、ということにします。
代理承認を実現する仕組み
今回アップデートされた「作業者を変更する(現在のレコード)」や「作業者を変更する(指定のレコード)」には、「kintone アプリの API トークン」のパラメーターが追加されました。
これを利用して、kintone アプリの API トークン経由で作業者を自分自身に変更し、その後ステータスを変更するという方法で、代理承認を実現してみます。ということで予めこの旅費精算申請アプリに対して、以下のように「レコード閲覧」と「アプリ管理」のアクセス権を持ったkintone アプリの API トークンを予め設定しておいてください。
Customineの設定 : 代理承認ボタンの表示
それでは実際のカスタマイズを作成していきたいと思います。
まず、詳細画面で代理承認ボタンを表示する部分を作成してみます。ここではまず、代理承認が必要になりそうなステータスであれば「ログインユーザーを取得する」で、予めログインユーザー自身の情報を取得しておきます。
次に代理承認ボタンを配置しています。ここでは、上長フィールドに自分自身が含まれていない、つまり上長以外は全員にボタンを表示しています。
実際の要件ではこの部分の条件はもっと複雑になるかと思います。例えば「代理承認可能なグループ」に属している場合のみボタン表示といった条件や、指定の曜日と上長を組み合わせる等など、必要に応じて条件を設定してください。
ここまでで、設定したステータスおよびユーザーでボタンが表示されていることをご確認ください。
ボタンを押して作業者を変更を実行
続いて設置したボタンが押されたときの動きを作成していきます。
ここではシンプルに「確認ダイアログを表示する」を使い、確認してOKがクリックされたら、「作業者を変更する(現在のレコード)」を実行するようにしてみました。
先ほど作成しておいたkintone アプリの API トークンをここで設定します。
ここまでで、作業者をログインしているユーザー自身に変更するカスタマイズが完成しました。
作業者を変更したということは、このユーザーで承認できるようになったので、これでカスタマイズ完成でも構わないのですが、今回はもう一歩進んでステータスまで変更してしまうカスタマイズを作成してみます。
ステータスの変更
プロセスを進める場合、「ステータスを変更する(現在のレコード)」などのステータスを変更する「やること」を利用します。
ここではいま開いているレコードを取得するため、「キーを指定してレコードを取得する」を利用してレコード番号を指定してレコードを取得しています。
(注釈:今回のカスタマイズでは、ここで「ステータスを変更する(現在のレコード)」を使おうとすると、既に1度現在のレコードの作業者を変更しているため、リロードしないと「指定したrevisionは最新ではありません。ほかのユーザーがレコードを更新した可能性があります。」のようなエラーが出ると思います)
結果を確認するために、全てが終わったあとで「画面をリロードする」でリロードしておきます。
まとめ
以上で代理承認のカスタマイズは完了です。思いのほか簡単に、代理承認を実現できることがお分かりいただけたかと思います。
このカスタマイズで代理承認を実行した際の、変更履歴は以下のようになっています。
このように、
「User-B」が上長「田中部長」として申請し、
「田中部長」の代わりに「User-A」が代理承認した。
という流れが確認できるかと思います。
変更履歴同様、ステータスの履歴も把握できますので、「これは実際誰が承認したんだ?」と悩むことも無いかと思います。ぜひご活用ください!
もし何かご質問などございましたら、お気軽にチャットサポートまでお問い合わせいただければ幸いです!
プロセスを進める場合、「ステータスを変更する(指定のレコード)」などのステータスを変更する「やること」を利用します。