質問 > 管理機能 > 個別税率設定で商品単位で税率を登録しても反映されない |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
yokos |
投稿日時: 2019/7/9 17:13
対応状況: 解決済
|
半人前 登録日: 2019/7/9 居住地: 投稿: 14 |
個別税率設定で商品単位で税率を登録しても反映されない 軽減税率制度に向けてテストをしてみましたが、商品単位で税率を登録しても反映されません。
導入していたプラグインなどは、全て外して初期の設定にしています。 [EC-CUBE] 1.3.17 [レンタルサーバ] heteml [OS] Linux [PHP] PHP 7.1.14 [データベース] MySQL 5.6 [WEBサーバ] Apache [導入プラグインの有無] なし [現象] 基本情報設定 > 税率設定で個別税率設定を有効にしました。 共通税率設定で税率10%を作成し、日時を設定して登録しました。 個別税率設定を有効にしているので、商品登録で消費税率を手動入力できるようになりました。 設定した日時になると自動で新しい税率になりましたが、商品単位で税率を設定しても反映されません。 商品登録の画面で消費税率を8にしても、また規格設定で8を入力していても反映されません。 使い方が間違っているのでしょうか? |
468 |
投稿日時: 2019/7/10 0:51
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 個別税率設定で商品単位で税率を登録しても反映されない eccube3の個別税率設定には不具合があると思われます。
今、修正箇所のソースが何処だったか思い出せない為、明日にでも追加で投稿したいと思いますが、 8パーセントが適用される商品とされない商品があるかと思います。 ※私が確認した不具合なのであればですが…商品詳細画面とカートの中の金額がおかしいかと思います。 ただ、最後まで購入処理を進めると、注文データ自体はきちんと設定された税率で計算されると思います。
|
468 |
投稿日時: 2019/7/10 10:09
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 個別税率設定で商品単位で税率を登録しても反映されない ECCUBE3.1.17でのソースになりますが、
/src/Eccube/Repository/TaxRuleRepository.php 157行目付近
↓
私がsymfonyのEvent周りを完全に理解していないので、 原因は説明できないのですが、 該当のfunction getByRule()が呼び出されたタイミングで 引数に渡されるエンティティが $Product=null $ProductClass=商品規格エンティティ となるパターンがあるようです。 (多分Doctorineの遅延読み込みの関係と予想しています) 上記のようなパターンの場合、 デフォルトだとTaxRuleを取り出すDQLのWhere句に $qb->andWhere('t.Product IS NULL'); が追加されてしまい、商品個別の税率は取得できないという状態になっています。
|
yokos |
投稿日時: 2019/7/10 13:15
対応状況: −−−
|
半人前 登録日: 2019/7/9 居住地: 投稿: 14 |
Re: 個別税率設定で商品単位で税率を登録しても反映されない 468さま
ご対応ありがとうございます。 早速ファイルを書き換えてテストしてみました。 ですが、反映される商品と、反映されない商品があるみたいです。 どういう理由でそうなるのか、想像がつきません。 ちなみに、反映されない商品を複製して作成すると、その商品は8%で反映されていました。 新規で作成したり、複製で作り直して反映されるのであれば最悪その方法でいこうかと思いますが、 必ず反映されるのかわからない状況では心配です。 反映される商品と、反映されない商品の理由などはどのようにしたら調べられるのでしょうか? よろしくお願いいたします。 |
yokos |
投稿日時: 2019/7/11 15:51
対応状況: −−−
|
半人前 登録日: 2019/7/9 居住地: 投稿: 14 |
Re: 個別税率設定で商品単位で税率を登録しても反映されない その後のテスト状況ですが、商品登録の基本情報で手動で変更した情報は、データベース上では変更されています。
ただそれを的確に読み込んでいないようです。 何度か同じようにテストしてみましたが、共通税率設定で適用日時を指定した時間が来る前に個別税率設定をしてしまうと、 その商品は何度書き換えても書き換えた税率は反映されません。 データベースに入ってdtb_tax_ruleのapply_dateで共通税率設定の適用日時以降にタイムを設定し直すと変更が反映されるようです。 以上、根本的な解決ではありませんが、テスト状況の報告です。 |
468 |
投稿日時: 2019/7/11 18:59
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 個別税率設定で商品単位で税率を登録しても反映されない 返信いただいた現象について、私のほうで確認できていない為、
現時点では何ともいえないのですが、 もしかして、apply_dateが条件に影響を与えている可能性が高いですね。 再度、税率を取得している箇所を確認したいと思います。
|
468 |
投稿日時: 2019/7/13 22:11
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 個別税率設定で商品単位で税率を登録しても反映されない プログラムを確認してみましたが
apply_dateで降順に並び替えてレコードを取り出し、 1件目の税率を利用するようです。 その為、個別税率更新日時<共通税率の適用日時順番で 税率を設定すると 共通税率のほうが有効と判定されるようです。 仕様と言ってしまえばそれまでですが、 デフォルトでは、共通税率が適用された後のみ、 個別税率の設定が有効になっていくようです。 上記の動きは私も把握していなかった為、 取り急ぎ、クライアントの環境に対しては、 データベースのapply_dateを直接操作して対応しようと思います。 (個別税率のレコードのapply_dateに2019-10-01 00:00:01をセットしようと思います)
|
yokos |
投稿日時: 2019/7/16 9:35
対応状況: −−−
|
半人前 登録日: 2019/7/9 居住地: 投稿: 14 |
Re: 個別税率設定で商品単位で税率を登録しても反映されない 468さま
お忙しい中、ありがとうございます。 >個別税率更新日時<共通税率の適用日時順番で… 考えてみればそれが普通かもしれませんね。 データベースのapply_dateを書き換えて対応するか、 順番通り作業を進めることにします。 今回はEC-CUBE3の仕様ということで対応状況を解決済とします。 いろいろとありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |