我试图了解magento sales_flat_order表中存在的不同列的使用情况。 这是我到目前为止所得到的......
用于确保正在加载的订单对于guest虚拟机的cookie值是正确的,但不确定magento为甚至已登录的用户设置此字段的原因。 magento table "sales_flat_order" field "protect_code" explanation
discount_canceled,discount_invoiced,discount_refunded
shipping_amount,shipping_canceled,shipping_invoiced,shipping_refunded
shipping_tax_amount,shipping_tax_refunded
subtotal_canceled .....
然后再次为base_discount_canceled重复...
我已经知道基地的所有东西都与基础货币有关,而另一个与商店货币有关..
无法理解需要这么多列 discount_canceled,discount_invoiced,discount_refunded Magento可以发放部分退款,因此可以理解退款..
但是对于发票,取消它只能有一个字段
eg. invoice = true and use grandtotal, basegrandtotal fields ..
如果这是一个设计问题而不是为什么即使在magento 2中也存在这个问题? 如果我错过了需要这个的magento的一些功能,那么我更感兴趣的是了解它..
我在app / code / core / Mage / Adminhtml / Model / Sales / Order / Create.php中找到了这个
public function createOrder()
..
..
$oldOrder = $this->getSession()->getOrder();
$originalId = $oldOrder->getOriginalIncrementId();
if (!$originalId) {
$originalId = $oldOrder->getIncrementId();
}
$orderData = array(
'original_increment_id' => $originalId,
'relation_parent_id' => $oldOrder->getId(),
'relation_parent_real_id' => $oldOrder->getIncrementId(),
'edit_increment' => $oldOrder->getEditIncrement()+1,
'increment_id' => $originalId.'-'.($oldOrder->getEditIncrement()+1)
);
..
..
$this->getSession()->getOrder()->setRelationChildId($order->getId());
$this->getSession()->getOrder()->setRelationChildRealId($order->getIncrementId());
但我不确定,这个代码执行的条件是什么
数据库中的一些旧订单将edit_increment设为1 ....
其他几个领域......
adjustment_negative,adjustment_positive,ext_customer_id,ext_order_id
P.S-使用magento enterprise ..