تخطي للذهاب إلى المحتوى

نموذج جرد المخزون: فهم عمليات النقل والمستودعات في أودو

دليل كامل لنموذج النقل المركزي في أودو لإدارة المخزون والمستودعات
10 مارس 2026 بواسطة
نموذج جرد المخزون: فهم عمليات النقل والمستودعات في أودو
Dasolo
لا توجد تعليقات بعد

مقدمة


في Odoo، تحدد النماذج كيفية هيكلة البيانات وتخزينها في قاعدة البيانات. كل قطعة من بيانات الأعمال التي تعمل معها، من طلبات المبيعات إلى تحويلات المخزون إلى عمليات المستودع، تعيش في نموذج.


فهم نماذج Odoo أمر ضروري لكل من المطورين والمستشارين الوظيفيين. النماذج هي أساس بنية بيانات Odoo. إنها تحدد الحقول والعلاقات والمنطق التجاري.


تركز هذه المقالة على أحد أهم النماذج في تطبيق المخزون: stock.picking. سواء كنت تبني وحدات مستودع مخصصة، أو تدمج أنظمة خارجية، أو تقوم بتكوين سير العمل، ستعمل مع هذا النموذج.

ما هو نموذج stock.picking


نموذج stock.picking يمثل عمليات النقل في Odoo. إنه المكان المركزي حيث يتم تتبع عمليات المستودع. كل سجل نقل يمثل نقلًا واحدًا للبضائع من موقع إلى آخر.


يتم استخدام هذا النموذج في Odoo عبر وحدة المخزون. تقوم الإيصالات، والتسليمات، والنقل الداخلي جميعها بإنشاء سجلات stock.picking. عند تأكيد طلب تسليم من عملية بيع، أو استلام بضائع من عملية شراء، أو نقل المخزون بين المستودعات، فإنك تقوم بإنشاء أو تحديث سجل stock.picking.


يتم تعريف النموذج في وحدة المخزون. تقوم وحدات أخرى بتوسيعه من خلال وراثة نموذج Odoo. تضيف وحدة البيع حقولًا متعلقة بالتسليم. تضيف وحدة الشراء سير العمل للإيصالات. تضيف وحدة التصنيع حركات الإنتاج. كل وحدة تضيف ما تحتاجه دون تكرار الهيكل الأساسي.


يرث نموذج stock.picking من mail.thread و mail.activity.mixin. وهذا يعني أنه يمكنك تتبع التغييرات، وإضافة رسائل الدردشة، وجدولة الأنشطة على عمليات النقل مباشرة.

الحقول الرئيسية في النموذج


إليك أهم حقول Odoo في نموذج stock.picking. سيساعدك فهم هذه الحقول على العمل بفعالية مع عمليات النقل وعمليات المستودع.


1. الاسم

النوع: Char. يخزن هذا الحقل مرجع النقل. يتم إنشاؤه عادةً تلقائيًا من تسلسل (مثل WH/OUT/00001). يتم عرضه في رأس نماذج النقل وهو المعرف الأساسي للنقل.


2. الأصل

النوع: Char. مرجع الوثيقة المصدر. بالنسبة للتسليم، قد يكون اسم طلب البيع. بالنسبة للإيصال، طلب الشراء. يساعد في تتبع مصدر النقل.


3. الحالة

النوع: Selection. حالة النقل. القيم: مسودة، في انتظار عملية أخرى، في انتظار، جاهز، مكتمل، ملغى. كل حالة تحدد الإجراءات المتاحة. يقوم Odoo بحساب ذلك من حركات المخزون ذات الصلة.


4. picking_type_id

النوع: Many2one (stock.picking.type). نوع العملية. يحدد ما إذا كانت هذه استلامًا أو تسليمًا أو نقلًا داخليًا. مطلوب. كل نوع من أنواع الاستلام له مواقع مصدر ووجهة افتراضية.


5. move_ids

النوع: One2many (stock.move). حركات المخزون. تمثل كل سطر منتجًا وكمية للنقل. هذه هي جوهر النقل. تعمل جميع منطق الحجز والتوافر على هذه الحركات.


6. move_line_ids

النوع: One2many (stock.move.line). العمليات التفصيلية. عندما يكون لديك تتبع للدفعات أو الأرقام التسلسلية، تخزن هذه الأسطر الدفعات والمواقع المحددة. تستخدم للاختيار، والتعبئة، والتحقق.


7. location_id

النوع: Many2one (stock.location). موقع المصدر. حيث يتم أخذ المنتجات منه. مطلوب. بالنسبة للتسليمات، يكون هذا عادةً موقع المخزون. بالنسبة للاستلامات، يكون موقع المورد.


8. location_dest_id

النوع: Many2one (stock.location). موقع الوجهة. حيث يتم نقل المنتجات إليه. مطلوب. بالنسبة للتسليمات، يكون هذا عادةً موقع العميل. بالنسبة للاستلامات، يكون موقع المخزون.


9. partner_id

