2012年02月17日 スタッフブログ 平川 開発
こんばんは。平川です。
最終回です。もう少しだけお付き合いください。
今回は「繰越と返却」についてのお話です。
今回のバージョンアップでのお客様からのリクエストが
「返却時の請求方法の変更」でした。
バージョンアップ前の請求方法では次の aーb の計算をしていました
[前月からの繰越数を全数返却しなかった場合の金額]…a
[返却翌日から月末までの日数分の金額]…b
この方法で当月の貸出日数分の金額と当月の繰越数分の金額を
同時に計算します。これを仮に「減算方式」と呼ぶとします。
これを、「減算せずに月初から返却日までの日数分を単純に計算」する
方法にしたいということでした。これを仮に「加算方式」と呼びます。
具体例をみてみましょう。
月末締めの得意先に商品Aを
11/15に5本出荷、12/20に3本返却、12/25に1本返却したとします。
12月の請求ではそれぞれ以下のように計算します。
※小数点以下は四捨五入しています
◇減算方式
繰越(12/01~12/31) 31日間 x 5本 x 3.1 = 481円
返却(12/21~12/31) -11日間 x 3本 x 3.1 = -102円
返却(12/26~12/31) -6日間 x 1本 x 3.1 = -19円
合計360円
◇加算方式
返却(12/01~12/20) 20日間 x 3本 x 3.1 = 186円
返却(12/01~12/25) 25日間 x 1本 x 3.1 = 78円
繰越(12/01~12/31) 31日間 x 1本 x 3.1 = 96円
合計360円
※返却されていない分を繰越として計算します。
何が違ってくるかというと、繰越数がなくなった月のデータ数が
減算方式と加算方式とで変わってきます。
では、上記の例で12月の返却が12/20に3本、12/25に2本だった
場合の例をみてみましょう。
◇減算方式
繰越(12/01~12/31) 31日間 x 5本 x 3.1 = 481円
返却(12/21~12/31) -11日間 x 3本 x 3.1 = -102円
返却(12/26~12/31) -6日間 x 2本 x 3.1 = -37円
合計352円
◇加算方式
返却(12/01~12/20) 20日間 x 3本 x 3.1 = 186円
返却(12/01~12/25) 25日間 x 2本 x 3.1 = 155円
合計351円
このように、加算方式の方がデータ件数の節約になります。
請求書の印刷枚数も変わってきますね。また、端数処理の都合で
請求金額も変わります。どちらも長所短所それぞれあるのでしょうが、
加算方式の方がプログラムの難易度が若干高そうな印象があります。
会社さんによって採用する方式が違うようで、もう1社私が担当しているリース業
のユーザー様は減算方式を採用しています。他の計算方法もあるのでしょうかね?
せっかく身に付けた知識ですから、他の計算方法にチャレンジできるのでしたら
また面白いことになりそうです。
おわかり頂けましたでしょうか?ご不明な点がありましたらご質問受け付けております。
ではでは