ম্যাজেন্টো অর্ডার নম্বর ইস্যু


9

আমি ম্যাজেন্টোতে অর্ডার নম্বর নিয়ে একটি অদ্ভুত সমস্যা পেয়েছি।

সম্প্রতি যখন কেউ অর্ডার আমার ওয়েবসাইটে স্থাপন করা হয় অর্ডারে নম্বর এসেছিলেন 100000350, মূলত এটা হওয়া উচিত ছিল 100000370আমার পূর্ববর্তী আদেশ নম্বর ছিল 100000369এবং 100000367। আমি এটির জন্য নীচে স্ক্রিনশট সংযুক্ত করেছি

অর্ডার নম্বর স্ক্রিনশট

তদ্ব্যতীত, আমি ত্রুটি লগগুলি পরীক্ষা করে দেখেছি তবে এটির কোনও প্রবেশদ্বার খুঁজে পাইনি। আমরা সেজেপেই এবং পেপালকে এর পেমেন্ট গেটওয়ে হিসাবে ব্যবহার করছি।

কেউ কি আমাকে এ সম্পর্কে গাইড করতে পারেন?


আমি স্পষ্ট দেখতে পাচ্ছি যে আপনি অর্ডার তহাতের সাথে সম্পর্কিত যে কোনও মডিউল ইনস্টল করেছেন এটি একটি সমস্যা তৈরি করবে,
কীউল শাহ

অর্ডার সম্পর্কিত কোনও মডিউল নেই .. আমরা কেবলমাত্র তৃতীয় পক্ষের মডিউলটি ব্যবহার করছি তারা হলেন এবিমার্টস_পেজ, ম্যাস_প্রডাক্ট_রেলেটার, টিবিT_এনহানসগ্রিড এবং স্পিনিক্স অনুসন্ধান
ডেক্সটার

1
কোনও বড় সমস্যা নেই, গ্রাহক অ্যাকাউন্ট সহ যে কেউ পেমেন্টের জন্য জমা দেওয়া পয়েন্টে প্রায় অর্ডারটি সম্পন্ন করেছে, বিক্রয় আদেশের নম্বর অর্পণ করা হয়েছে এবং পরে কিছু সময়ের জন্য কার্টটি ত্যাগ করে। সর্বদা ঘটে ... আপনি বিসর্জনের পরিবর্তে আদেশ পেয়েছেন, অভিনন্দন, অর্ডারটি পেয়েছেন।
ফায়াসকো ল্যাবগুলি

আমি মনে করি আপনি আমার প্রশ্নটি পাননি
ডেক্সটার

1
@ হুজিফাম - দয়া করে এটি ম্যাজেন্টো ডিজাইন দলের সাথে গ্রহণ করুন, বা আপনার নিজের সিরিয়াল স্বয়ম্ভর কলাম তৈরি করুন যা আপনি আপনার ইআরপি-র জন্য সম্পন্ন ম্যাজেন্টো এসও-তে বন্ধ করে দিন। হ্যাঁ, আমি যদি অডিটিং দৃষ্টিকোণ থেকে বুঝতে পারি যে যদি চালানের নম্বরগুলি অনুপস্থিত থাকে, তবে সেখানে হ্যাঙ্কি-প্যাঙ্কি রয়েছে। ম্যাজেন্টো এই অবস্থানটি গ্রহণ করেছে বলে মনে হচ্ছে যে সমস্ত আদেশই বৈধ নয়, সুতরাং এসও নম্বর হারিয়ে যাওয়া কোনও বড় বিষয় নয়। আমি আরও বুঝতে পারি যে কিছু অ্যাকাউন্টিং সিস্টেমগুলি, সরকারী এখতিয়ারগুলি বিক্রয় আদেশগুলি সম্পর্কে একইভাবে অনুভূত হয় এবং একটি অডিট ট্রেইল প্রত্যাশা করে যা সম্পূর্ণ ক্রমিক ক্রম অনুসারে অদৃশ্য আদেশগুলি প্রদর্শন করে।
ফায়াসকো ল্যাবগুলি

উত্তর:


28

আমি প্রথমবারের মতো সিকোয়েন্স নম্বর পেয়েছি, কী ঘটছে তা বুঝতে না পেরে আমাদের অবাক করে দিয়ে কিছুটা হতাশ হয়েছিল। এটি কীভাবে ম্যাগেন্টো বিক্রয় অর্ডার নম্বর বরাদ্দ করে তা নিয়ে।

