バージョン選択

フォーラム

メニュー

オンライン状況

83 人のユーザが現在オンラインです。 (69 人のユーザが フォーラム を参照しています。)
登録ユーザ: 1
ゲスト: 82
ion123 もっと...

サイト内検索

バグ報告 > 管理機能 > v2.13.0 管理画面:受注変更画面の商品新規追加で税率がコピーされていない。

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
sumida
投稿日時: 2013/10/7 23:21
対応状況: −−−
仙人
登録日: 2013/2/10
居住地: 広島県呉市ときどき瀬戸内海
投稿: 641
v2.13.0 管理画面:受注変更画面の商品新規追加で税率がコピーされていない。
data/class/pages/admin/order/LC_Page_Admin_Order_edit.php

            //届け先に選択商品がない場合
            $objProduct = new SC_Product_Ex();
            $arrAddProductInfo = $objProduct->getDetailAndProductsClass($add_product_class_id);

            $arrShipmentProducts['shipment_product_class_id'][$select_shipping_id][] = $add_product_class_id;
            $arrShipmentProducts['shipment_product_code'][$select_shipping_id][]     = $arrAddProductInfo['product_code'];
            $arrShipmentProducts['shipment_product_name'][$select_shipping_id][]     = $arrAddProductInfo['name'];
            $arrShipmentProducts['shipment_price'][$select_shipping_id][]            = $arrAddProductInfo['price02'];
            $arrShipmentProducts['shipment_quantity'][$select_shipping_id][]         = 1;

            //受注商品情報に追加
            $arrPreProductClassIds = $objFormParam->getValue('product_class_id');
            $arrProducts = $this->checkInsertOrderProducts($objFormParam, $arrPreProductClassIds, $add_product_class_id, $arrAddProductInfo);
            $objFormParam->setParam($arrProducts);

税率をコピーしていない。
sumida
投稿日時: 2014/1/12 19:16
対応状況: −−−
仙人
登録日: 2013/2/10
居住地: 広島県呉市ときどき瀬戸内海
投稿: 641
Re: v2.13.0 管理画面:受注変更画面の商品新規追加で税率がコピーされていない。
data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php

    public function checkInsertOrderProducts(&$objFormParam, $arrProductClassIds, $insert_product_class_id, $arrAddProductInfo)
    {
        if(!$arrProductClassIds || !in_array($insert_product_class_id, $arrProductClassIds)){
            $arrAddProducts = array();

            $arrAddProductInfo['product_name'] = ($arrAddProductInfo['product_name'])?
                                                 $arrAddProductInfo['product_name']:$arrAddProductInfo['name'];
            $arrAddProductInfo['price']        = ($arrAddProductInfo['price'])?
                                                 $arrAddProductInfo['price']:$arrAddProductInfo['price02'];
            $arrAddProductInfo['quantity']     = 1;
            $arrAddProductInfo['tax_rate']     = ($objFormParam->getValue('order_tax_rate') == '')?
                                                 $this->arrInfo['tax']     :$objFormParam->getValue('order_tax_rate');
            $arrAddProductInfo['tax_rule']     = ($objFormParam->getValue('order_tax_rule') == '')?
                                                 $this->arrInfo['tax_rule']:$objFormParam->getValue('order_tax_rule');
            foreach ($this->arrProductKeys as $insert_key) {
                $value = $objFormParam->getValue($insert_key);
                $arrAddProducts[$insert_key]   = (is_array($value))? $value: array();
                $arrAddProducts[$insert_key][] = $arrAddProductInfo[$insert_key];
            }

            return $arrAddProducts;
        } else {
            //受注商品の数量は、複数配送側の集計で出しているので、重複しても数量を増やさない。
            return null;
        }
    }

ここで、税率をコピーしようとしているようなのですが、
・order_tax_rate, order_tax_rule がテンプレートにない?
・$this->arrInfo['tax'], $this->arrInfo['tax_rule'] がない?
  ($this->arrInfo = SC_Helper_DB_Ex::sfGetBasisData();で取得しているので、arrInfoにない。
その結果、税率が空になっているのでは。
red
投稿日時: 2014/1/12 20:15
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1568
Re: v2.13.0 管理画面:受注変更画面の商品新規追加で税率がコピーされていない。
チケット登録しておきました
http://svn.ec-cube.net/open_trac/ticket/2489


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

sumida
投稿日時: 2014/1/12 20:34
対応状況: −−−
仙人
登録日: 2013/2/10
居住地: 広島県呉市ときどき瀬戸内海
投稿: 641
Re: v2.13.0 管理画面:受注変更画面の商品新規追加で税率がコピーされていない。
すでに、チケット#2430に登録されています。
sumida
投稿日時: 2014/1/13 20:26
対応状況: −−−
仙人
登録日: 2013/2/10
居住地: 広島県呉市ときどき瀬戸内海
投稿: 641
Re: v2.13.0 管理画面:受注変更画面の商品新規追加で税率がコピーされていない。
修正案です。こんな感じかな。
data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php

    public function checkInsertOrderProducts(&$objFormParam, $arrProductClassIds, $insert_product_class_id, $arrAddProductInfo)
    {
        if(!$arrProductClassIds || !in_array($insert_product_class_id, $arrProductClassIds)){
// added
            $objTaxRule = new SC_Helper_TaxRule_Ex();
            $arrTax = $objTaxRule->getTaxRule(0, $insert_product_class_id, 0, 0);
// added
            $arrAddProducts = array();

            $arrAddProductInfo['product_name'] = ($arrAddProductInfo['product_name'])?
                                                 $arrAddProductInfo['product_name']:$arrAddProductInfo['name'];
            $arrAddProductInfo['price']        = ($arrAddProductInfo['price'])?
                                                 $arrAddProductInfo['price']:$arrAddProductInfo['price02'];
            $arrAddProductInfo['quantity']     = 1;
/* changed
            $arrAddProductInfo['tax_rate']     = ($objFormParam->getValue('order_tax_rate') == '')?
                                                 $this->arrInfo['tax']     :$objFormParam->getValue('order_tax_rate');
            $arrAddProductInfo['tax_rule']     = ($objFormParam->getValue('order_tax_rule') == '')?
                                                 $this->arrInfo['tax_rule']:$objFormParam->getValue('order_tax_rule');
changed */
            $order_tax_rate = $objFormParam->getValue('tax_rate');
            $arrAddProductInfo['tax_rate']     = ($order_tax_rate[0] == '')?
                                                 $arrTax['tax_rate']:$order_tax_rate[0];
            $order_tax_rule = $objFormParam->getValue('tax_rule');
            $arrAddProductInfo['tax_rule']     = ($order_tax_rule[0] == '')?
                                                 $arrTax['tax_rule']:$order_tax_rule[0];
/* chenged */
            foreach ($this->arrProductKeys as $insert_key) {
                $value = $objFormParam->getValue($insert_key);
                $arrAddProducts[$insert_key]   = (is_array($value))? $value: array();
                $arrAddProducts[$insert_key][] = $arrAddProductInfo[$insert_key];
            }

            return $arrAddProducts;
        } else {
            //受注商品の数量は、複数配送側の集計で出しているので、重複しても数量を増やさない。
            return null;
        }
    }
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,295名です
総投稿数は109,692件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.