こんにちは、製品開発部の渡辺です。
もう少しでハロウィン、その後は、あっという間に平成最後の年越しがやってきますね。
全く関係ないですが、ハロウィンは1997年のTDL、2002年のUSJでハロウィンイベントが開催されたのをきっかけに流行りはじめ、近年のSNSなどの普及に伴い爆発的に盛り上がったようです。気づけば、日本でも年中行事の1つになっていますね。
ある年のハロウィンの日、仕事で渋谷のスクラブル交差点を通りましたが、非日常な光景が広がっていたのを今でも忘れません。
さて、今回はワークフローの拡張利用について紹介します。
日本の承認フロー
日本の決済フローは、欧米のそれとは異なる点が多いですよね。
- 欧米:(単一の)権限を与えられた人が承認することで決済される
- 日本:権限を付与された人が複数人おり、それらの証跡が必要な場合(合議制)が多い。 また、決済者の承認前に、申請部門の上長承認が必要。など。
そのため、申請の種類×申請部署ごとのプロセスが必要になり、結果的に多くのプロセスが作られて、とてもじゃないけど管理がしてられない。という声を聞きます。
別の製品では、管理を減らすために、申請者にプロセス指定をさせて運用するというのも存在しますが、プロセスの指定間違いや都度指定することで利用者が面倒になるという事も起きているのではないかと想像します。
そこで、mitocoワークフローをカスタマイズすることで、この辺の問題を解決する方法を紹介していきます。
mitocoの承認者指定の拡張
mitocoの承認者割当にはいくつかの方法があります。
その中で、ご紹介したいのは、「Apexクラスを使用して承認者を割り当て」です。
Apexとは、Java に似た構文を使用し、データベースのストアドプロシージャのように動作するプログラミング言語です。
プログラミングでロジックを作成する事で、自由な承認者指定を可能にします。
例えば、ユーザ情報のカスタム項目から承認者を取得したり、承認者決定用のテーブルを準備しておき、そのテーブルに問い合わせて、次の承認者を取得し指定する事ができます。
また、この「Apexクラス」を用いたユーザの指定は、回覧者 の指定でもご利用いただけます。
どの様なカスタムロジックが作れる?
前述の通り、ディシジョンテーブルで該当する承認者を得るようなロジックを作成する事が最もポピュラーな方法かと思います。
申請部署 | 申請種類 | 階層1 | 階層2 | 階層3 | 階層4 | 階層5 | 決済 |
---|---|---|---|---|---|---|---|
第一営業部 | 稟議 | 課長Aさん | 部長Bさん | 管理部 Cさん |
管理部部長 Dさん |
副社長 | 社長 |
第二営業部 | 稟議 | 課長Zさん | 部長Bさん | 管理部 Rさん |
管理部部長 Dさん |
副社長 | 社長 |
西日本営業部 | 稟議 | 部長Kさん | 支社長Sさん | 管理部 Cさん |
管理部部長 Dさん |
副社長 | 社長 |
北海道営業部 | 稟議 | 部長Xさん | 支社長Eさん | 管理部 Cさん |
管理部部長 Dさん |
副社長 | 社長 |
この例ですと、実はディシジョンテーブルをわざわざ用意しなくても、プロセスを4つ用意する事で対応することは可能です。
しかし、部署や申請種類が多く、数十〜数百のパターンに増えた場合も、上記のようなディシジョンテーブルを用いた判定が構築できると、プロセスは1つだけで済みます。
- 誰が実行したか?
- 今どの階層か?
上記の情報がApexクラスには渡ってきますので、この情報を元に、上記のテーブルから次の承認者を取得し、指定する事ができます。
もちろん、その取得するロジックの中に独自の判定条件などを追加する事も可能です。
注意事項
上記に表示しているテーブルは、イメージになります。実際のカスタマイズにはもう少し準備しなければいけないテーブルや処理が必要になる場合もあります。
Apexクラスを用いた承認者指定を利用するには?
特に、特殊な設定など不要ですが、 Apexクラスを作成できるスキル は、必要です。
ユーザガイドにも、利用方法は掲載しています。
上記で紹介した様なディシジョンテーブルを用いた対応をするには、
Salesforceをご利用のお客様であれば、そのライセンスで許可されている範囲で、カスタムオブジェクトを作成し利用できます。しかし、Salesforceのライセンスはなくmitocoだけでご利用されている方はカスタムオブジェクトを使うことはできませんでした。
そこで、この度、
「mitocoプラス」
というオプションのライセンスをご用意しました!!
こちらは、通常のmitocoご利用の他、カスタムオブジェクトを10個まで作ることが可能になります。
注意事項
このライセンスにより追加される10個のオブジェクトは、mitocoサービス機能の拡張のみの用途で限定利用が可能です。
まとめ
今回は、
- ロジックを作成して、承認者(回覧者)を取得するカスタマイズが出来ます!
- mitocoプラスというライセンスがあります!
という事をお伝えしました。
プログラミングを利用することで、柔軟な承認者(回覧者)の指定が可能になりますが、
- 申請時に承認者を追加したい
- 申請時に各ステップの承認者を追加したい
などの要望も頂いておりますし、その他にも、複雑なプロセスを作らなければいけない場面があり現状のmitocoでは簡易な設定で利用することができないケースもあります。
今後のバージョンアップで、皆様の組織でお困りの事象を解決できるよう開発を続けていますので、
今後のリリースにもご期待ください!!