請求対象となる売上うんぬん

請求締めってのは、取引先ごとに、現時点での最新請求締め日の翌日から、現在の年月←バカ、末締めの場合どうすんだよ!気を取り直して→締めたい任意の年月と取引先マスタにある締め日をくっつけた日付の間(請求期間とする)に計上された売上をごっそりまとめてデータを作る事な訳だ。

で、以前関わった奴だと、兎に請求期間内の売上明細の内、最新の黒のものをスタコラ持って来てたわけ、当初は。

そしたらもう、大爆発ですわ。本当はもっともっと複雑なのだ。

  • 未請求の売上に対して計上訂正を行った場合
    • 元伝、赤伝は請求対象外
    • 最新の黒のみ請求に乗る

これはいい。簡単だ。

  • 請求済みの売上に対して計上訂正を行った場合
    • 赤伝、黒伝ともに請求に乗る
    • 元伝は以前の請求に乗ってるので勿論対象外

請求済みに対する訂正を行った場合、訂正を行った差額だけが今回の請求に乗らなきゃいけないので、こうしないといけないのだ。

元: 1000円 ← 請求済み
赤:-1000円 ← 未請求
黒: 1200円 ← 未請求

よって今月分請求対象明細は

  明細1:  -1000円
  明細2:   1200円
                                  • -
合計 200円 前月請求残 1000円
                                  • -
請求残 1200円

簡単な話だ。もう至極当然、当たり前だのスープレックス

で、これが本番稼動後に発覚したもんだから、既にバンバン売上計上がなされてるので、派手に手を入れられず、全て請求締め処理側でこれに対応しないといけなかった。

請求対象かつ未請求の金額を取引先ごとに一覧表示するだけでも大変だった。サブクエリの嵐、嵐、嵐。自分自身に紐付く元伝票の計上日が最新締め日よりどうだかこうだか、未だにどうなってんだか判らん。

実際に請求データを生成する部分はストアドでやってて、そっちは設計した人が責任を持って実装してくれたのでまあなんとかばっちり動いてる。

教訓、請求対象、非対象は売上計上時に売上明細データ側にフラグを立てましょう。

そうすればバカチョンで持ってこれる。