kintoneのプロセス管理機能、便利ですよね!

ただ、少し込み入った要件になると、足りない機能が出てきたりします。今回はそんな足りない機能の一つである、代理承認を実現するカスタマイズを作成してみたいと思います。


kintoneアプリの設定

ここでは例として、旅費精算申請のアプリを利用します。プロセス管理の設定は以下のとおりです。例としてシンプルなプロセスをということで、フォームにある「上長」が作業者となって、承認するのが通常のルール、ということにします。


代理承認を実現する仕組み

今回アップデートされた「作業者を変更する(現在のレコード)」や「作業者を変更する(指定のレコード)」には、「API トークン」のパラメーターが追加されました。


これを利用して、APIトークン経由で作業者を自分自身に変更し、その後ステータスを変更するという方法で、代理承認を実現してみます。ということで予めこの旅費精算申請アプリに対して、以下のように「レコード閲覧」と「アプリ管理」のアクセス権を持ったAPIトークンを予め設定しておいてください。

Customineの設定 : 代理承認ボタンの表示

それでは実際のカスタマイズを作成していきたいと思います。


まず、詳細画面で代理承認ボタンを表示する部分を作成してみます。ここではまず、代理承認が必要になりそうなステータスであれば「ログインユーザーを取得する」で、予めログインユーザー自身の情報を取得しておきます。


次に代理承認ボタンを配置しています。ここでは、上長フィールドに自分自身が含まれていない、つまり上長以外は全員にボタンを表示しています。


実際の要件ではこの部分の条件はもっと複雑になるかと思います。例えば「代理承認可能なグループ」に属している場合のみボタン表示といった条件や、指定の曜日と上長を組み合わせる等など、必要に応じて条件を設定してください。


ここまでで、設定したステータスおよびユーザーでボタンが表示されていることをご確認ください。


ボタンを押して作業者を変更を実行

続いて設置したボタンが押されたときの動きを作成していきます。


ここではシンプルに「確認ダイアログを表示する」を使い、確認してOKがクリックされたら、「作業者を変更する(現在のレコード)」を実行するようにしてみました。

先ほど作成しておいたAPIトークンをここで設定します。


ここまでで、作業者をログインしているユーザー自身に変更するカスタマイズが完成しました。

作業者を変更したということは、このユーザーで承認できるようになったので、これでカスタマイズ完成でも構わないのですが、今回はもう一歩進んでステータスまで変更してしまうカスタマイズを作成してみます。


ステータスの変更

プロセスを進める場合、「ステータスを変更する(指定のレコード)」などのステータスを変更する「やること」を利用します。



ここではいま開いているレコードを取得するため、「キーを指定してレコードを取得する」を利用してレコード番号を指定してレコードを取得しています。


(注釈:今回のカスタマイズでは、ここで「ステータスを変更する(現在のレコード)」を使おうとすると、既に1度現在のレコードの作業者を変更しているため、リロードしないと「指定したrevisionは最新ではありません。ほかのユーザーがレコードを更新した可能性があります。」のようなエラーが出ると思います)


結果を確認するために、全てが終わったあとで「画面をリロードする」でリロードしておきます。


まとめ

以上で代理承認のカスタマイズは完了です。思いのほか簡単に、代理承認を実現できることがお分かりいただけたかと思います。

このカスタマイズで代理承認を実行した際の、変更履歴は以下のようになっています。



このように、

  • 「User-B」が上長「田中部長」として申請し、
  • 「田中部長」の代わりに「User-A」が代理承認した。

という流れが確認できるかと思います。


変更履歴同様、ステータスの履歴も把握できますので、「これは実際誰が承認したんだ?」と悩むことも無いかと思います。ぜひご活用ください!


もし何かご質問などございましたら、お気軽にチャットサポートまでお問い合わせいただければ幸いです!