LNK المخزون ومواقع التخزين، مخزون كل مستودع وموقع تخزين كل منتج
بضاعتك موزعة على مستودعين وثلاثة فروع، ولا يعرف PrestaShop إلا رقمًا واحدًا لكل منتج. تحفظ LNK المخزون ومواقع التخزين مخزون كل مكان، وفي كل مكان موقع التخزين الدقيق لكل منتج: الممر B، القسم 12، الطابق 3. ويصبح مخزون PrestaShop مجموع أماكنك: ويواصل المتجر والسلة والطلبات قراءته كما في السابق.
- الإصدار 1.1.0 · PrestaShop من 1.7.6 إلى 8.x
- الإصدار 1.9.0 · PrestaShop 9
- PrestaShop من 1.7.6 إلى 9.x
- PHP من 7.1 إلى 8.4
- بدون تعديل على النواة
لقطات الشاشة
النقاط الرئيسية
- المخزون حسب المستودع أو الفرع أو المخزن، متجر واحد لكل مكان.
- مواقع تخزين على المقاس، تُنشأ دفعة واحدة بترتيب المرور.
- عدة مواقع تخزين لكل منتج ولكل مكان: موقع رئيسي ومواقع احتياطية.
- البحث عمّا هو محفوظ في عنوان معيّن.
- مخزون PrestaShop مساوٍ لمجموع الأماكن، وحركات مخزون أصلية.
- نظام ERP هو المرجع: خدمة الويب أو قاعدة البيانات، دون الكتابة فوقه أبدًا.
- طلبات موزعة حسب منطقة التوصيل، وطرد لكل مكان، وتتبع كل طرد.
- الاستلام من الفرع، مع رمز الاستلام عبر البريد الإلكتروني.
- التوفر حسب الفرع في صفحة المنتج، و«فرعي» للعميل، دون سعر ولا كمية دقيقة.
- واجهة API لأنظمة ERP عبر خدمة الويب الأصلية، وصلاحيات لكل مفتاح وحدود لمعدل الطلبات.
- استيراد CSV على مرحلتين، واستيراد مجدول من عنوان.
- قائمة تجهيز بترتيب المرور، وملصقات مع رمز شريطي.
- سجل كامل لكل تغيير.
- حماية من الإدارة المتقدمة للمخزون القديمة في PrestaShop 1.6.
- إلغاء التثبيت دون المساس بالمخزون.
- تعدد المتاجر، والفرنسية والإنجليزية والعربية (من اليمين إلى اليسار).
- PrestaShop من 1.7.6 إلى 9، دون override، و0 بايت في المتجر.
إدارة عدة مستودعات في PrestaShop
أنشئ أماكنك: مستودعات، فروع، مخازن، لكل منها اسمه بالفرنسية والإنجليزية والعربية، وعنوانه وهاتفه وساعات عمله. وفي صفحة كل منتج، يعرض تبويب مخزون كل مكان، بجانب مخزون PrestaShop. وللمنتج ذي التركيبات، لكل تركيبة توزيعها، ويحتفظ PrestaShop بإجمالي المنتج.
مواقع تخزين على طريقتك
لكل مكان نموذج عنوانه. تختار الأجزاء وترتّبها: المنطقة، الممر، القسم، الطابق، الموضع، الخانة، أو جزء باسم تختاره؛ كل منها بالأرقام أو بالحروف، مع نطاقه وفاصله. الممرات من A إلى H، والأقسام من 01 إلى 20، والطوابق من 1 إلى 6 تعطي من A-01-1 إلى H-20-6: تُنشأ مواقع التخزين الـ 960 دفعة واحدة، بترتيب المرور. ويمكن حفظ منتج في عدة مواقع تخزين من المكان نفسه: موقع رئيسي، ثم مواقع احتياطية. ويُدرج البحث «ما المحفوظ في B-12؟» محتوى مواقع التخزين، ويتلقى الحقل الأصلي « Location » في PrestaShop الموقع الرئيسي، لمستنداتك ووحداتك الأخرى.
نظام ERP لديك هو المرجع
إذا كان نظام ERP لديك يكتب المخزون في PrestaShop، عبر خدمة الويب أو مباشرة في قاعدة البيانات، فلا تكتب الوحدة فوقه أبدًا. يُستوعب الفرق في المكان الافتراضي ويُسجَّل في السجل: فورًا لخدمة الويب وصفحة المنتج وصفحة المخزون؛ وعند فتح صفحة المنتج، أو بنقرة على «فحص الفروق الآن»، للكتابة المباشرة في قاعدة البيانات. وصفحة المنتج المفتوحة قبل مرور نظام ERP يُرفض حفظها: لا يُكتب فوق أي شيء، ويكفي إعادة تحميلها.
طلب واحد، عدة طرود
الطلب الذي ينطلق من مستودعين يبقى طلب PrestaShop واحدًا: دفعة واحدة وفاتورة واحدة، مع طرد لكل مكان. يُؤخذ كل سطر أولًا من الأماكن التي تخدم منطقة التوصيل الخاصة بالعميل. وفي صفحة الطلب، لكل طرد زره «وضع علامة: تم الشحن» ورقم التتبع الخاص به؛ ويتلقى العميل رسالة بريد إلكتروني لكل طرد ويتتبع كلًّا منها من حسابه. وعند الطلب، يمكنه أن يفضّل طرداً واحداً، حتى لو استغرق وقتاً أطول.
الاستلام من الفرع
افتح الأماكن التي تختارها للاستلام، مع ملاحظة مثل «جاهز غداً من السابعة صباحاً». تعرضها شركة الشحن «الاستلام من المكان» عند الطلب، وتُخبر العميل ما إذا كان كل شيء متوفرًا في المكان المختار. وعندما يصبح الطلب جاهزًا، يتلقى العميل رسالة بريد إلكتروني مع رمز الاستلام الخاص به. ويمكنك أيضًا إضافة رسوم شحن لكل طرد إضافي.
التوفر في كل فرع
في صفحة المنتج، يرى عملاؤك أين يتوفر المنتج: «متوفر» أو «بقي 3 فقط» أو «غير متوفر هنا»، فرعًا فرعًا، للتركيبة المختارة. ويختارون «فرعي»، الذي يأتي أولًا ويُقترح عليهم للاستلام. لا كمية دقيقة فوق الحد الذي تضعه، ولا سعر، ولا ملف محمَّل: قالبك هو الذي ينسّق الكتلة.
واجهة API لنظام ERP لديك
يرسل نظام ERP لديك المخزون حسب المكان وحسب موقع التخزين عبر خدمة الويب في PrestaShop، بمفتاح تختار صلاحياته. تمر كل كتابة بعمليات التحقق نفسها المعتمدة في لوحة الإدارة؛ ويُكبَح نظام ERP الذي يفرط في الإرسال دون أن يُثقل المتجر أبدًا.
استيراد CSV وتجهيز الطلبات
استورد مخزونك حسب المكان وحسب موقع التخزين من ملف CSV: تقرأ الوحدة الملف، وتعرض كل سطر مرفوض مع سببه، ولا تكتب شيئًا قبل موافقتك. ويمكن أن يُقرأ الملف نفسه تلقائيًا من عنوان لدى نظام ERP أو المورّد، بواسطة مهمة مجدولة. ولتجهيز الطلبات، اطبع قائمة مكانٍ ما بترتيب المرور على مواقع التخزين، وملصقات مواقع التخزين مع رمزها الشريطي.
سجل لكل حركة
يُسجَّل كل تغيير: من أجراه (موظف، استيراد، ERP، مهمة مجدولة، تعديل أُجري في PrestaShop)، والمكان وموقع التخزين، والكمية قبل وبعد، ومخزون PrestaShop قبل وبعد. وحين يكون ذلك ممكنًا، يكتب PrestaShop أيضًا حركة مخزون أصلية، بالسبب «تعديل LNK Stock»، تظهر في حركات صفحة المخزون.
متجر قادم من PrestaShop 1.6
اختفت الإدارة المتقدمة للمخزون في PrestaShop 1.6 من الشاشات في 1.7، لكن المتجر المُرحَّل قد يكون أبقاها مفعّلة في قاعدة البيانات، ولا يزال PrestaShop 1.7 يقرؤها في بعض المواضع. تكتشفها الوحدة، وتشرحها، وتقترح إيقافها بنقرة. ولا تمسّ شيئًا دون هذه النقرة.
آمنة من حيث التصميم
يُجرى كل فحص قبل الكتابة، ثم يُكتب كل شيء دفعة واحدة: إذا فشل شيء، يبقى المتجر كما كان تمامًا. وفي سياق «كل المتاجر»، لا تكتب الوحدة شيئًا. وعند إلغاء التثبيت، يحتفظ مخزون PrestaShop بآخر مجموع: لا يُعاد شيء إلى الصفر. ثبت ذلك على منصة الاختبار مع PrestaShop 1.7.6 و9.2.
خفيفة وسريعة
0 بايت من CSS وJavaScript في الواجهة، ولا طلب إضافي. وفي المتجر، لا تعرض الوحدة سوى رسالة الطرود في مسار إتمام الطلب وقائمة الطرود في حساب العميل، عندما ينطلق الطلب من عدة أماكن، بأنماط قالبك.
متوافقة مع PrestaShop 1.7.6 و8 و9
نسختان من الوحدة، واحدة لكل جيل: 1.1 لـ PrestaShop من 1.7.6 إلى 8.x، و1.9 لـ PrestaShop 9، مع صفحة ضمن الكتالوج وتبويب في صفحة المنتج. تعدد المتاجر: أماكن لكل متجر، والمخزون المشترك لمجموعة متاجر. دون override، ودون أي استدعاء خارجي.
الأسئلة الشائعة
كيف أدير المخزون حسب المستودع أو حسب الفرع في PrestaShop؟
أنشئ أماكنك (مستودعات، فروع، مخازن) في صفحة LNK المخزون ومواقع التخزين، ضمن الكتالوج. ثم وزّع مخزون كل منتج على الأماكن من صفحة المنتج. يصبح مخزون PrestaShop مجموع الأماكن: ويواصل المتجر والسلة والطلبات قراءته كما في السابق. وعندما تبدأ الوحدة تتبّع منتج، تطلب أولًا من PrestaShop إعادة عدّ ما تحجزه الطلبات الجارية: فيكون المخزون المستوعَب هو المخزون الفعلي، ولا يُظهر السجل أي فرق ليس فرقًا حقيقيًا.
كيف أسمّي مواقع التخزين في مستودعي؟
لكل مكان نموذج عنوانه: تختار الأجزاء وترتّبها (المنطقة، الممر، الخانة الرأسية، الطابق، الموضع، الصندوق، أو جزء باسم تختاره)، كل منها بالأرقام أو بالحروف، مع نطاقه وفاصله. مثلًا، الممرات من A إلى H، والخانات من 01 إلى 20، والطوابق من 1 إلى 6 تعطي من A-01-1 إلى H-20-6. وتُنشأ كل مواقع التخزين دفعة واحدة، بترتيب المرور.
هل يمكن تخزين منتج في عدة مواضع من المستودع؟
نعم: في كل مكان، موقع رئيسي وما يلزم من الاحتياطيات، لكل منها كميته. ويعرض البحث «ما المخزَّن في B-12؟» محتوى مواقع التخزين.
نظام ERP لديّ يكتب المخزون في PrestaShop. هل ستكتب الوحدة فوقه؟
لا. المرجع هو نظام ERP أو PrestaShop. الكمية التي تُغيَّر عبر خدمة الويب، أو مباشرة في قاعدة البيانات، أو في صفحة المنتج، أو في صفحة المخزون في PrestaShop تُستوعب في المكان الافتراضي وتُسجَّل في السجل؛ ولا تعيد الوحدة أبدًا كتابة مخزون PrestaShop لتصحيحه. وإذا كانت صفحة منتج مفتوحة قبل هذا التغيير، يُرفض حفظها: يكفي إعادة تحميلها.
هل تُحفظ حركات المخزون في PrestaShop؟
نعم. كل تغيير يُجرى من صفحة المنتج يكتب حركة مخزون أصلية، بالسبب «تعديل LNK Stock»، تظهر في حركات صفحة المخزون. وعندما لا يستطيع PrestaShop كتابتها (استيراد، مهمة مجدولة)، يكون سجل الوحدة هو المرجع: من، ومتى، وما قبل، وما بعد.
متجري قادم من PrestaShop 1.6 والوحدة تنبّه إلى «الإدارة المتقدمة للمخزون». ماذا أفعل؟
كان في PrestaShop 1.6 إدارة متقدمة للمخزون حسب المستودع. اختفت من الشاشات في 1.7، لكن المتجر المنقول قد يكون أبقاها مفعّلة في قاعدة البيانات، ولا يزال PrestaShop 1.7 يقرؤها في بعض المواضع (تقسيم السلة حسب المستودع). لا توزّع الوحدة شيئًا ما دامت مفعّلة. والزر «إيقاف الإدارة المتقدمة للمخزون في PrestaShop 1.6»، في صفحة الوحدة، يوقفها لكل المتاجر؛ ولا تتغير كمياتك. لا يُفعل شيء دون هذه النقرة.
من أين ينطلق الطلب عندما تكون لدي عدة مستودعات؟
يُؤخذ كل سطر أولًا من الأماكن التي تخدم منطقة التوصيل الخاصة بالعميل (المكان الافتراضي في المقدمة)، ثم، إذا لم يكفِ مخزون هذه الأماكن، يُكمَّل من الأماكن الأخرى. تحدد المناطق التي يخدمها كل مكان؛ وإن لم تُحدَّد أي منطقة، تخدم كل الأماكن كل المناطق. وتبيّن صفحة الطلب المكان الذي ينطلق منه كل سطر. وتخرج البضاعة من أماكنها عندما ينتقل الطلب إلى «تم الشحن»، وتعود إليها إذا أُلغي الطلب بعد الشحن.
هل يصل الطلب الذي ينطلق من مستودعين في طردين؟
نعم، ويبقى طلب PrestaShop واحدًا: دفعة واحدة وفاتورة واحدة. في صفحة الطلب، لكل طرد قائمته وزره «وضع علامة: تم الشحن» ورقم التتبع الخاص به. ويتلقى العميل رسالة بريد إلكتروني لكل طرد ويرى تتبعها في حسابه. ينتقل الطلب إلى «شُحن جزئياً»، ثم إلى «تم الشحن» مع آخر طرد. وعند الطلب، يمكن للعميل أن يطلب «طرداً واحداً، حتى لو استغرق وقتاً أطول»: فينطلق كل شيء حينئذ من مكان واحد. وتبقى تكاليف الشحن هي تكاليف PrestaShop، مرة واحدة لكل طلب.
أُرجع إليّ طرد: كيف أعيده إلى المخزون؟
في صفحة الطلب، يعيد «طرد مُرتجع: إعادته إلى المخزون» بضاعته إلى المكان الذي انطلق منه وإلى مخزون PrestaShop، مع حركة «إرجاع المنتج». لا تُلغِ الطلب بعد ذلك: فسيعيد PrestaShop البضاعة نفسها إلى المخزون مرة ثانية. وللاسترداد، أنشئ إشعارًا دائنًا.
هل يمكن لعملائي القدوم لاستلام طلبهم من الفرع؟
نعم. فعّل «يمكن للعملاء استلام طلباتهم هنا» في الأماكن المعنية، مع ملاحظة مثل «جاهز غداً من السابعة صباحاً». عندئذ تعرض شركة الشحن «الاستلام من المكان»، التي تنشئها الوحدة وتكون مجانية افتراضيًا، هذه الأماكن عند الطلب؛ ويرى العميل ما إذا كان كل شيء متوفرًا في المكان المختار. ويُؤخذ الطلب أولًا من هذا المكان. انقله إلى «جاهز للاستلام»: فيتلقى العميل رسالة بريد إلكتروني مع رمز الاستلام الخاص به؛ ثم إلى «تم الاستلام» عندما يمرّ.
هل يمكنني احتساب الشحن لكل طرد؟
نعم، عبر الإعداد «رسوم شحن إضافية لكل طرد إضافي»: مبلغ دون ضريبة يُضاف إلى الشحن لكل طرد بعد الأول، ولا يُطبَّق أبدًا على الاستلام. ويعتمد على خطاف في PrestaShop 1.7.7 وما بعده: في 1.7.6، يبقى الشحن كما يحسبه PrestaShop.
هل يمكن لنظام ERP لديّ إرسال المخزون حسب المكان وحسب موقع التخزين؟
نعم، عبر خدمة الويب في PrestaShop، بمفتاح تختار صلاحياته. وتضيف الوحدة إليها مواردها: الأماكن، ومواقع التخزين، والمخزون حسب المكان وحسب موقع التخزين، والسجل والطرود. تمر كل كتابة بعمليات التحقق نفسها المعتمدة في لوحة الإدارة، ويسجّلها السجل باسم المفتاح. وتُرفض الكتابة الكبيرة جدًا، أو نظام ERP الذي يرسل عددًا كبيرًا جدًا من الاستدعاءات في الدقيقة، دون كتابة أي شيء: يبقى المتجر متاحًا. وعلى PrestaShop 9، توفّر Admin API هذه البيانات أيضًا، مع نطاقات للقراءة والكتابة؛ وهي تتطلب HTTPS وغير متاحة في وضع تعدد المتاجر (حدّ يعود إلى PrestaShop 9). ودليل المُدمِج لديك موجود في docs/API.md.
هل يمكنني استيراد مخزوني من ملف؟
نعم، في تبويب «استيراد»: ملف CSV بسطر لكل موقع تخزين (المرجع، المكان، موقع التخزين، الكمية)، ويمكن تنزيل نموذجه من الصفحة نفسها. يمكن أن يكون المرجع مرجع المنتج أو التركيبة أو رمز EAN؛ والمكان، معرّفه أو اسمه. تقرأ الوحدة الملف أولًا وتعرض كل سطر مرفوض مع سببه؛ ولا يُكتب شيء قبل أن تنقر على «كتابة الأسطر الصالحة». ولكل منتج، تحلّ أسطر مكانٍ ما محلّ ما كان يحتويه هذا المكان؛ وتحتفظ الأماكن الأخرى بما لديها.
وإذا كان نظام ERP لديك أو المورّد يضع هذا الملف على عنوان (http أو https أو ftp أو ftps)، فأدخله في الإعدادات المتقدمة: تستدعي مهمة cron لدى مستضيفك العنوان المبيَّن في تبويب «استيراد»، مثلًا كل ساعة، وتُكتب الأسطر الصالحة. ويظهر آخر تشغيل ونتيجته في الصفحة.
هل تساعدني الوحدة في تجهيز الطلبات؟
نعم. في تبويب «مواقع التخزين»، تعطي «قائمة التجهيز» لمكانٍ ما ما لا تزال الطلبات تنتظره، منتجًا منتجًا، بترتيب المرور على مواقع التخزين، مع خانة اختيار لكل سطر. وتُطبع «ملصقات مواقع التخزين المعروضة» ثلاثةً في كل صف على ورق A4، مع رمز شريطي Code 128 تقرؤه كل قارئات الرموز الشريطية اليدوية (يمكن إيقافه في الإعدادات).
وماذا عن تعدد المتاجر؟
ينتمي كل مكان إلى متجر واحد. وإذا كانت متاجرك تتشارك مخزونها (مجموعة متاجر)، فالمخزون المشترك هو مجموع أماكن كل هذه المتاجر. يُكتب المخزون متجرًا متجرًا: في سياق «كل المتاجر»، لا تكتب الوحدة شيئًا.
ماذا يحدث إذا ألغيت تثبيت الوحدة؟
يحتفظ مخزون PrestaShop بآخر مجموع كُتب: لا يُصفَّر شيء. وتُحذف أماكن الوحدة ومواقع التخزين والسجل. وتُزال شركة الشحن «الاستلام من المكان» وحالات الطلب الخاصة بالوحدة من القوائم، لكنها تبقى مقروءة في الطلبات السابقة؛ وتعود كما كانت إذا أعدت تثبيت الوحدة.
هل تعرض الوحدة شيئًا في المتجر؟
نعم، حيث يكون ذلك مفيدًا، بأنماط قالبك ودون تحميل أي ملف:
- في صفحة المنتج، تحت زر الإضافة إلى السلة، التوفر في كل فرع: «متوفر» أو «بقي 3 فقط» أو «غير متوفر هنا». لا كمية فوق الحد أبدًا (5 افتراضيًا، قابل للضبط)، ولا سعر أبدًا. ويتبع التركيبة المختارة؛
- يختار العميل «فرعي»: يأتي أولًا، ويبقى محفوظًا لحسابه، ويُقترح تلقائيًا للاستلام من المكان؛
- اختيار مكان الاستلام في مسار إتمام الطلب، ورسالة الطرود عندما ينطلق الطلب من عدة أماكن، والطرود أو الاستلام في حساب العميل.
ويمكن لقالبك أيضًا عرض سطر التوفر في قوائم المنتجات واختيار الفرع في رأس الصفحة: الدليل الموجّه إلى المدمج الخاص بك موجود في docs/THEME-CONTRACT.md. ويوقف إعدادٌ العرضَ في صفحة المنتج.
سجل الإصدارات
-
الإصدار 1.9.0 PrestaShop 9
الجديد
- أماكن المخزون (مستودع، فرع، مخزن)، لكل منها متجر واحد: الاسم بثلاث لغات، والعنوان والهاتف وساعات العمل في قسم مطوي.
- مواقع التخزين: نموذج عنوان لكل مكان (المنطقة، الممر، الخانة الرأسية، الطابق، الموضع، الصندوق أو جزء باسم تختاره، بالأرقام أو بالحروف، مع النطاق والفاصل)، وإنشاؤها دفعة واحدة بترتيب المرور، والإضافة اليدوية، والبحث عمّا هو مخزَّن في عنوان ما، وحذف مواقع التخزين الفارغة.
- تبويب في صفحة المنتج: مخزون المنتج أو كل تركيبة حسب المكان وحسب موقع التخزين، الموقع الرئيسي أولًا ثم الاحتياطيات.
- مخزون PrestaShop يبقى مساويًا لمجموع الأماكن، ويُكتب عبر الواجهة البرمجية الأصلية مع حركة مخزون «تعديل LNK Stock» كلما أمكن لـ PrestaShop كتابتها؛ ويُملأ الحقل الأصلي «Location» بالموقع الرئيسي للمكان الافتراضي.
- المرجع هو نظام ERP أو PrestaShop: الكمية التي تُغيَّر في صفحة المنتج أو صفحة المخزون أو عبر خدمة الويب أو بـ SQL تُستوعب في المكان الافتراضي، ولا يُكتب فوقها أبدًا؛ وزر «فحص الفروق الآن»؛ وتُرفض عند الحفظ صفحة منتج فُتحت قبل التغيير.
- بدء تتبّع منتج: يعيد PrestaShop أولًا عدّ الحجوزات الخاصة بالطلبات الجارية، ولا يظهر أي فرق زائف في السجل.
- عمليات تحقق قبل أي كتابة ومعاملة واحدة؛ ولا يُكتب شيء في سياق «كل المتاجر».
- سجل لكل تغيير (من أجراه، وما قبله وما بعده، ومخزون PrestaShop، وهل كُتبت حركة أصلية أم لا).
- الطلبات: يُؤخذ كل سطر من الأماكن التي تخدم منطقة التوصيل (المكان الافتراضي أولًا)، ثم يُكمَّل من الأماكن الأخرى عند الحاجة (قابل للضبط)؛ وتخرج البضاعة من أماكنها عند الشحن وتعود إليها إذا أُلغي الطلب بعد الشحن؛ وقسم «أماكن هذا الطلب» في صفحة الطلب؛ والكمية المحجوزة لكل مكان في صفحة المنتج.
- مناطق التوصيل التي يخدمها كل مكان.
- الطرود: يبقى الطلب طلب PrestaShop واحدًا، مع طرد لكل مكان؛ وفي صفحة الطلب، كل طرد بأسطره، و«وضع علامة: تم الشحن» مع رقم التتبع الخاص به، ورسالة بريد إلكتروني إلى العميل لكل طرد (fr، en، ar)، والحالة «شُحن جزئياً» ثم «تم الشحن» مع آخر طرد؛ و«طرد مُرتجع: إعادته إلى المخزون» يعيد البضاعة إلى مكانها وإلى مخزون PrestaShop.
- حساب العميل: تعرض تفاصيل الطلب كل طرد وحالته ورابط تتبعه.
- مسار إتمام الطلب: «سينطلق طلبك في N طرود» وخيار «أفضّل طرداً واحداً، حتى لو استغرق وقتاً أطول».
- الاستلام من المكان: شركة الشحن «الاستلام من المكان» تُنشأ عند التثبيت (مجانية افتراضيًا، قابلة للضبط مثل أي شركة شحن، وتُزال عند إلغاء التثبيت)؛ وأماكن مفتوحة للاستلام مع ملاحظتها («جاهز غداً من السابعة صباحاً»)؛ واختيار المكان في مسار إتمام الطلب، مع «كل شيء متوفر هنا» أو «يأتي جزء من طلبك أولاً من مكان آخر»؛ ويُؤخذ الطلب أولًا من مكان الاستلام؛ والحالات «قيد التحضير للاستلام» و«جاهز للاستلام» (رسالة بريد إلكتروني إلى العميل مع رمز الاستلام، fr، en، ar) و«تم الاستلام».
- واجهة API لأنظمة ERP، عبر خدمة الويب الأصلية في PrestaShop (صلاحيات لكل مفتاح): الأماكن، ومواقع التخزين، والمخزون حسب المكان وحسب موقع التخزين (لا يُكتب إلا عبر الكتابة المركزية للوحدة، مع المصدر «ERP» واسم المفتاح في السجل)، والسجل، والطرود (الشحن مع التتبع)؛ وحجم أقصى لكل كتابة وعدد الكتابات في الدقيقة لكل مفتاح؛ والدليل docs/API.md.
- Admin API في PrestaShop 9: الأماكن، والمخزون حسب المكان وحسب موقع التخزين (القراءة، والكتابة عبر الكتابة المركزية)، والسجل، والطرود (الشحن مع التتبع)، والنطاقان lnk_stock_read وlnk_stock_write، والحدود نفسها (413، 429).
- استيراد ملف CSV (مرجع المنتج أو التركيبة أو EAN؛ المكان بمعرّفه أو باسمه؛ موقع التخزين؛ الكمية) على مرحلتين: تقرير سطرًا سطرًا، ثم كتابة الأسطر الصالحة عبر الكتابة المركزية للوحدة، مع المصدر «استيراد» في السجل؛ ونموذج للتنزيل؛ وترميز UTF-8 أو Windows-1252، والفاصل فاصلة منقوطة أو فاصلة أو جدولة، و20 ميغابايت و50,000 سطر كحد أقصى.
- الاستيراد المجدول: يُقرأ الملف من عنوان http أو https أو ftp أو ftps (إعداد متقدم) بواسطة مهمة cron تستدعي عنوان الوحدة مع رمزها المميز؛ ويُعرض آخر تشغيل؛ والمصدر «مهمة مجدولة» في السجل.
- قائمة التجهيز لمكان ما، للطباعة: ما لا تزال الطلبات تنتظره، منتجًا منتجًا، بترتيب المرور على مواقع التخزين.
- ملصقات مواقع التخزين، للطباعة، مع رمز شريطي Code 128 (الإعداد «رمز شريطي على ملصقات مواقع التخزين»).
- الاستلام من المكان: يُبلَّغ العميل في كتلة المكان بالمكان المرفوض عند التأكيد (مغلق أمام الاستلام، أو عدم وجود أي مكان)، في مسار إتمام الطلب متعدد الخطوات كما في إتمام الطلب في صفحة واحدة في PrestaShop 9 (ps_onepagecheckout).
- المتجر: توفر كل منتج أو تركيبة حسب الفرع تحت زر الإضافة إلى السلة (إعداد، مفعّل افتراضيًا؛ «متوفر»، و«بقي N فقط» ابتداءً من حد قابل للضبط، و«غير متوفر هنا»، مع خصم الحجوزات، ولا سعر أبدًا)، ويُعاد رسمه عند تغيير التركيبة؛ ويُحفظ فرع العميل لحسابه أو للزائر، ويأتي أولًا في الكتلة، ويُقترح تلقائيًا للاستلام؛ والخطافان displayLnkStockAvailability وdisplayLnkStockListing، والودجة lnk_stock (الأوضاع availability وlisting وagency) مع حماية عقد القالب (docs/THEME-CONTRACT.md)؛ ولا يُحمَّل أي ملف في المتجر.
- رسوم شحن إضافية لكل طرد إضافي (إعداد، دون ضريبة، PrestaShop 1.7.7 وما بعده)، ولا تُطبَّق أبدًا على الاستلام.
- حماية من الإدارة المتقدمة القديمة للمخزون في PrestaShop 1.6: تنبيه وزر لإيقافها، ولا تعديل صامت أبدًا.
- إلغاء التثبيت دون المساس بمخزون PrestaShop.
- تعدد المتاجر: أماكن لكل متجر، ومخزون مشترك لمجموعة متاجر، وإعدادات لكل متجر أو لكل مجموعة أو مشتركة.
- الفرنسية والإنجليزية والعربية (من اليمين إلى اليسار).
-
الإصدار 1.1.0 PrestaShop من 1.7.6 إلى 8.x
الجديد
- أماكن المخزون (مستودع، فرع، مخزن)، لكل منها متجر واحد: الاسم بثلاث لغات، والعنوان والهاتف وساعات العمل في قسم مطوي.
- مواقع التخزين: نموذج عنوان لكل مكان (المنطقة، الممر، الخانة الرأسية، الطابق، الموضع، الصندوق أو جزء باسم تختاره، بالأرقام أو بالحروف، مع النطاق والفاصل)، وإنشاؤها دفعة واحدة بترتيب المرور، والإضافة اليدوية، والبحث عمّا هو مخزَّن في عنوان ما، وحذف مواقع التخزين الفارغة.
- تبويب في صفحة المنتج: مخزون المنتج أو كل تركيبة حسب المكان وحسب موقع التخزين، الموقع الرئيسي أولًا ثم الاحتياطيات.
- مخزون PrestaShop يبقى مساويًا لمجموع الأماكن، ويُكتب عبر الواجهة البرمجية الأصلية مع حركة مخزون «تعديل LNK Stock» كلما أمكن لـ PrestaShop كتابتها؛ ويُملأ الحقل الأصلي «Location» بالموقع الرئيسي للمكان الافتراضي.
- المرجع هو نظام ERP أو PrestaShop: الكمية التي تُغيَّر في صفحة المنتج أو صفحة المخزون أو عبر خدمة الويب أو بـ SQL تُستوعب في المكان الافتراضي، ولا يُكتب فوقها أبدًا؛ وزر «فحص الفروق الآن»؛ وتُرفض عند الحفظ صفحة منتج فُتحت قبل التغيير.
- بدء تتبّع منتج: يعيد PrestaShop أولًا عدّ الحجوزات الخاصة بالطلبات الجارية، ولا يظهر أي فرق زائف في السجل.
- عمليات تحقق قبل أي كتابة ومعاملة واحدة؛ ولا يُكتب شيء في سياق «كل المتاجر».
- سجل لكل تغيير (من أجراه، وما قبله وما بعده، ومخزون PrestaShop، وهل كُتبت حركة أصلية أم لا).
- الطلبات: يُؤخذ كل سطر من الأماكن التي تخدم منطقة التوصيل (المكان الافتراضي أولًا)، ثم يُكمَّل من الأماكن الأخرى عند الحاجة (قابل للضبط)؛ وتخرج البضاعة من أماكنها عند الشحن وتعود إليها إذا أُلغي الطلب بعد الشحن؛ وقسم «أماكن هذا الطلب» في صفحة الطلب؛ والكمية المحجوزة لكل مكان في صفحة المنتج.
- مناطق التوصيل التي يخدمها كل مكان.
- الطرود: يبقى الطلب طلب PrestaShop واحدًا، مع طرد لكل مكان؛ وفي صفحة الطلب، كل طرد بأسطره، و«وضع علامة: تم الشحن» مع رقم التتبع الخاص به، ورسالة بريد إلكتروني إلى العميل لكل طرد (fr، en، ar)، والحالة «شُحن جزئياً» ثم «تم الشحن» مع آخر طرد؛ و«طرد مُرتجع: إعادته إلى المخزون» يعيد البضاعة إلى مكانها وإلى مخزون PrestaShop.
- حساب العميل: تعرض تفاصيل الطلب كل طرد وحالته ورابط تتبعه.
- مسار إتمام الطلب: «سينطلق طلبك في N طرود» وخيار «أفضّل طرداً واحداً، حتى لو استغرق وقتاً أطول».
- الاستلام من المكان: شركة الشحن «الاستلام من المكان» تُنشأ عند التثبيت (مجانية افتراضيًا، قابلة للضبط مثل أي شركة شحن، وتُزال عند إلغاء التثبيت)؛ وأماكن مفتوحة للاستلام مع ملاحظتها («جاهز غداً من السابعة صباحاً»)؛ واختيار المكان في مسار إتمام الطلب، مع «كل شيء متوفر هنا» أو «يأتي جزء من طلبك أولاً من مكان آخر»؛ ويُؤخذ الطلب أولًا من مكان الاستلام؛ والحالات «قيد التحضير للاستلام» و«جاهز للاستلام» (رسالة بريد إلكتروني إلى العميل مع رمز الاستلام، fr، en، ar) و«تم الاستلام».
- واجهة API لأنظمة ERP، عبر خدمة الويب الأصلية في PrestaShop (صلاحيات لكل مفتاح): الأماكن، ومواقع التخزين، والمخزون حسب المكان وحسب موقع التخزين (لا يُكتب إلا عبر الكتابة المركزية للوحدة، مع المصدر «ERP» واسم المفتاح في السجل)، والسجل، والطرود (الشحن مع التتبع)؛ وحجم أقصى لكل كتابة وعدد الكتابات في الدقيقة لكل مفتاح؛ والدليل docs/API.md.
- استيراد ملف CSV (مرجع المنتج أو التركيبة أو EAN؛ المكان بمعرّفه أو باسمه؛ موقع التخزين؛ الكمية) على مرحلتين: تقرير سطرًا سطرًا، ثم كتابة الأسطر الصالحة عبر الكتابة المركزية للوحدة، مع المصدر «استيراد» في السجل؛ ونموذج للتنزيل؛ وترميز UTF-8 أو Windows-1252، والفاصل فاصلة منقوطة أو فاصلة أو جدولة، و20 ميغابايت و50,000 سطر كحد أقصى.
- الاستيراد المجدول: يُقرأ الملف من عنوان http أو https أو ftp أو ftps (إعداد متقدم) بواسطة مهمة cron تستدعي عنوان الوحدة مع رمزها المميز؛ ويُعرض آخر تشغيل؛ والمصدر «مهمة مجدولة» في السجل.
- قائمة التجهيز لمكان ما، للطباعة: ما لا تزال الطلبات تنتظره، منتجًا منتجًا، بترتيب المرور على مواقع التخزين.
- ملصقات مواقع التخزين، للطباعة، مع رمز شريطي Code 128 (الإعداد «رمز شريطي على ملصقات مواقع التخزين»).
- الاستلام من المكان: يُبلَّغ العميل في كتلة المكان بالمكان المرفوض عند التأكيد (مغلق أمام الاستلام، أو عدم وجود أي مكان).
- المتجر: توفر كل منتج أو تركيبة حسب الفرع تحت زر الإضافة إلى السلة (إعداد، مفعّل افتراضيًا؛ «متوفر»، و«بقي N فقط» ابتداءً من حد قابل للضبط، و«غير متوفر هنا»، مع خصم الحجوزات، ولا سعر أبدًا)، ويُعاد رسمه عند تغيير التركيبة؛ ويُحفظ فرع العميل لحسابه أو للزائر، ويأتي أولًا في الكتلة، ويُقترح تلقائيًا للاستلام؛ والخطافان displayLnkStockAvailability وdisplayLnkStockListing، والودجة lnk_stock (الأوضاع availability وlisting وagency) مع حماية عقد القالب (docs/THEME-CONTRACT.md)؛ ولا يُحمَّل أي ملف في المتجر.
- رسوم شحن إضافية لكل طرد إضافي (إعداد، دون ضريبة، PrestaShop 1.7.7 وما بعده)، ولا تُطبَّق أبدًا على الاستلام.
- حماية من الإدارة المتقدمة القديمة للمخزون في PrestaShop 1.6: تنبيه وزر لإيقافها، ولا تعديل صامت أبدًا.
- إلغاء التثبيت دون المساس بمخزون PrestaShop.
- تعدد المتاجر: أماكن لكل متجر، ومخزون مشترك لمجموعة متاجر، وإعدادات لكل متجر أو لكل مجموعة أو مشتركة.
- الفرنسية والإنجليزية والعربية (من اليمين إلى اليسار).