व्यवस्थापक संपादित करें आदेश शिपिंग पते को खो देता है


10

ग्राहक अलग शिपिंग / बिलिंग पते के साथ ऑर्डर दर्ज करता है।

अगर हमें व्यवस्थापन में आदेश को संपादित करने की आवश्यकता है, तो यह एक नया क्रम बनाता है, नए क्रम में शिपिंग पता 'बिलिंग के समान' के लिए डिफ़ॉल्ट हो जाता है और मूल शिपिंग पता खो जाता है!

  1. क्या कोई पुष्टि कर सकता है कि उनकी स्थापना समान है।
  2. क्या किसी के पास एक समाधान है।


2
मैं काफी कुछ 1.7 दुकानों को बनाए रखने और उनमें से कोई भी इस राशि
Sander Mangel

@SanderMangel, धन्यवाद। तो अब हमें यह पता लगाने की आवश्यकता है कि यह मेरी स्थापना पर क्यों हो रहा है। कोई सुझाव?
मेंडल

Magento और Apache दोनों अपने लॉग की जाँच करें। अगर यह सब ठीक है, तो ऐप / etc / मॉड्यूल के माध्यम से सभी 3th पार्टी एक्सटेंशन को बंद कर दें, ताकि यह देखा जा सके। कि मदद नहीं करता है तो ... अच्छी तरह से ... तो आप एक बड़ा मुद्दा है
Sander Mangel

@SanderMangel, मैंने सभी 3 पार्टी एक्सटेंशन को अक्षम कर दिया है, इससे कोई फर्क नहीं पड़ा। मैंने अपवाद और सिस्टम लॉग की जाँच की, और मुझे कोई भी त्रुटि दिखाई नहीं देती है जो उस समय के साथ मेल खाती है जब मैंने 'ऑर्डर संपादित' किया था
मेंडेल

जवाबों:


3

मुझे यह समस्या थी। मेरी समस्या यह same_as_billing_addressथी कि फ्रंटएंड के माध्यम से शिपिंग पते पर सेट किया गया था, इसलिए बैकएंड ने सोचा, कोई दूसरा पता नहीं था और रेंडरिंग को छोड़ दिया।

अपने दृश्य को देखें, चाहे वह सही डेटा प्रस्तुत करता हो।


जब ग्राहक ऑर्डर दर्ज करते हैं तो वे इस पते पर जहाज या अलग पते पर जहाज का चयन कर सकते हैं, यदि वे एक अलग पते पर जहाज करना चुनते हैं तो वे शिपिंग पते में प्रवेश कर सकते हैं। जब तक मैं आदेश संपादित नहीं करता, तब तक व्यवस्थापक विक्रय आदेश पृष्ठ दोनों पते दिखाता है। Sales_order_flat तालिका में मुझे एक स्तंभ_____ddress_address नहीं दिखाई देता है, लेकिन मुझे शिपिंग_ड्रेस_आईडी और बिलिंग_ड्रेस_ड दिखाई देते हैं और वे भिन्न हैं। शायद मैं सही जगह नहीं देख रहा हूँ?
मेंडल

मुझे टेबल बिक्री_फ्लैट_क्वाटर_ड्रेस में समान रूप से फ़ील्ड__बिलिंग मिला और यह उन आदेशों के लिए 0 पर सेट है जहां एक ग्राहक ने एक अलग शिपिंग पते में प्रवेश किया।
मेंडल