النوع: Many2one (res.partner). جهة الاتصال. بالنسبة للتسليمات، العميل. بالنسبة للاستلامات، المورد. تستخدم للعناوين على الوثائق ولتكامل الناقل.


10. scheduled_date

النوع: تاريخ ووقت. عندما يتم جدولة نقل البيانات ليتم معالجته. يُستخدم للتخطيط وتحديد الأولويات. تعيينه يدويًا يحدد التاريخ المتوقع لجميع حركات المخزون.


11. تاريخ الموعد النهائي

النوع: تاريخ ووقت. الموعد النهائي. غالبًا ما يأتي من أمر البيع أو أمر الشراء. يُستخدم للإشارة إلى النقل المتأخر وتواريخ الوعد للعملاء.


12. تاريخ الانتهاء

النوع: تاريخ ووقت. عندما تم التحقق من النقل أو إلغاؤه. للقراءة فقط. يتم تعيينه تلقائيًا عند الانتهاء من التجميع.


13. الأولوية

النوع: اختيار. مستوى الأولوية. يتم حجز المنتجات أولاً للنقل ذي الأولوية الأعلى. يُستخدم للطلبات العاجلة.


14. نوع النقل

النوع: اختيار. سياسة الشحن. القيم: في أقرب وقت ممكن (يسمح بالتسليم الجزئي) أو عندما تكون جميع المنتجات جاهزة (كل شيء أو لا شيء). يؤثر على متى يمكن معالجة التجميع.


15. معرف المستخدم

النوع: Many2one (res.users). المستخدم المسؤول. يُستخدم للتعيين وتتبع عبء العمل. يتم تعيينه افتراضيًا للمستخدم الحالي عند الإنشاء.


16. معرف الشركة

النوع: Many2one (res.company). الشركة. مرتبطة من نوع الالتقاط. في إعدادات الشركات المتعددة، يحدد هذا أي شركة تمتلك النقل.


17. group_id

النوع: Many2one (procurement.group). مجموعة الشراء. تربط الحركات ذات الصلة معًا. تُستخدم عندما تأتي عمليات الالتقاط المتعددة من نفس الطلب.


18. backorder_id

النوع: Many2one (stock.picking). عندما يتم التحقق من نقل جزئيًا، يتم إنشاء طلب إضافي للباقي. هذا الحقل يرتبط بالالتقاط الأصلي.


19. backorder_ids

النوع: One2many (stock.picking). الطلبات الإضافية التي تم إنشاؤها من هذا الالتقاط. تُستخدم عندما تتحقق جزئيًا وتحتاج إلى معالجة الباقي لاحقًا.


20. return_id

النوع: Many2one (stock.picking). إذا تم إنشاء هذا الالتقاط كإرجاع، فإن هذا يرتبط بالالتقاط الأصلي. يُستخدم لعمليات الإرجاع.


21. note

النوع: Html. ملاحظات داخلية. مرئية لمستخدمي المستودع. يمكن أن تتضمن تعليمات خاصة أو متطلبات معالجة.


22. signature

النوع: صورة. التوقيع الذي تم التقاطه عند التحقق من التسليم. يُستخدم كدليل على التسليم. مخزن كمرفق.


23. تم التوقيع عليه

النوع: بولياني. يتم حسابه من التوقيع. يشير إلى ما إذا كان التسليم قد تم التوقيع عليه.


24. معرف المالك

النوع: Many2one (res.partner). المالك الذي سيتم تعيينه عند التحقق. يُستخدم للشحن أو عندما تنتمي المنتجات إلى طرف ثالث.


25. معرفات مستوى الحزمة

النوع: One2many (stock.package_level). مستويات الحزمة عند استخدام وضع في الحزمة. تجمع خطوط الحركة في حزم للشحن.


26. تاريخ الإنشاء

النوع: تاريخ ووقت. عندما تم إنشاء السجل. يتم إدارته تلقائيًا بواسطة Odoo. موروث من النموذج الأساسي.


27. تاريخ الكتابة

النوع: تاريخ ووقت. عندما تم تعديل السجل آخر مرة. يتم إدارته تلقائيًا. موروث من النموذج الأساسي.


28. نشط

النوع: بولياني. علامة الحذف الناعم. عندما تكون القيمة خاطئة، يتم أرشفة السجل. موروثة من النموذج الأساسي.

كيف يتم استخدام هذا النموذج في سير العمل التجاري


1. المبيعات والتسليم

عندما يتم تأكيد طلب البيع، يقوم أودو بإنشاء أمر تسليم (stock.picking). يرتبط الأمر بالتسليم عبر الأصل. يقوم موظفو المستودع بالاختيار والتعبئة، ثم التحقق. تنتقل الحالة من مسودة إلى جاهز إلى مكتمل.


2. الشراء والاستلام

عندما يتم تأكيد طلب الشراء، يقوم أودو بإنشاء استلام وارد. يستلم الأمر المنتجات من موقع المورد إلى المخزون. partner_id هو المورد. التحقق يحدث تحديثات في كميات المخزون.


3. التحويلات الداخلية

