Ticket #1730 (new バグ指摘) — at Version 3

Opened 12 years ago

Last modified 10 years ago

税率変更に対応できない

Reported by: Seasoft Owned by: habu
Priority: Milestone: EC-CUBE2.13.0
Component: フロント Version: 2.12.0 α
Keywords: Cc: habu
修正済み: yes

Description (last modified by habu) (diff)

dtb_order_detail.price

商品は外税対応を維持するとしても、受注は税込で扱う方が妥当に感じている。

報告者のコメント

受注情報に税率を持たせるような冗長な拡張はやめてね・・・

関連スレッド

 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=2428&forum=1&post_id=54709

2012/12/28追記

消費税率変更時の対応ですが、 そろそろ標準で対策しておいた方が良い時期にきていますね。

報告者のSeasoft様が方針を書いてくださっていますが、受注データを税込で扱う様にするのは大きな変更になるので、2.12系としては、受注に税率を持たせる方向で、とりあえず対策を行なっておいた方が良いかと思っています。

ある程度できている修正コードがありますので、アップデート用のスクリプトを作成した後、もう少し確認して、コミットしようと思います。

詳細を以下に記載します。

■現状の不具合

SHOPマスターで消費税率を変更した後に・・・ ・マイページ>購入履歴や、管理画面から過去の受注を閲覧したり、帳票出力や、メール送信をすると、商品の税込み価格や、商品毎の小計欄に、現在の税率で再計算された金額が表示されてしまう。 ・受注管理画面で過去の受注を更新すると、現在の税率で再計算されたデータが登録されてしまう。

■修正方針

2.12系の動作を大きく変更する事無く、上記の不具合を修正する。

■修正方法

・dtb_order、dtb_order_temp、dtb_order_detailに、tax_rateと、tax_ruleを追加する。(必須項目にはしない) ※dtb_orderにカラム追加するのは、受注管理画面で過去の受注に商品を追加した場合に、受注時の税率で追加できるようにするため。 ※dtb_order_detailにカラム追加するのは、軽減税率などが盛り込まれた場合に対応しやすくするため。

・dtb_order_detailに、tax_rateと、tax_ruleの値が入っている場合、SC_Helper_DB_Ex::sfCalcIncTaxや、SC_Utils_Ex::sfTaxの第2、第3引数に、それらの値を渡す様にする。 (つまり、商品の税込み価格計算部分で、受注時の税率&課税規則を利用する様にする)

■アップデート方法

ファイルの差分だけでなく、DBのカラム追加を含むため、例えば、install.phpならぬ、update_2122to2123.phpのようなスクリプトを用意して、それに一度アクセスすれば、カラム追加ができる様にしようと思っています。

また、その際に、SHOPマスタで設定された消費税率と課税規則を、既存の受注と受注詳細にセットする処理も行なう予定です。(一括update)

それと、利用した後は削除してもらえるようにメッセージを表示し、仮に2度目にアクセスしても、何も処理を行なわない作りにしておきたいと思っています。

■対応状況

r22197 にて、対応しました。

Change History

comment:1 Changed 11 years ago by habu

  • Priority changed from to
  • Description modified (diff)

comment:2 Changed 11 years ago by habu

  • Owner changed from somebody to habu
  • Description modified (diff)

comment:3 Changed 11 years ago by habu

  • 修正済み set
  • Description modified (diff)
Note: See TracTickets for help on using tickets.