फिर आपको एक और समस्या है :-(
फैबियन ब्लेसश्मिड

मैंने भी यह जाँच की है, और आपका समाधान मेरे लिए भी लागू नहीं होता है। same_as_billing_addressसही तरीके से सेट किया गया है।
लुई बी।

2

मैं इसे Magento 1.9 पर पुन: पेश नहीं कर सका।

इस रिलीज नोट्स में उल्लेख किया है के लिए कोई बग सुधार नहीं है, फिर भी मैं में निम्नलिखित पाया 1.8.0.0 रिलीज नोट्स :

प्रशासनिक आदेश और क्रेडिट मेमो फिक्स

  • जब आप व्यवस्थापक पैनल का उपयोग करके एक आदेश बनाते हैं और आपने एक डिफ़ॉल्ट बिलिंग पते और एक डिफ़ॉल्ट शिपिंग पते को निर्दिष्ट किया है, तो पते सही तरीके से उपयोग किए जाते हैं।

संभवतः यह संबंधित है और बग को भी ठीक कर दिया है। रिलीज नोट हमेशा पूरे नहीं होते हैं।


1

मुझे नवीनतम Magento 1.9.2.4 और 2.0.5 में एक ही मुद्दे का सामना करना पड़ा है।

परिदृश्य:

  1. अतिथि एक आदेश देता है
  2. ऑर्डर में अलग-अलग बिलिंग और शिपिंग पते हैं
  3. व्यवस्थापन व्यवस्थापक पैनल में आदेश संपादित करता है

परिणाम: शिपिंग पता खो गया है और इसके बजाय बिलिंग पता दिखाया गया है।

कारण: _isSameAsBilling () विधि हमेशा रिटर्न सच अगर आदेश में एक अतिथि द्वारा रखा गया था। यह उचित व्यवहार नहीं है।

प्रश्न में विधि:

Magento 2.0.5: /app/code/Magento/Quote/Model/Quote/Address.php

protected function _isSameAsBilling()
    {
        return $this->getAddressType() == \Magento\Quote\Model\Quote\Address::TYPE_SHIPPING &&
            ($this->_isNotRegisteredCustomer() ||
            $this->_isDefaultShippingNullOrSameAsBillingAddress());
    }

Magento 1.9.2.4: /app/code/core/Mage/Sales/Model/Quote/Address.bp

protected function _isSameAsBilling()
    {
        return ($this->getAddressType() == Mage_Sales_Model_Quote_Address::TYPE_SHIPPING
            && ($this->_isNotRegisteredCustomer() || $this->_isDefaultShippingNullOrSameAsBillingAddress()));
    }

जैसा कि आप देख सकते हैं कि ग्राहक पंजीकृत नहीं है तो _isSameAsBilling () विधि तब भी सही है , जब बिलिंग और शिपिंग पते भिन्न हों।

मूल शिपिंग पते खो जाने के रूप में व्यवस्थापक पैनल के माध्यम से संपादित सभी आदेशों पर इसके गंभीर निहितार्थ हैं।

क्या यह बग है या मैं कुछ भूल गया हूं?


1

मैगेंटो 1.7 के साथ भी यही समस्या थी और इस बदलाव के साथ यह सही है: ऐप / कोड / कोर / मैज / एडमिनिस्ट्रेटर / मॉडल / सेल्स / ऑर्डर / क्रिएट / एफपी।

आपको एक साफ तरीके से कक्षा को अधिलेखित करने की आवश्यकता है :)

विधि बदलें: इस कोड के साथ _initShippingAddressFromOrder:

protected function _initShippingAddressFromOrder(Mage_Sales_Model_Order $order)
{
    $this->getQuote()->getShippingAddress()->setCustomerAddressId('');
    Mage::helper('core')->copyFieldset(
        'sales_copy_order_shipping_address',
        'to_order',
        $order->getShippingAddress(),
        $this->getQuote()->getShippingAddress()
    );
    $this->getQuote()->getShippingAddress()->setSameAsBilling(false);
    if($order->getShippingAddress()->getCustomerAddressId() && $order->getShippingAddress()->getCustomerAddressId() == $order->getBillingAddress()->getCustomerAddressId()) {
        $this->getQuote()->getShippingAddress()->setSameAsBilling(true);
    }
}

धन्यवाद, कि मैगेंटो इंस्टॉलेशन कई अपडेट और एक्सटेंशन के माध्यम से चला गया है और मैं अब समस्या को पुन: उत्पन्न नहीं कर सकता, इसलिए मैं आपके फिक्स का परीक्षण नहीं कर सकता।
मेंडल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.