Prestashop 1.7.6.3以错误的方式计算税收

问题描述 投票:1回答:1

prestashop 1.7.6.3中,税额计算错误。我需要从具有折扣的基本价格中得出的单价四舍五入。现在,价格和总计(不含税)都可以,但价格和总计(含税)不适合该路由。我该如何取整?我试过了在product.php中

$specific_price_reduction = 0;
    if (($only_reduc || $use_reduc) && $specific_price) {
        if ($specific_price['reduction_type'] == 'amount') {
            $reduction_amount = $specific_price['reduction'];

            if (!$specific_price['id_currency']) {
                $reduction_amount = Tools::convertPrice($reduction_amount, $id_currency);
            }

            $specific_price_reduction = $reduction_amount;

            // Adjust taxes if required

            if (!$use_tax && $specific_price['reduction_tax']) {
                $specific_price_reduction = $product_tax_calculator->removeTaxes($specific_price_reduction);
            }
            if ($use_tax && !$specific_price['reduction_tax']) {
                $specific_price_reduction = $product_tax_calculator->addTaxes($specific_price_reduction);
            }
        } else {
            $specific_price_reduction = $price * $specific_price['reduction'];
        }
    }

    if ($use_reduc) {
        $price -= $specific_price_reduction;
    }

    // Group reduction
    if ($use_group_reduction) {
        $reduction_from_category = GroupReduction::getValueForProduct($id_product, $id_group);
        if ($reduction_from_category !== false) {
            $group_reduction = $price * (float) $reduction_from_category;
        } else { // apply group reduction if there is no group reduction for this category
            $group_reduction = (($reduc = Group::getReductionByIdGroup($id_group)) != 0) ? ($price * $reduc / 100) : 0;
        }

        $price -= $group_reduction;
    }

我检查了classes/cart.phpclasses/cartrule.php和其他几个文件,但也没有帮助我。

prestashop prestashop-1.7
1个回答
0
投票

在config / config.inc.php第134行中,您可以更改2个有关价格精度的常数。

define('_PS_PRICE_DISPLAY_PRECISION_', 5);
define('_PS_PRICE_COMPUTE_PRECISION_', 5);

注意:我以身作则5

© www.soinside.com 2019 - 2024. All rights reserved.