ম্যাজেন্টো 2 - ডিফল্ট অর্ডার আইডি পরিবর্তন করার সঠিক উপায় কী?


29

ম্যাজেন্টো ২. নতুন করে ইনস্টল করার পরে নতুন অর্ডার আইডি 100000001, 100000002 ইত্যাদি হবে।

সেই ইনক্রিমেন্ট আইডি পরিবর্তন করার সঠিক উপায় কী তাই এটি একটি উচ্চতর নম্বর হবে? উদাহরণস্বরূপ 155555552, 155555553 এবং আরও অনেক কিছু। পরিবর্তিত হলে এটি আরও ভাল দেখায়।

ম্যাজেন্টো 1.9 এ অর্ডার, চালান বা চালানের জন্য ডিফল্ট আইডি সম্পাদনা করতে আমাদের "eav_entity_store" ডাটাবেসে মান পরিবর্তন করতে হয়েছিল।

ম্যাজেন্টো 2 দেখতে অন্যরকম দেখাচ্ছে ...

আমি জানি কিছু প্লাগইন রয়েছে যা এটি করার প্রস্তাব দেয় তবে আমি কীভাবে এটি ম্যানুয়ালি করব তা জানতে চাই।


দয়া করে এখানে আমার প্রশ্নটি দেখুন: magento.stackexchange.com/questions/279454/… শিপ ওয়ার্কস (এবং অন্যান্য) increment_idতারা যেমন ভাবেন ঠিক তেমন ব্যবহার করছেন না ।
ক্রিস কে

উত্তর:


31
  1. আপনার পিএইচপি অ্যাডমিন ডাটাবেস খুলুন (আমি পিএইচপি 7 এ পরীক্ষা করেছি)
  2. সারণি নামক টেবিলে সন্ধান করুন এবং ক্লিক করুন:
  3. "অপারেশনস" ট্যাবে ক্লিক করুন এবং "আউটপুট ক্রিমেন্ট" এর আওতায় কাঙ্ক্ষিত অর্ডার নম্বরটিতে ক্লিক করুন।

আমি 100500400 নম্বরটি AUTO_INCREMENT ক্ষেত্রে রেখেছি, "চালিয়ে যান" ক্লিক করুন। তারপরে আমি একটি পরীক্ষা কিনেছি তবে অর্ডার আইডি এখনও 000000013, 00000014 ...
লুইস গার্সিয়া

1
আমি সিকোয়েন্স_র্ডার_1 পেয়েছি এবং অপারেশন ট্যাবে অটো_সংশোধনের মান 5 হয় তাই সঠিক মানটি কী?
আহমদ

1) কোনও পরিবর্তন করার আগে আপনার ডাটাবেসটির ব্যাক আপ দিন। 2) 5 এর পরিবর্তে আপনি মান আপনি আপনার অর্ডার আইডির জন্য চান সেট, উদাহরণস্বরূপ 1035327500. আপনার পরবর্তী অর্ডার 1035327501 হওয়া উচিত
মার্ক

আমরা কোন ম্যাজেন্টো সংস্করণ সম্পর্কে কথা বলছি?
ফেলিক্স

@ ফেলিক্স এটি ম্যাজেন্টো 2
কিশান পাতাদিয়া

25

Phpmyadmin থেকে আপনার ডাটাবেসে যান,

এখানে _1 টি টেবিলের নাম পরে স্টোর আইডির জন্য ব্যবহৃত হয়।

Default Frontend store id is 1.যদি আপনি বহু দোকান তারপর আছে তোমার মত সারণী নাম দিয়ে প্রতিটি দোকানের জন্য সেট ক্যোয়ারী আছে sequence_order_2 পর্যন্ত sequence_order: _। *

সারণী সিকোয়েন্স_র্ডার_1 এর জন্য নীচে ক্যোয়ারী প্রবেশ করান ডিফল্ট স্টোরের জন্য। আপনার যদি একাধিক স্টোর থাকে তবে নীচের ক্যোয়ারীতে আপনার স্টোর আইডি অনুসারে টেবিলের নাম সেট করতে হবে।

এটি কেবল সীমান্ত থেকে অর্ডার করার জন্য ব্যবহৃত হয়।

সিকোয়েন্স_র্ডার_এটি ম্যাজেন্টো 2-তে অর্ডার আইডি পরিচালনার জন্য ব্যবহৃত হয়।

ALTER TABLE sequence_order_1 AUTO_INCREMENT=155555551;

পরবর্তী অর্ডার আইডি 155555551 থেকে শুরু হবে।

আপনি যদি চালান আইডি পরিবর্তন করতে চান তবে নীচের ক্যোয়ারির ইনভয়েস-এর জন্য সংজ্ঞা দেওয়া হয়েছে

ALTER TABLE sequence_invoice_1 AUTO_INCREMENT=155555551;

চালানের জন্য ALTER TABLE sequence_shipment_1 AUTO_INCREMENT=155555551;


এটা আমার ফর্ম কাজ করে না। কিছু পরীক্ষা কেনার পরে, অর্ডার আইডি এখনও 000000013, 00000014 ...
লুইস গার্সিয়া

চমৎকার উত্তর!
হুজেফাম

এটা সাহায্য করতে পারে - magento.stackexchange.com/questions/156075/... -
সন্দীপ

আপনি কি ম্যাজেন্টো সংস্করণটি বর্ণনা করতে পারেন যার জন্য এটি সঠিক?
ফেলিক্স

নতুন অর্ডার আইডির প্রথম
অঙ্কটি

16

আগে যা ছিল eav_entity_storeতা এখন coveredাকা পড়েছে sales_sequence_profileএবং sales_sequence_metasequence_order_1আদেশ স্থাপন করা হলে টেবিলটি পপুলেটে যায়।


আপনি প্রায়শই ম্যাজেন্টো সংস্করণ নম্বরগুলি বর্ণনা করতে পারেন যার জন্য এটি সত্য এবং কাজ করে?
ফেলিক্স

আমি এ সম্পর্কে আচরণের কোনও পরিবর্তন
ঘটাতে

২.২.৪-তে এখনও একই, কেবল এটি পরীক্ষা করা হয়েছে।
ফ্রাঙ্ক গ্রুট

7

নতুন অর্ডার আইডি এর ফর্ম্যাটটি ডিফল্ট হিসাবে স্থির করে সংজ্ঞায়িত করা হয়

ম্যাজেন্টো \ বিক্রয়সংশ্লিষ্টতা \ মডেল \ সিকোয়েন্স:

কনট ডিএএফএএল.এল.পি.এ.টি.এন.এন = "% s% '। 09 ডি% s";

এটি স্প্রিন্টফ () ফাংশনের জন্য প্যাটার্ন যা নতুন আইডি তৈরি করে। শীর্ষস্থানীয় শূন্যগুলি অপসারণ করতে আপনাকে এই ধরণের কনস্ট্রাক্টরের কাছে আপনার প্যাটার্নটি পাস করতে হবে:

<type name="Magento\SalesSequence\Model\Sequence">
    <arguments>
        <argument name="pattern" xsi:type="string">%s%s%s</argument>
    </arguments>
</type>

বা সিকোয়েন্স ক্লাস প্রসারিত করুন এবং আপনার প্রয়োজন অনুসারে পরিবর্তন করুন


6

যদিও উপরের সমস্ত উত্তর সম্পূর্ণ / আংশিকভাবে সঠিক, আমি ভেবেছিলাম উত্তরটি লিখতে হবে কারণ এটি ভবিষ্যতের পাঠকদের জন্য সহায়ক হবে। এই উত্তর দুটি প্রশ্নের সমাধান করবে:

1) অর্ডার সিকোয়েন্স নম্বরটি কীভাবে পরিবর্তন করবেন?

২) অর্ডার নম্বরে উপসর্গ বা প্রত্যয় কীভাবে যুক্ত করবেন?

ডাটাবেসে কোনও অন্ধ পরিবর্তন করার আগে আপনার বুঝতে হবে কোন সিকোয়েন্স টেবিলটি কোনটির সাথে যুক্ত। আপনি টেবিল থেকে এটি পরীক্ষা করতে পারেনsales_sequence_meta

ক্যোরি চালান select * from sales_sequence_meta;প্রতিটি স্টোরের সাথে সেই স্টোরের সাথে সিকোয়েন্স টেবিল যুক্ত থাকে। টেবিলের নামটি যেমন: অর্ডার, চালান, ক্রেডিটমেমো বা শিপমেন্ট নোট করুন।

এটি হয়ে গেলে, উদাহরণস্বরূপ টেবিলটিতে যান যদি আপনি অর্ডার নম্বর গোটো টেবিল সম্পাদনা করতে চান sequence_order_1এবং AUTO_INCREMENTমানটি পরিবর্তন করতে চান

alter table sequence_order_1 AUTO_INCREMENT=617;

অর্ডার সিকোয়েন্সটি লাফানোর জন্য এটি প্রয়োজনীয়।

এখন, আপনি যদি আরও খনন করেন এবং নীচের পদক্ষেপগুলি অনুসরণ করার জন্য আপনি উপসর্গ / প্রত্যয় যুক্ত করতে চান তবে এমন একটি প্রয়োজনীয়তা থাকলে আরও এগিয়ে চলেছেন:

যান টেবিল sales_sequence_profileএবং ডেটা পরীক্ষা করুন

select * from sales_sequence_profile;

আপনি কলাম prefixএবং 'প্রত্যয়' পর্যবেক্ষণ করবেন । প্রাথমিকভাবে এটি হবে NULL। আপনি meta_idটেবিল থেকে মানচিত্র করতে পারেন যে প্রাসঙ্গিক জন্য উপসর্গ এবং প্রত্যয় সেখানে মান যোগ করতে পারেনsales_sequence_meta

এটি সমস্ত আদেশের জন্য অর্ডার উপসর্গ / প্রত্যয় পরিবর্তন করবে।

আশা করি এই সব সাহায্য করে !! চিয়ার্স !!


4

টাটকা ইনস্টল করুন:
যদি আপনার ম্যাজেন্টো ২.২.০++ তে রয়েছে এবং মাল্টি-স্টোর সক্ষম হয়ে আপনার একটি নতুন ইনস্টল চলছে (এটি ডিফল্টরূপে সক্ষম হয়) আপনি সাইটের মাধ্যমে কোনও অর্ডার দেওয়ার আগে আপনি কেবল নীচের প্রশ্নগুলি চালাতে পারেন :

ALTER TABLE `sequence_creditmemo_0` AUTO_INCREMENT=303;
ALTER TABLE `sequence_creditmemo_1` AUTO_INCREMENT=303;
ALTER TABLE `sequence_invoice_0` AUTO_INCREMENT=303;
ALTER TABLE `sequence_invoice_1` AUTO_INCREMENT=303;
ALTER TABLE `sequence_order_0` AUTO_INCREMENT=303;
ALTER TABLE `sequence_order_1` AUTO_INCREMENT=303;
ALTER TABLE `sequence_shipment_0` AUTO_INCREMENT=303;
ALTER TABLE `sequence_shipment_1` AUTO_INCREMENT=303;

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

বিদ্যমান ইনস্টল:
যদি আপনি ইতিমধ্যে ম্যাজেন্টো ২.২.০+ ব্যবহার করেন (বা এটিতে আপগ্রেড করা হয়েছে) এবং কেবল সংখ্যাগুলিকে গুছিয়ে রাখতে চান, প্যাডিং পরিবর্তন করতে বা অক্ষরগুলি যুক্ত না করে কেবল নিম্নোক্ত টেবিলগুলিতে বর্তমান অটোপ্রেমিক মানটি পরীক্ষা করুন (বহু-সাইট ধরে ধরে ):

  • sequence_creditmemo_0
  • sequence_creditmemo_1
  • sequence_invoice_0
  • sequence_invoice_1
  • sequence_order_0
  • sequence_order_1
  • sequence_shipment_0
  • sequence_shipment_1

এবং উপরের চিত্রের পরিবর্তিত প্রশ্নগুলি ব্যবহার করে সেগুলি পরিবর্তন করুন তবে নিশ্চিত করুন যে আপনি যে নতুন মানটি ব্যবহার করছেন সেটি বর্তমানের অটোপ্রেমেন্ট মান পরীক্ষা করে ফিরে পাওয়া মানের চেয়ে বেশি।

আপনি যদি প্যাডিংয়ের সাথে জগাখিচুড়ি করতে চলেছেন বা একটি কাস্টম প্যাটার্ন যুক্ত করছেন তবে আপনাকে অন্যান্য উত্তরগুলি এখানে দেখতে হবে এবং নীচের সারণীগুলি পর্যালোচনা করতে হবে:

  • sales_sequence_meta
  • sales_sequence_profile

আপডেট: মাল্ট-স্টোরস?
মাল্টি-স্টোরগুলির সাথে পরিচিত নয় তাদের জন্য এটি এমন একটি বৈশিষ্ট্য যা আপনাকে একই ম্যাজেন্টো ইনস্টল থেকে সম্পূর্ণ পৃথক স্টোর চালানোর অনুমতি দেয়। এটি করার একটি সাধারণ কারণ হ'ল অন্যান্য ভাষাগুলি সমর্থন করা। পিছনের প্রান্তে কনফিগারেশন আপডেট করার সময় এবং উদাহরণস্বরূপ অন্যান্য জিনিসগুলি করার সময় আপনি কেন স্টোর ভিউটি পছন্দ করছেন (যদি মাল্টি-স্টোর চালু থাকে) বেছে নিতে পারেন।

এই কারণে ম্যাজেন্টো বিভিন্ন স্টোরের দর্শনের উপর নজর রাখতে নির্দিষ্ট টেবিলের শেষে একটি আন্ডারস্কোর এবং একটি সংখ্যা যুক্ত করবে। আপনি খেয়াল করবেন যে আমার দেওয়া জিজ্ঞাসাগুলি কীভাবে সদৃশ টেবিল হিসাবে মনে হচ্ছে তবে তারা এই ক্ষেত্রে 0 বা 1 বিভিন্ন নম্বর দিয়ে শেষ হয়। আপনার যদি বেশ কয়েকটি স্টোর / ভিউ থাকে তবে এই সংখ্যাগুলি কেবল বৃদ্ধি করে রাখবে, উদাহরণস্বরূপ _2 বা _3। এটি আপনাকে প্রতিটি স্টোরের আইডি আলাদাভাবে পরিচালনা করতে দেয়। এক ভিউতে (স্টোর) আইডি সিস্টেমে আপনার পরিবর্তন অন্যটিতে একই রকম হয় না।

এটি এই পোস্টের সুযোগের বাইরে নয় তবে এই একই নম্বর সিস্টেমটি ডাটাবেসের অন্যান্য টেবিলের ক্ষেত্রে প্রযোজ্য যাতে আপনি প্রতিটি স্টোর ভিউকে আলাদাভাবে আচরণ করতে এবং প্রভাবিত করতে পারবেন। উদাহরণস্বরূপ আপনার কাছে স্টোরটিতে সম্পূর্ণ আলাদা থিম থাকতে পারে।


কেন আপনি মাল্টি স্টোর সম্পর্কে উল্লেখ রাখছেন? আপনি যদি একক-স্টোর মোড সক্ষম করে থাকেন তবে কী আলাদা হবে?
কনডর

1
আমি পোস্টটি উত্তর দিয়েছি: "... নোট করুন যে আপনি যদি একক স্টোর মোড সক্ষম করে থাকেন তবে _1 এর সাথে শেষ হওয়া কোনও প্রশ্নের দরকার নেই" " লক্ষ্য করুন যে আমি সরবরাহ করা প্রশ্নগুলি শেষটি বাদে সদৃশ টেবিলগুলির মতো দেখতে কল করে case এক ক্ষেত্রে এই ক্ষেত্রে 0 বা 1 রয়েছে। আপনি যদি মাল্টি-স্টোর অক্ষম করে থাকেন তবে আপনি কেবলমাত্র _0 বা _1 বা _2 বা _3 এর সাথে কিছুই দেখতে পাবেন না। আমি এটি পরিষ্কার করতে একটি আপডেট যুক্ত করেছি।
ব্লিজডার্ডল

2

সিকোয়েন্সটি পরিবর্তন করুন ক্রম নম্বর প্যাডিং সম্পাদনা Sequence.php সম্পাদনা করুন (আমি বিশ্বাস করি যে di.xML এর মাধ্যমে আরও ভাল উপায় আছে)

vendor/magento/module-sales-sequence/Model/Sequence.php

এই লাইনটি সম্পাদনা করুন

const DEFAULT_PATTERN  = "%s%'.09d%s";

"9" কে পছন্দসই প্যাডিংয়ে পরিবর্তন করুন

উদাহরণ

const DEFAULT_PATTERN  = "%s%'.05d%s";

উপসর্গটি পরিবর্তন করুন

In admin > Stores > Sales > Order Number > 
Enter Desired prefix