يؤدي نقل المخزون بين المستودعات أو المواقع إلى إنشاء عمليات استلام داخلية. يحمل picking_type_id الرمز 'داخلي'. الموقع والوجهة كلاهما مواقع مخزون داخلية.


4. المرتجعات والطلبات المتأخرة

عندما يتم إرجاع عملية بيع، يتم إنشاء عملية استلام مرتجع. يرتبط return_id بالتسليم الأصلي. عندما يتم التحقق جزئيًا من التسليم، يحمل backorder_ids العمل المتبقي.


5. التصنيع والإنتاج

تقوم أوامر التصنيع بإنشاء عمليات استلام للمواد الخام (الاستهلاك) والمنتجات النهائية (الإنتاج). يتم توسيع نموذج stock.picking بواسطة وحدة mrp لهذه التدفقات.

كيف يقوم المطورون بتوسيع هذا النموذج


يقوم المطورون بتوسيع stock.picking باستخدام عدة أنماط. وراثة نموذج أودو هي الآلية الرئيسية.


وراثة النموذج

استخدم _inherit = 'stock.picking' لتوسيع النموذج. أضف حقول جديدة، أو.override طرق، أو أضف قيود. يحتفظ نموذج الوراثة في Odoo بتغييراتك في وحدة منفصلة لتسهيل التحديثات.


إضافة حقول

حدد حقول Odoo جديدة في النموذج الموروث. استخدم نوع الحقل الصحيح: Char، Many2one، Boolean، Integer، Text، Selection. اعتبر الحقول المعتمدة على الشركة للشركات المتعددة.


امتدادات بايثون

قم بتجاوز button_validate، action_assign، أو _create_backorder لإضافة منطق. استخدم super() لاستدعاء الأصل. كن حذرًا مع انتقالات الحالة وإنشاء التحركات.


استوديو Odoo

يتيح لك استوديو Odoo إضافة حقول بدون كود. جيد للتخصيصات السريعة مثل التسميات المخصصة أو الملاحظات الإضافية. بالنسبة للمنطق المعقد أو تكامل الناقل، فإن الوحدات المخصصة أكثر قابلية للصيانة.

أفضل الممارسات


  • دائمًا قم بتعيين picking_type_id عند إنشاء pickings يدويًا. إنه يقود المواقع الافتراضية والسلوك.
  • استخدم حقل الأصل لتتبع المصدر الوثيقة. يساعد في التقارير وتصحيح الأخطاء.
  • عند بناء تكاملات API، يتم عرض نموذج stock.picking بالكامل عبر واجهة برمجة تطبيقات Odoo. أنشئ التحركات عبر علاقة move_ids. لا تقم بإنشاء pickings بدون تحركات.
  • استخدم scheduled_date للتخطيط. يؤثر على الحجز والأولوية.
  • للحقول المخصصة، استخدم بادئة x_ أو بادئة وحدة لتجنب التعارضات مع إصدارات أودو المستقبلية.

الأخطاء الشائعة


  • إنشاء عمليات استلام دون تعيين picking_type_id. يمكن أن يؤدي ذلك إلى مواقع افتراضية خاطئة.
  • تعديل move_ids بعد التأكيد دون فهم آلة الحالة. يمكن أن تكون انتقالات الحالة معقدة.
  • نسيان تعيين partner_id للتسليمات. تحتاج شركات النقل والمستندات إلى جهة الاتصال.
  • تجاوز button_validate دون استدعاء super(). يمكن أن يؤدي ذلك إلى كسر إنشاء الطلبات المتأخرة ووحدات أخرى.
  • افتراض أن move_ids و move_line_ids متزامنة دائمًا. يتم إنشاء خطوط الحركة عندما تقوم بالحجز أو عندما تستخدم العمليات التفصيلية.

الخاتمة


نموذج stock.picking هو محور نظام أودو للمخزون. يخزن التحويلات، والتسليمات، والإيصالات. سيساعدك فهم حقوله وكيفية توسيع الوحدات له في تكوين أودو وتخصيصه ودمجه بشكل فعال.


سواء كنت مستشارًا وظيفيًا يحدد عمليات المستودع أو مطورًا يبني وحدات مخصصة، فإن فهم stock.picking بشكل جيد سيوفر الوقت ويمنع الأخطاء.

هل أنت مستعد لتحسين مستودع Odoo الخاص بك


Dasolo تساعد الشركات في تنفيذ وتخصيص وتحسين أودو. نحن متخصصون في تكامل واجهات برمجة التطبيقات وتطوير أودو. يتمتع فريقنا بخبرة عميقة في بنية بيانات أودو ونماذج مثل stock.picking.


إذا كنت بحاجة إلى مساعدة في تنفيذ أودو الخاص بك، أو وحدات المستودع المخصصة، أو التكاملات، فنحن هنا للمساعدة. احجز عرضًا توضيحيًا لمناقشة مشروعك.

نموذج جرد المخزون: فهم عمليات النقل والمستودعات في أودو
Dasolo 10 مارس 2026
شارك هذا المنشور
تسجيل الدخول حتى تترك تعليقاً