家賃、水道料金、クラウドサービス。。。どんな分野であっても「請求書発行プロセス」は、非常に重要な業務だ。ミスは許されない。与信調査や住所入力は人間が行うにしても、「日割り計算」の部分はコンピュータに任せたい。
- 確かに、コンピュータは機械だ。
- およそ、ミスは無い。
- そして、速い。
以下のワークフローは、「月額利用料 10,000円 のサービス」に対する日割計算を自動化している。
「YYYY年MM月にX日間ご利用いただいた」と言う情報を入力すれば、「請求額PDFの自動生成まで」が自動化される、というシンプルなサンプルフローだ。
この例は、業務フロー図を見れば一目瞭然だが、簡単の為に「承認工程」や「差戻工程」すら設定されていない。非常にプレーンな業務プロセスだ。ただ、であるが故に、「自動でプリントアウトする」や「自動で添付メール送信する」といった応用システムを開発する際のベースとして有用といえる。
[請求書発行フロー]
コンピュータは「分数」が苦手だ。「3分の1」ですらキチンと認識できない。
足し算や掛け算といった「計算」によって、さらに混乱の度を深めてしまうケースもある。
ちなみに、実社会ではあまり活躍の場がない「分数のママで計算させるためのソフト」は、プログラミングの教材としてもしばしば利用されるが、「分数の入力」や「分数の表示」の時点で、かなりの創意工夫が必要となる。(さらに「約分」や「通分」は奥が深い…)
このワークフローにある自動工程では、そんなコンピュータに「月額利用料金」を「31」や「30」で割るという処理をさせている。基本的には、小数点以下の数字を切り捨てることなく保持し続け、最後に丸める(四捨五入する)という方法となっている。
ちなみに、、、安易に「小数点以下切り捨て」にすると、(実際切り捨てるべきシーンは少なくないのだが)、たとえば「31日の利用の場合に月額利用料金(10000円)にならない」という状態になり、イロイロと条件式を決めていく必要があるので注意が必要だ。
[請求書発行フロー:「1.ご利用日数の入力」画面]
▼スクリプト工程『日割計算』の設定 (サーバサイド JavaScript)
//// == ワークフローデータの参照 / Retrieving == var monthlyCharge = data.get("●") - 0; // javascript Number var targetYearMonth = data.get("●"); // (*1) var daysOfUse = data.get("●") - 0; // javascript Number // *1: M230. com.questetra.bpms.util.AddableDate() //// == 演算 / Calculating == var daysOfMonth = targetYearMonth.getLastDateInMonth().getDate(); var perDiem = monthlyCharge / daysOfMonth; var billing = perDiem * daysOfUse; //// == ワークフローデータへの代入 / Updating == retVal.put("●", java.math.BigDecimal( daysOfMonth ) ); var perDiemJmode = new java.math.BigDecimal( perDiem ).setScale(2, java.math.BigDecimal.ROUND_HALF_UP); retVal.put("●", java.math.BigDecimal( perDiemJmode ) ); var billingJmode = new java.math.BigDecimal( billing ).setScale(0, java.math.BigDecimal.ROUND_HALF_UP); retVal.put("●", java.math.BigDecimal( billingJmode ) );
<データ項目一覧画面>
[雛形ダウンロード (無料)]
- 業務テンプレート:請求書発行フロー
- 請求書など、自動生成PDFに「森鷗外 様」と表示したい (2016-04-11)
- クラウド型ワークフロー内で、請求書 PDF を自動発行する (2014-03-10)
- 請求書ファイルを Google Drive に自動バックアップ (2013-06-17)
- M228 自動工程: 業務データを挿し込んだPDF帳票が自動生成されるように設定する (使い方)
- M230 自動工程: 業務データの複雑なデータ加工が自動実行されるように設定する(ECMAスクリプト) (使い方)
- M224 自動イベント: 業務データを挿し込んだメール文が、自動的にメール送信されるように設定する (使い方)
[英文記事 (English Entry) ]
0 件のコメント :
コメントを投稿