В чем разница между промежуточным итогом и базовым итогом? - PullRequest
9 голосов
/ 14 марта 2012

Magento имеет богатый модуль продаж с кучей опций, и он хорошо документирован для вещей высокого уровня, но я застрял, когда дело доходит до тонких различий.Я пытаюсь собрать какое-то программное обеспечение для анализа заказов, но мне не удалось точно выяснить, как отличаются промежуточные итоги и baseSubtotal для заказов Magento, а также я не смог найти документацию API с таким уровнем детализации.

Единственное, что мне удалось найти, это в исходном коде на app/code/core/Mage/Sales/Model, но, похоже, это указывает на то, что значения всегда одинаковы.

Order/Creditmemo/Total/Subtotal.php:        $creditmemo->setSubtotal($subtotal);
Order/Creditmemo/Total/Subtotal.php:        $creditmemo->setBaseSubtotal($baseSubtotal);
Order/Invoice/Total/Subtotal.php:        $invoice->setSubtotal($subtotal);
Order/Invoice/Total/Subtotal.php:        $invoice->setBaseSubtotal($baseSubtotal);
Quote.php:        $this->setSubtotal(0);
Quote.php:        $this->setBaseSubtotal(0);
Quote.php:            $address->setSubtotal(0);
Quote.php:            $address->setBaseSubtotal(0);
Quote.php:            $this->setSubtotal((float) $this->getSubtotal() + $address->getSubtotal());
Quote.php:            $this->setBaseSubtotal((float) $this->getBaseSubtotal() + $address->getBaseSubtotal());
Recurring/Profile.php:            ->setBaseSubtotal($billingAmount)
Recurring/Profile.php:            ->setSubtotal($billingAmount)

Отличаются ли они когда-либо,и если да, то как?

1 Ответ

30 голосов
/ 14 марта 2012

разница в том, что Subtotal - это промежуточный итог в валюте клиента, а BaseSubtotal - это промежуточный итог в базовой валюте вашего магазина.
Таким образом, если в вашем магазине установлены евро и доллары, доллар является базовой валютой, когда один из ваших европейских клиентов разместит заказ, скажем, 100 €, Subtotal будет 100,0000 и BaseSubtotal будет 150,0000 (для этого пример 1 € == 1,5 $)
НТН

...