2019年5月29日水曜日

スキップしたのに「承認」っておかしくないですか?

ワークフローの経路の担当者が割り当てられなかった場合や、担当者が申請者と同じ場合は設定により自動的にスキップできます。また、ユーザーが意図的にスキップすることもあるでしょう。スキップされた経路は「承認」などの次に進む処理が自動的に実行されます。以前、とあるお客様から「スキップしたのに『承認』っておかしくないですか?」というお問い合わせをいただいたことがありました。
承認を前提としたスキップなのだからそういうものだと許容することもできるとは思いますが、スキップしたのだから、スキップと表示したいという考え方も理解できます。
では、スキップした時は「スキップ」と表示するにはどうしたらいいでしょう?
今回はGluegent Flowでこちらのカスタマイズをするためのテクニックをご紹介します。

◯スキップ時の処理とは?

スキップされたとき、次に進む処理が自動的に実行されますが、この処理は個別に選択できます。
モデル編集画面の経路>任意の経路>スキップ設定>スキップ時の処理で処理を選択します。

履歴一覧のアクションにはここでの設定が表示されるので、「スキップ」という名前の処理を作成し、ここで指定することで「承認」ではなく「スキップ」と表示されるようになります。

◯クリック不可能(非表示)なボタンを作成する
「スキップ」という処理(ボタン)を作成すればいい、と書きましたが、単純に追加しただけではボタンが表示されてしまうので、ユーザーは混乱しますし、間違って「スキップ」ボタンを押してしまうことも考えられます。
これを回避するために「クリックできないボタン」、つまり非表示のボタンを作成します。
「実行可能な処理(ボタン)」で「スキップ」を作成し「ボタン表示切替」を設定します。
まず、「スキップ」の処理を作成しましょう。

続いて、「ボタン表示切替」をクリックし、「スキップ」の「表示・非表示を切り替える」を選択します。

スクリプト欄で「return false;」以外を削除します。

「return false;」とは「常に非表示」を意味します。この設定により、作成した「スキップ」ボタンは常に非表示になり、ユーザーはクリックできません。
「スキップ設定」の「スキップ時の処理」で先ほど作成した「スキップ」の処理を選択します。

「保存」をクリックしてモデルを保存します。

◯実際にスキップしてみる
上記の設定を行ったモデルでスキップをしてみましょう。スキップしたので、処理内容が「スキップになります」

スキップしない時はどうでしょう?

このように、スキップボタンは表示されませんので、間違ってクリックしてしまうこともありません。

いかがでしたでしょうか。簡単だったと思います。徹底的にこだわりたい場合は、この方法で実現してください。また、スキップされた時は自動処理を実行したくない場合にも有効です。