এটির মতো ক্রমানুসারে বাইরে থাকা পুরোপুরি স্বাভাবিক, বর্তমান বরাদ্দ সংখ্যার চেয়ে আগের এবং এক মাস বা তারও বেশি পুরানো। এটির গোপনীয়তা হ'ল এটি কোনও লগইন গ্রাহক যিনি নির্দিষ্ট জটিল পর্যায়ে অর্ডারটি সম্পন্ন করেননি, ফিরে এসে লগইন করেছেন এবং শেষ পর্যন্ত কেনার সিদ্ধান্ত নিয়েছিলেন।

বরাদ্দকৃত বিক্রয় অর্ডার নম্বর সহ উক্তিটি বিক্রয় আদেশ নম্বরটির জন্য সেই সংখ্যাটি ব্যবহার করে।

এখন ব্যাখ্যা জন্য।

ম্যাজেন্টো অর্ডার প্রক্রিয়াটি প্রথমবার কার্টে কিছু যুক্ত হওয়ার পরে একটি উদ্ধৃতি তৈরি করে।

  • অতিথি গ্রাহকদের জন্য, এই অধিবেশনটি ততক্ষণ স্থায়ী হয় যতক্ষণ না তাদের অধিবেশনটির সময়সীমা শেষ হয় নি, যে সময়ে এটি ডাটাবেসে উপস্থিত থাকে, তবে অতিথি গ্রাহকের দ্বারা পুনরুদ্ধারযোগ্য নয়।
  • যখন কোনও নিবন্ধিত গ্রাহক লগ ইন করে, কার্টের উদ্ধৃতিটি তাদের গ্রাহকের আইডি অর্পণ করে যাতে গ্রাহকটি খালি না করে যতক্ষণ না খালি থাকে এবং নিবন্ধিত গ্রাহক তাদের অ্যাকাউন্টে লগইন করে পুনরুদ্ধারযোগ্য হয়।

এই মুহুর্তে, উদ্ধৃতিটি কেবলমাত্র একটি সম্ভাব্য বিক্রয় আদেশ । এটির কোনও নির্ধারিত নম্বর নেই কারণ গ্রাহক এটির জন্য অর্থ প্রদানের প্রতিশ্রুতিবদ্ধ হয়নি।

গ্রাহক চেকআউট করার জন্য প্রসেস বাটন ক্লিক করার সাথে সাথে তারা করবে:

  • হয় কার্ট শুরু করতে লগইন করুন
  • অথবা লগ ইন না হলে, তারা নিবন্ধিত করতে চান বা অতিথি হিসাবে চেক আউট করতে চান কিনা তা জিজ্ঞাসা করুন।

নিম্নলিখিতটি একটি গুরুত্বপূর্ণ বিট: গ্রাহকরা যারা কার্টে নিবন্ধকরণ করতে পছন্দ করেন তাদের অর্ডার শেষ হওয়া অবধি অতিথি গ্রাহক হিসাবে বিবেচনা করা হবে এবং তারা সাফল্যের পৃষ্ঠায় পৌঁছে যাবে, সেই সময়ে তাদের অ্যাকাউন্ট তৈরি করা হয়েছে এবং তারা লগ ইন করেছেন The অর্ডারটি সম্পন্ন না হলে এবং একটি সাফল্য পৃষ্ঠা প্রদর্শিত হলে সেশনের সময়সীমা হ্রাসের সাথে অতিথি গ্রাহকের উক্তিটি রয়ে গেছে ।

ক্রেডিট কার্ড অর্ডার সহ, প্লেস অর্ডার বোতামটি ক্লিক করা হলে নিম্নলিখিতটি ঘটে থাকে ।

  • ক্রেডিট কার্ডের তথ্য, বিলিং ঠিকানার তথ্য, কার্টের মোট পরিমাণ এবং অর্ডার সম্পর্কিত তথ্য একত্রিত করা হয়
  • এই উদ্ধৃতিটির জন্য একটি বিক্রয় অর্ডার নম্বর বরাদ্দ করা হয়েছে ( কলামে sales_flat_quoteসারণী reserved_order_id)
  • আদেশের জন্য অর্থ প্রদানের জন্য তহবিলকে অনুমোদন / ক্যাপচার করার জন্য ডেটা প্যাকেজ ক্রেডিট কার্ড গেটওয়েতে জমা দেওয়া হয়।
  • ক্রেডিট কার্ট প্রসেসর ফিরে যায়:
    • হয় কোনও অনুমোদন / উপযুক্ত লেনদেন তথ্য রেকর্ড করতে তহবিল ক্যাপচার
    • বা কেন অনুমোদন / ক্যাপচার অস্বীকার করা হয়েছিল তা যথাযথ তথ্যের সাথে অর্থ প্রদানের প্রত্যাখ্যান
  • একটি সফল অনুমোদন / ক্যাপচারের সাথে, উদ্ধৃতিটি বিক্রয় অর্ডারে রূপান্তরিত হয় এবং এটি যদি কার্টের নিবন্ধ হয় তবে গ্রাহক অ্যাকাউন্ট তৈরি হয়।