সবকিছু সহজ রাখার জন্য ফুমন একই আদেশের চালান নম্বর যুক্ত করুন


1
কোর ফাইলগুলিতে প্যাডিং প্যাটার্নটি সম্পাদনা করা খারাপ ধারণা, আপনার প্যাডিং প্যাটার্নটি পরিবর্তন করতে আমার প্রদর্শন নামটির পদ্ধতিটি ব্যবহার করা উচিত।
টিমন ডি গ্রোট

1
এটা কি ম্যাজেন্টো? (অ্যাডমিন> স্টোরস> বিক্রয়> অর্ডার নম্বর) আমি এমএজি ২.২.২ ব্যবহার করি তবে মেনু ক্রমের পরিবর্তন হয়েছে বলে মনে হয়।
মোহাম্মদ জোরেদ

1

অর্ডার বাড়ানোর আইডি পরিবর্তন করুন

  1. আপনার পিএইচপি অ্যাডমিন খুলুন
  2. সিকোয়েন্স_র্ডার_1 নামক টেবিলে সন্ধান করুন এবং ক্লিক করুন
  3. "অপারেশনস" ট্যাবে ক্লিক করুন এবং "আউটপুট ক্রিমেন্ট" এর আওতায় কাঙ্ক্ষিত অর্ডার নম্বরটিতে ক্লিক করুন।

অন্য স্টোরের জন্য একই পদক্ষেপ অনুসরণ করুন

  1. সিক্যুয়েন্স_র্ডার_2 নামক টেবিলে সন্ধান করুন এবং ক্লিক করুন
  2. "অপারেশনস" ট্যাবে ক্লিক করুন এবং "আউটপুট ক্রিমেন্ট" এর আওতায় কাঙ্ক্ষিত অর্ডার নম্বরটিতে ক্লিক করুন।

এটি একাধিক স্টোরের জন্য অর্ডার নম্বর পরিবর্তন করবে



0

আপনি এই টিপ দ্বারা সরাসরি ডাটাবেস ম্যাজেন্টো 2 এ অর্ডার নাম্বারে পরিবর্তন করতে পারেন

প্রথমত, আপনাকে আপনার পিএইচপি অ্যাডমিন ডাটাবেস খুলতে হবে। তারপরে "বিক্রয়_sequence_profile" সারণীটি সন্ধান করুন এবং খুলুন।

এর পরে, আপনি আপনার ম্যাজেন্টো 2 ওয়েবসাইটে ডিফল্ট অর্ডার নাম্বারে পরিবর্তন করতে পারেন:

ক। অর্ডার বৃদ্ধি আইডি পরিবর্তন করুন

খ। অর্ডার নম্বর উপসর্গ পরিবর্তন করুন

গ। অর্ডার নম্বর প্রত্যয় পরিবর্তন করুন

ঘ। অর্ডার নম্বর স্টার্ট-মান পরিবর্তন করুন

ঙ। প্যাড দৈর্ঘ্য পরিবর্তন করুন

আমি এই নিবন্ধে সম্পূর্ণ টিউটোরিয়ালটি দেখছি: ম্যাজেন্টো 2 এ অর্ডার নম্বর পরিবর্তন করতে সম্পূর্ণ টিউটোরিয়াল গাইড


সারণীর নামটি ভুল। এটি "বিক্রয়_sequence_Profile" হওয়া উচিত
ডেনিস ভ্যান Schaik

0

অতিরিক্ত শূন্যগুলি পরিত্রাণ পেতে (বা পরিবর্তন করতে) আপনাকে অবশ্যই মূল ফাইলগুলি ওভাররাইড করতে হবে না। আপনার app/etc/di.xmlনিম্নলিখিতটি যুক্ত করুন এবং সেই "%s%'.09d%s"অনুযায়ী মান পরিবর্তন করুন (এই উদাহরণে দুটি 00 টি প্যাডযুক্ত):

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <type name="Magento\Framework\DB\Sequence\SequenceInterface">
        <arguments>
            <argument name="pattern" xsi:type="string">%s%'.02d%s</argument>
        </arguments>
    </type>
</config>

অর্ডার এবং চালানের নম্বরগুলির জন্য ডেটাবেস সম্পাদনাগুলি রাকেশ জেসাদিয়ার উত্তরে পুরোপুরি বর্ণিত।

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