本稿の目的
kintoneにて業務システムを構築する際にプロセス管理機能を使用して承認フローを実現したい。そんな時に発生する課題や解決方法について記載していこうと思います!
解決方法についても標準機能でできる範囲やカスタマイズでできる範囲に軽く触れて行こうと思います。
主に以下のようなkintone初心者向けの記事となります。
● kintoneの導入予定/検討中の方。
● kintoneにて承認フローを作成する予定がある方。
● 自社でkintoneを導入している情報システム室の方。
● 外部へkintone開発(プロセス管理を含む)を委託する担当者の方。
cybozuヘルプにもプロセス管理設定で気を付けることの記載があります。
https://jp.cybozu.help/k/ja/user/app_settings/process/design_process.html
承認フローで必要な要件とは?
タイトルにもあるような「担当者が申請し、課長と部長の承認が必要」な承認フローを考えてみます。
例えば備品購入申請だった場合は以下のような手順となる。※1~4はkintoneで実施する。
ただし他にも以下のような要件が必要となる。
アクションボタンの表示 要件
【課題】
アクションボタンとはプロセス管理にて次のステータスへ進めるためのボタンのことである。
レコードにて承認者が設定される前にアクションボタンが表示されることは好ましくないので
承認者が設定されている時だけアクションボタンが表示されるようにしたい。
【解決策】
kintoneの標準機能で実現が可能である。
設定方法としては承認者フィールド対して「次のいずれかを含む」設定と「Everyone」設定をすることである。
「Everyone」とはkintoneユーザーのすべてであるため、「次のいずれかを含む」設定をすることで
「承認者フィールドにユーザーが設定されていたら―」という条件となる。
↓承認者未設定時は「申請する」アクションが表示されない。
↓承認者設定時は「申請する」アクションが表示される。
差し戻し 要件
【課題】
課長や部長が申請を否認したい場合や申請情報の不備として差し戻しをしたい場合がある。
差し戻しとされた場合は申請者が申請情報を修正し、再度申請をすることができる。
否認とされた場合は以後そのレコードで申請処理はできない。
【解決策】
kintoneの標準機能で実現が可能である。
プロセス管理にて以下のような設定をすることで実現する。
- ステータスに「差し戻し」を追加する。(作業者は申請者とする。)
- 承認時のアクションに「差し戻し」を追加し、実行後ステータスを「差し戻し」とする。
- ステータスに「取消」を追加する。(作業者の設定はなし。)
- 申請時のアクションに「取消」を追加し、実行後ステータスを「取消」とする。
否認の際の手順は承認者(課長や部長)から差し戻しを受けた申請者が確認した後で申請者本人が取消をする方針としている。
承認者が一方的に申請を否認する場合はあまり無い?と思いますので。
代理承認 要件
【課題】
承認者(課長や部長)が不在であり、業務が滞ってしまわないように代理者が承認したい場合がある。
【解決策】
「現在の作業者を変更」ボタンより作業者に代理者となる方を追加することによって実現が可能である。(kintone標準機能)
ただし、「現在の作業者を変更」ボタンが表示されるユーザーは「cybozu.com共通管理者」または「アプリ管理権限を持つユーザー」だけである。これらのユーザーは大概の会社では情報システム室等が保持しているアカウントであるため、現場だけで代理者に作業させることはkintone標準機能だけで実現することはできない。(情報システム室に連絡し代理者を作業者にしてもらう作業が必要。)
現場だけで承認者不在時のプロセスを進める(課長が不在の際に部長が課長の分の承認もする)ようなことを実現する場合はカスタマイズが必要となる。例えば、公開されている作業者を更新するAPIを使用する等が考えられます。
まとめ
承認フローを実現する際の課題と解決策についてお客様が漏れがちな観点を中心に記載してみました。
今回、ユースケースとした「担当者申請→課長承認→部長承認」の承認フローをプロセス管理で設定した例を公開します。
参考にして頂ければと思います。
他にも「こういう要件で苦労した」「こんな解決方法もあるよ」みたいなのがありましたら追記していこうと思います!
最後に個人的に作成したプラグインを販売しておりますので是非ご覧になっていただければと思います。
試用版も用意しております!