第489話:作業時間を自動計測するボタンを配置する

2016年6月27日
ストップウォッチを使って、翻訳作業の時間を計測してるんデス!

素晴らしい!。素晴らしスギル!!。しかも「秒単位」で記録するだなんて。。。しかも「離席時間」や「中断時間」はストップウォッチを一時停止させるだなんて。。。うんうん。「正確な業務実態の記録」は業務改善に欠かせない!


そんな貴方の為に、入力画面の中に「Startボタン」「Stopボタン」「Clearボタン」が表示される設定を提案したい。この設定があれば、リアルなストップウォッチ(スマートフォン?)が無くても、簡単に時間計測できるようになる。

何と言っても、いままで手入力していた「作業時間」(文字列型/hh:mm:ss)のフォーム上で動作する点が秀逸だ。すなわち、計測結果を転記する手間すら必要ない。

[翻訳フロー]



[翻訳フロー:「2.翻訳作業」画面]


このワークフロー定義では、翻訳結果を入力する画面において『ストップウォッチ・ボタン』が表示されるようになっている。画面を見れば直観的に分かるため、もはや説明する必要もない。

ただ注意すべきは、この様な「ちょっとした業務効率のカイゼン」には、どうしても HTML/JavaScript の知識が必要になる点だ。たとえばクラウド型ワークフロー『Questetra BPM Suite』でこれらのボタンを表示させる場合、[データ項目]を設定する画面に40行程の HTML/JavaScript を書く必要がある。(文字列型フォームの説明部分:入力のヒント部分)

<参考マニュアル>
M213 入力画面: 処理フォーム画面に “入力ヒント” が表示されるように設定する(HTML/JavaScript)


しかし、Excel で関数を使いこなせると「できる事」が一気に増えるのと同様、もし HTML/JavaScript が使いこなせれば「カイゼンの幅」が一気に増えるだろう。業務プロセスの改善担当者は、入力画面をよりリッチにするためのスキルとして HTML/JavaScript の知識を持つべきかもしれない。

ちなみに、ここで使われている HTML/JavaScript においては、Webデザイナに絶大な人気を誇る「jQueryライブラリ」が利用されている。短いコードで様々な表現ができるライブラリだ。2・3時間の研修を受けるだけでも、様々な便利ボタンを設置できるようにあるだろう。


▼『ストップウォッチ』の設定サンプル(HTML/JavaScript)
  1. <button type="button" id="myStart">Start</button>
  2. <button type="button" id="myStop">Stop</button>
  3. <button type="button" id="myClear">Clear</button> 
  4. <script type="text/javascript">
  5. var myInterval = null;
  6. jQuery('#myStart').on('click',function(){
  7. if (myInterval == null) {
  8. myInterval = setInterval("countUp()", 1000 );
  9. }
  10. });
  11.  
  12. jQuery('#myStop').on('click',function(){
  13. clearInterval( myInterval );
  14. myInterval = null;
  15. });
  16.  
  17. jQuery('#myClear').on('click',function(){
  18. clearInterval( myInterval );
  19. myInterval = null;
  20. jQuery('input[name="data\\[9\\].input"]').val( "00:00:00" );
  21. // 100 hrs, also 0 reset
  22. });
  23.  
  24. function countUp(){
  25. if(jQuery('input[name="data\\[9\\].input"]').length == 0){
  26. clearInterval( myInterval );
  27. myInterval = null;
  28. } else {
  29. var timerStr = jQuery('input[name="data\\[9\\].input"]').val();
  30. // "01:23:45"
  31.  
  32. var myRegex = /^[0-9][0-9]:[0-9][0-9]:[0-9][0-9]$/;
  33. if( myRegex.test( timerStr ) == false){ timerStr = "00:00:00"; }
  34. // 100hrs, also reset
  35.  
  36. var mySec = timerStr.substring(6, 8) - 0; // JavaScript number
  37. var myMin = timerStr.substring(3, 5) - 0;
  38. var myHour = timerStr.substring(0, 2) - 0;
  39.  
  40. mySec += 1;
  41. if(mySec > 59){ mySec = 0; myMin += 1; }
  42. if(myMin > 59){ myMin = 0; myHour += 1; }
  43.  
  44. if(mySec > 9){ secStr = mySec; }
  45. else { secStr = '0' + mySec; }
  46. if(myMin > 9){ minStr = myMin; }
  47. else { minStr = '0' + myMin; }
  48. if(myHour > 9){ hourStr = myHour; }
  49. else { hourStr = '0' + myHour; }
  50.  
  51. jQuery('input[name="data\\[9\\].input"]').val( hourStr + ":" + minStr + ":" + secStr );
  52. }
  53. }
  54.  
  55. </script>

▼『文字数カウンタ』の設定サンプル(HTML/JavaScript)
  1. <script type="text/javascript">
  2. jQuery('textarea[name="data[0].input"]').bind('keyup change',function(){
  3. var myTextLength = jQuery(this).val().length;
  4. jQuery('input[name="data\\[8\\].input"]').val( myTextLength );
  5. });
  6. </script>

<データ項目一覧画面>


[雛形ダウンロード (無料)]
<類似プロセス>
≪関連記事≫

[英文記事 (English Entry) ]

0 件のコメント :

コメントを投稿