ec-cube2 icon indicating copy to clipboard operation
ec-cube2 copied to clipboard

order_tax_rule order_tax_rate ってなに?

Open seasoftjapan opened this issue 7 years ago • 9 comments

order_tax_rule で grep すると、どう繋がっているのか分からないソースが釣れる。

data\class\pages\admin\order\LC_Page_Admin_Order_Edit.php(419):         $objFormParam->addParam('課税規則', 'order_tax_rule');
data\class\pages\admin\order\LC_Page_Admin_Order_Edit.php(1101):             $arrAddProductInfo['tax_rule'] = ($objFormParam->getValue('order_tax_rule') == '')
data\class\pages\admin\order\LC_Page_Admin_Order_Edit.php(1103):                 : $objFormParam->getValue('order_tax_rule');
data\class\pages\admin\order\LC_Page_Admin_Order_Edit.php(1290):             $arrAddProductInfo['tax_rule'] = ($objFormParam->getValue('order_tax_rule') == '')
data\class\pages\admin\order\LC_Page_Admin_Order_Edit.php(1292):                 : $objFormParam->getValue('order_tax_rule');
data\Smarty\templates\admin\order\disp.tpl(264):                                 <!--{$arrShipping[$key][$item_index]|sfCalcIncTax:$arrForm.order_tax_rate.value:$arrForm.order_tax_rule.value|n2s}-->円
data\Smarty\templates\default\mypage\history.tpl(185):                                 <!--{$item.price|sfCalcIncTax:$tpl_arrOrderData.order_tax_rate:$tpl_arrOrderData.order_tax_rule|n2s}-->円
data\Smarty\templates\mobile\mypage\history.tpl(107):                 単価:<!--{$item.price|sfCalcIncTax:$tpl_arrOrderData.order_tax_rate:$tpl_arrOrderData.order_tax_rule|n2s}-->円<br>
data\Smarty\templates\sphone\mypage\history.tpl(61):                         <em>単価:&nbsp;</em><!--{$item.price|sfCalcIncTax:$tpl_arrOrderData.order_tax_rate:$tpl_arrOrderData.order_tax_rule|n2s}-->円<br />
tests\class\helper\SC_Helper_Purchase\SC_Helper_Purchase_registerOrderCompleteTest.php(60):       'order_tax_rule' => '1'
tests\class\helper\SC_Helper_Purchase\SC_Helper_Purchase_registerOrderCompleteTest.php(108):       'order_tax_rule' => '1'

dtb_order.order_tax_rule が存在すれば納得できるが、存在しないと思う。

seasoftjapan avatar Apr 02 '18 13:04 seasoftjapan

@seasoftjapan さん 具体的なソースコードの位置を教えていただいてもよろしいでしょうか?

yosshieee avatar Apr 03 '18 06:04 yosshieee

受注明細ごとの課税規則(dtb_order_detail.tax_rule) ですかね

nanasess avatar Apr 27 '18 07:04 nanasess

@t-nagahashi 冒頭のコメントに grep を貼りました。

seasoftjapan avatar Jul 26 '18 02:07 seasoftjapan

@nanasess なるほど。

getValue() している箇所はありますが、setValue() 的な事をどこで行っているのか把握できていない次第です。

どこかで、$x = 'tax_rule' setValue('order_' . $x, foo) 的な、事をやっているんですかね。。。

seasoftjapan avatar Jul 26 '18 02:07 seasoftjapan

明細行毎の課税規則部分なので、なんかこねてると思います。 コード追った方が良いですが動いているなら、そのままでも良いかと思います

so-amuamu avatar Jul 26 '18 02:07 so-amuamu

たしか、何らかの不具合を追跡している際に気づいたのですが、具体的な状況を失念しました。

近くない将来に確認しようと思います。マイルストーンを先送りしたいですが、多分自分のアカウントで操作できない感じです。

seasoftjapan avatar Jul 26 '18 16:07 seasoftjapan

少なくとも history.tpl に関しては、バグと判断しました。

<!--{$item.price|sfCalcIncTax:$tpl_arrOrderData.order_tax_rate:$tpl_arrOrderData.order_tax_rule|n2s}-->円

課税規則を切り上げで設定しても、1円の商品が (2円と表示されるべきですが) 1円と表示されます。

(参考) $item.price → string(1) "1" $tpl_arrOrderData.order_tax_rate → NULL $tpl_arrOrderData.order_tax_rule → NULL

seasoftjapan avatar Apr 15 '19 09:04 seasoftjapan

dtb_order に tax_rule, tax_rate を追加しようとした経緯は見つけました http://svn.ec-cube.net/open_trac/ticket/1730

※dtb_orderにカラム追加するのは、受注管理画面で過去の受注に商品を追加した場合に、受注時の税率で追加できるようにするため。

nanasess avatar Aug 06 '19 09:08 nanasess

2.13.5 のカスタマイズ中に、再び疑問に思い、少し調べたので、メモ。

  • dtb_order.tax_rate、dtb_order.tax_rule は存在しない。
  • SC_Helper_Purchase_registerOrderCompleteTest.php は、それで良いのかも。
  • 「'order_'」や「"order_"」で Grep しても、関与しそうなコード無し。(2.13.5 で確認)
  • e3990a8a68c99f3823da25a8f496adc2e10fcdf8 が関与しているかも。

seasoftjapan avatar Feb 15 '20 16:02 seasoftjapan