中途半端を極める

web関連で役に立ちそうなものを紹介いたします

EC-CUBE

【EC-CUBE】SQL文で一気に商品価格を変更する方法(2.12以前)【税率変更対応用】

投稿日:2013年12月18日 更新日:

EC-CUBEを使用している人はもう既に対策は考え終わって対応済みかとは思われますが、EC-CUBEではデータベース上に税率の数値が保持されていない仕様のようです。(2.12以前)

そのため、以下の方法のどれかで対応する必要があります。
・税金対策がされている2.13系にアップグレードする
・2.13系のような税金対策ができるようにカスタマイズをする
・税率対応プラグインを入れる(2.12系)
・税率を0%に設定してしまう

参考:EC-CUBEの消費税率変更の対応について

ここでは一番お手軽であると紹介されている「税率を0%に設定してしまう」を前提に説明いたします。

先ほど参考にさせていただいたサイトには

改修作業はせずに、EC-CUBE内の消費税率を0%に設定し、商品単価を税抜きの金額から税込みの金額に変更します。
これならコードの変更は無いですし、商品単価の変更はSQL文一発で変更できるので時間もかかりません。

と記載されています。正直SQL文がわからないので少々調べて調整してみました。
おそらく下記SQL文を実行すれば動作すると考えられます。

四捨五入の場合

UPDATE dtb_products_class
SET price01 = ROUND((price01 / 1.05) * 1.08, 0),
price02 = ROUND((price02 / 1.05) * 1.08, 0);

小数点以下切り捨ての場合

UPDATE dtb_products_class
SET price01 = truncate((price01 / 1.05) * 1.08, 0),
price02 = truncate((price02 / 1.05) * 1.08, 0);

小数点以下切り上げの場合

UPDATE dtb_products_class
SET price01 = truncate((price01 / 1.05) * 1.08 + .9, 0),
price02 = truncate((price02 / 1.05) * 1.08 + .9, 0);

※実行は自己責任でお願いいたします。

下記サイトを参考にさせていただきました。ありがとうございます。

参考:
[EC-CUBE]ポイント付与率一括変更方法
データの加工命令(3)~フィールドの一括更新と基本命令群のおさらい
 MySQL 編13 – 数値関数、余り、四捨五入、切り捨て、切り上げ、数値書式

-EC-CUBE

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

【EC-CUBE】受注管理を初期化する

ショップサイトの構築時にはたくさんテスト注文をすると思います。そういったデータは公開前に削除しておくのがベターかと思われるのですが、EC-CBBEの管理画面では一気に初期化できなさそうなので、調べてみ …

【EC-CUBE】テンプレート設定を変更してもブロック設定を保持する方法

EC-CUBEはテンプレートを変更するとブロック設定の値が初期値に変わってしまい。インストールした時と同じような状態になります。それを回避する方法です。