ক্রেডিট কার্ড পেমেন্ট গেটওয়ে দ্বারা যদি কোনও গ্রাহকের জন্য ক্রেডিট কার্ডের লেনদেন অস্বীকার করা হয় এবং পরবর্তী গ্রাহক একটি সফল অর্ডার দেয় সেখানে অস্বীকৃত অর্থ প্রদানের কারণে বিক্রয় অর্ডারটি একটি সংরক্ষিত বিক্রয় অর্ডার নম্বর নির্ধারিত হওয়ার কারণে বিক্রয় আদেশ নম্বর ক্রমটি এড়িয়ে যায় will এবং নিম্নলিখিত সফল বিক্রয় আদেশ অর্ডার করা হয় পরবর্তী উপলব্ধ নম্বর।

সেশনের সময়সীমা অতিক্রমকারী অতিথি কার্টের (গার্ডের অর্ডার এবং কার্ট গ্রাহকদের ক্ষেত্রে ব্যর্থ রেজিস্ট্রার) জন্য, সেশনটির মেয়াদ শেষ হয়ে গেলে বিক্রয় আদেশ ক্রমের ফাঁক রেখে এই সংরক্ষিত বিক্রয় আদেশ নম্বরটি হারিয়ে যাবে ।

প্রোসিড বাটনে ক্লিক করার আগে লগইন করা গ্রাহকদের জন্য , উক্তিটি একটি গ্রাহক আইডি বরাদ্দ করা হয়েছে, সুতরাং যদি তারা কোনও অর্ডার দেওয়ার চেষ্টা করে এবং এটি প্রত্যাখ্যানিত হয় তবে তারা ফিরে আসতে পারে, লগ ইন করতে পারে, কার্টটিতে এখনও সামগ্রী রয়েছে এবং জায়গাটি রাখতে পারে অর্ডার, কখনও কখনও পরে (দীর্ঘতম তারিখটি চার মাস ছিল)। উক্তিটি নির্ধারিত সংরক্ষিত বিক্রয় অর্ডার নম্বর ব্যবহার করবে, যা আপনার বিক্রয় আদেশ পরিচালন প্রদর্শনটিতে প্রদর্শিত ক্রম বিক্রয় অর্ডার নম্বর থেকে বেরিয়ে আসবে


পরীক্ষার উদ্দেশ্যে, আমি অর্থপ্রদানের পদ্ধতিটি নির্বাচন না করে এবং অবশেষে ব্রাউজারটি বন্ধ করে (কম্পিউটারে যে সাইটটি প্রথমে + চেকআউট খুলেছে) বন্ধ করে চেকআউটে আটকা পড়ার ভান করেছিলাম। এবং ইতিমধ্যে দ্বিতীয় কম্পিউটার অর্ডার শেষ (যা পরবর্তী আইডি বৃদ্ধি পেতে হবে)। ফলাফলটি এটি সংখ্যার উপরে ঝাঁপ দেয় না। যদি এটি সেভাবে কাজ করে তবে এটি আদেশ 10 এবং অর্ডার 11 এর মধ্যে একটি অব্যবহৃত আইডি যুক্ত করতে পারে যা এটি করেনি। আপনার তথ্য অনুসারে, আপনি যা নির্দিষ্ট করে দিচ্ছেন তা যাচাই করে নেওয়ার চেষ্টা করেছি তবে এটি আউটপুট দিচ্ছে না।
শিভা

পরিবর্তে যদি কোনও গ্রাহক পেমেন্ট গেটওয়েতে ব্যর্থ হয় তবে এটি মুলতুবি অর্থ প্রদান বা বাতিল হিসাবে প্রদর্শিত হবে এবং যদি চেকআউটটির শেষ অংশে অর্ডার ব্যর্থ হয় তবে এটি কিছুতেই দেখাবে না (এবং কেবলমাত্র সঠিক আইডি দিয়ে চালিয়ে যান ক্রম). তাই এখন, আমি এটি নিয়ে বিভ্রান্ত হয়ে পড়েছি। কেন অর্ডার নম্বর এলোমেলোভাবে এড়িয়ে যায় তা বুঝতে দয়া করে আমাকে সহায়তা করুন। ধন্যবাদ
শিভা

দুর্দান্ত ব্যাখ্যা
ওল্ফ্যাক 18

2

আমি একই সমস্যার মুখোমুখি হয়েছি কিন্তু এটি তখনই যখন সার্ভারটি প্রচুর পরিমাণে বোঝা চাপায়। এই সমস্যাটি ঘটে কারণ ডিবি লক অবস্থায় চলে যায় যখন উদ্ধৃতিটিকে ক্রমে রূপান্তরিত করে। আরও পরিদর্শন করার পরে, আমি জানতে পেরেছি যে সমস্যাটি হ'ল বিক্রয়_ফ্ল্যাট_র্ডার টেবিলটি transactionোকানোর পরে ঠিকই লেনদেনের মধ্যে বিক্রয়_ফ্ল্যাট_র্ডার_গ্রিড টেবিলটিতে লেখার চেষ্টা করেছিল। একযোগে প্রশ্নের সাথে এটি লকিংয়ের সংঘর্ষের কারণ ঘটেছে। আসল সমাধানটি হ'ল বিক্রয়_ফ্ল্যাট_র্ডার_গ্রিডের জিনিসগুলি লেনদেনের বাইরে সরিয়ে নেওয়া।

লিঙ্কটি আমাকে বিষয়টি বুঝতে সহায়তা করেছে

প্যাচটি আমার জন্য সমস্যাটি সমাধান করেছে।

আপনাকে Mage_Sales_Model_Abstract থেকে _ ক্রিয়াকলাপটি সংরক্ষণ করতে হবে এবং যুক্ত করতে হবে

public function afterCommitCallback(){
    if (!$this->getForceUpdateGridRecords()) {
         $this->_getResource()->updateGridRecords($this->getId());
     }
    parent::afterCommitCallback();
}

এটি যদি আপনার সমস্যার সমাধান করে তবে আমাকে জানান।


শাইলির কথা মতো কেউ কি এই পদ্ধতিটি ব্যবহার করে দেখেছেন ?
শিভা

0

আমি নিশ্চিত নই, তবে এটি আপনার সমস্যার সমাধান করতে পারে:

আমি যতদূর মনে করি, কিছু সম্ভবত আপনার eav_entity_storeটেবিলকে বিরক্ত করেছে । এটিতে পরবর্তী ইনক্রিমেন্ট_আইডি অর্থাৎ অর্ডার_আইডি ব্যবহারের তথ্য রয়েছে। আপনার ম্যাজেন্টো সিস্টেমে কিছু মডিউল বা কোড হতে পারে এটি পরিবর্তন করেছে।

এই টেবিলটি খুলুন এবং আপনার শেষ অর্ডার আইডি দিয়ে ইনক্রিমেন্ট_স্ট_আইডি কলম্বন আপডেট করুন। সতর্কতা অবলম্বন করুন, এতে অন্যের ইনক্রিমেন্ট আইডির পাশাপাশি চালান, চালান ইত্যাদি রয়েছে তা নিশ্চিত হওয়ার জন্য, কেবল eav_entity_typesটেবিলে যান এবং দেখুন (কলাম ) এর entity_type_idজন্য কী । আমার ম্যাজেন্টোতে, এর ৫. সুতরাং এখন টেবিলের কাছে যান এবং কেবল যার সারির 5 এর জন্য ইনক্রিমেন্ট_আইডি আপডেট করুন Yousales/orderentity_modeleav_entity_storeentity_type_id

update eav_entity_store set increment_last_id = 'your_last_order_id' where entity_type_id = 5; 

অর্ডার করার জন্য দয়া করে নোট 5টি আমার ম্যাজেন্টোতে সত্তা_প্রকার_আইডি

আপনার সমস্যার জন্য অনেকগুলি কারণ থাকতে পারে, তবে আমি মনে করি এটি আপনার সমস্যাটি সমাধান করতে পারে।


ধন্যবাদ .. তবে ইতিমধ্যে টেবিলটি চেক করা হয়েছে এবং এতে সঠিক বর্ধিত আইডি রয়েছে
ডেক্সটার

অ্যাডমিন বিক্রয় -> অর্ডারগুলিতে আপনার সর্বোচ্চ (সর্বশেষ নয়) অর্ডার আইডি কী? টেবিলে আমি সেই মানটি রেখে দিয়েছি .. একটি পরীক্ষার অর্ডার রাখুন এবং চেক করুন ..
প্রদীপ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.