انتقل إلى المحتوى
DevMarket
وحدات Odooإضافات ووردبريسقوالب ووردبريسقوالب Shopifyقوالب التطبيقاتالسكربتات والأدواتالمدونةبِع على DevMarket

توثيق مولّد SKU والباركود التلقائي لأودو 19

دليل SKU والباركود التلقائيين: كيف تُبنى الرموز والإعدادات والبادئات لكل فئة والمتغيرات وملء المنتجات الموجودة والضمانات.

يشرح الإصدار 1.0.1حُدّث في 23 أكتوبر 2026

ابدأ من هنا

ببساطة: يحتاج كل منتج إلى رمز: SKU يستطيع الناس قراءته وقوله بالهاتف، وباركود تقرؤه الماسحات. كتابتهما يدويًا تعني فجوات وتكرارًا وسؤال «ما آخر رقم استخدمناه؟». تمنح هذه الوحدة كل منتج جديد الاثنين تلقائيًا لحظة حفظه.
منتج جديد حُفظ دون كتابة رمز: المرجع FUR-0001 وباركود EAN-13.
منتج جديد حُفظ دون كتابة رمز: المرجع FUR-0001 وباركود EAN-13.
ما تفعلهما تفعله الوحدة
تحفظ منتجًا جديدًاتملأ المرجع (SKU) ببادئة الفئة والرقم التالي، والباركود بـEAN-13 صحيح.
تضيف متغيرات (لون، مقاس)يحصل كل متغير على رمز بنمط SKU-RED-M وباركود خاص به.
لديك آلاف المنتجات بلا رموزنقرة واحدة تملأ الناقص. ولا تُمَسّ الرموز الموجودة.
نصيحة: لا يُستبدل شيء كتبته أنت أبدًا، ولا تنشئ الوحدة رمزًا مكررًا: إن كان الرمز مأخوذًا تأخذ التالي الحر.

كيف تبدو الرموز

الرمزمثاليتكوّن من
SKU المنتجFUR-0042بادئة الفئة FUR + الفاصل - + الرقم 0042
SKU المتغيرCLO-0001-RED-MSKU المنتج + أول 3 أحرف من كل خيار (Red وM)
الباركود (EAN-13)2000000000015بادئتك 200 + عدّاد 000000001 + رقم التحقق 5
الباركود (مثل SKU)FUR-0042الـSKU نفسه كباركود Code 128
ببساطة: البادئة والفاصل وعدد الأرقام ونوع الباركود كلها إعدادات. ويُحسب رقم التحقق عنك، فكل EAN-13 صحيح ويُمسح من أول مرة.
نصيحة: الأرقام من 200 إلى 299 تحجزها GS1 للاستخدام الداخلي فلا تتعارض أبدًا مع باركودات الموردين المطبوعة على بضائعهم. ويمكنك اختيار أي بادئة من 2 إلى 8 أرقام.

المتطلبات

البندالتفاصيل
أودو19.0 (Community أو Enterprise)
التطبيقات المطلوبةتطبيق المنتجات الأساسي فقط (product)، وهو موجود في كل قاعدة بيانات للمبيعات أو المخزون أو المشتريات أو نقاط البيع
الرخصةOPL-1 (رخصة أودو الخاصة v1.0)

التثبيت

  1. فُكّ ضغط الحزمة. بداخلها taqnix_sku_barcode_generator.zip؛ فُكّه لتحصل على المجلد taqnix_sku_barcode_generator.
  2. انسخ المجلد إلى أحد مجلدات addons_path في خادم أودو وأعد تشغيل أودو.
  3. سجّل الدخول كمدير وفعّل وضع المطوّر ثم افتح التطبيقات واضغط تحديث قائمة التطبيقات.
  4. أزل مرشح «التطبيقات» وابحث عن SKU واضغط تثبيت.
# أو من سطر الأوامر
./odoo-bin -c odoo.conf -d YOUR_DATABASE -i taqnix_sku_barcode_generator --stop-after-init
نصيحة: التثبيت لا يغيّر شيئًا في منتجاتك الحالية. من الآن تحصل المنتجات الجديدة على رموز. استخدم الفصل 9 لملء القديمة.

الإعدادات

ببساطة: افتح الإعدادات ← رموز المنتجات. الإعدادات خاصة بكل شركة.
الإعدادات ← رموز المنتجات: SKU والباركود.
الإعدادات ← رموز المنتجات: SKU والباركود.
الإعدادما يفعله
توليد SKU للمنتجات الجديدةتشغيل أو إيقاف SKU التلقائي.
البادئة الافتراضيةتُستخدم للمنتجات التي لا تملك فئتها (ولا فئاتها الأم) بادئة. الافتراضي PRD.
الفاصليوضع بين البادئة والرقم وخيارات المتغير. الافتراضي -.
عدد الأرقام في الرقم4 تعطي 0001 حتى 9999؛ و6 تعطي 000001. الافتراضي 4.
توليد الباركود للمنتجات الجديدةتشغيل أو إيقاف الباركود التلقائي.
نوع الباركودEAN-13 ببادئتك الخاصة، أو SKU كباركود.
بادئة EAN-13من 2 إلى 8 أرقام في بداية كل باركود. الافتراضي 200.

بادئة لكل فئة

ببساطة: يبدأ الـSKU ببادئة فئة المنتج. افتح المخزون ← الإعدادات ← فئات المنتجات (أو المبيعات أو الفوترة، حيث تحتفظ بالفئات) واملأ بادئة SKU.
فئة الأثاث لها البادئة FUR.
فئة الأثاث لها البادئة FUR.
القاعدةمثال
الفئة التي لها بادئة تستخدمهاالأثاث: FUR ← FUR-0001 وFUR-0002…
الفئة الفرعية بلا بادئة تستخدم بادئة أبيها وتتشارك عدّادهالأثاث / المكتب ← FUR-0003
أحرف وأرقام فقط، حتى 12، وتُحفظ بأحرف كبيرةoff تُحفظ OFF
لا بادئة في أي مكان أعلى الشجرةالبادئة الافتراضية: PRD-0001
فئتان بالبادئة نفسهاتتشاركان عدّادًا واحدًا: لا تعارض
فئة فرعية بلا بادئة خاصة: تعرض البادئة المستخدمة والرقم التالي.
فئة فرعية بلا بادئة خاصة: تعرض البادئة المستخدمة والرقم التالي.
ببساطة: يعرض الرقم التالي الرقم الذي سيحصل عليه المنتج القادم. ويمكنك تغييره، مثلًا لمتابعة نظام قديم: اكتب 5000 فيكون المنتج القادم FUR-5000.

المنتجات الجديدة

ببساطة: أنشئ منتجًا كالمعتاد واحفظه. إن كان المرجع أو الباركود فارغًا تملؤه الوحدة. هذا كل شيء.
الحالةالنتيجة
كتبت مرجعًايُحفظ. ويُولَّد الباركود فقط (إن كان فارغًا).
كتبت باركودًايُحفظ. ويُولَّد المرجع فقط (إن كان فارغًا).
تكرر منتجًاتحصل النسخة على رموز جديدة (لا ينسخها أودو).
أُنشئ المنتج باستيراد أو من الموقع أو من تطبيق آخرالأمر نفسه: تُملأ الرموز الفارغة وتبقى الموجودة.
الرقم الذي سيأتي مستخدم عند منتج آخرتأخذ الوحدة التالي الحر.
الباركود مستخدم عند منتج أو تغليف آخرتأخذ الوحدة التالي الحر.
ببساطة: يعرض عنوان المنتج الرمز بين قوسين، [FUR-0001] Ergonomic Standing Desk، في الطلبات والتسليمات والفواتير.

المتغيرات

ببساطة: للمنتجات ذات الخيارات (لون، مقاس…) متغير لكل تركيبة. يحصل كل متغير على SKU وباركود خاصين به، لأن هذا ما تمسحه وتشحنه.
قميص بلونين وثلاثة مقاسات: ستة متغيرات وستة SKU وستة باركودات.
قميص بلونين وثلاثة مقاسات: ستة متغيرات وستة SKU وستة باركودات.
الخيارفي الـSKU
RedRED
BlueBLU
MM
LargeLAR
ببساطة: الـSKU الخاص بالمنتج (هنا CLO-0001) هو الأساس، ويضيف كل خيار أول 3 أحرف منه. وإن حصل متغيران على الرمز نفسه يحصل الثاني على -2.
نصيحة: المنتج ذو المتغيرات لا يعرض مرجعًا في نموذجه: الرموز على المتغيرات. افتح زر المتغيرات أو قائمة متغيرات المنتج.
ببساطة: إن أضفت لونًا جديدًا لاحقًا تحصل المتغيرات الجديدة على رموزها تلقائيًا؛ وتحتفظ الموجودة برموزها.

المنتجات الموجودة بالفعل

ببساطة: المنتجات التي أُنشئت قبل تثبيت الوحدة، أو والوضع التلقائي مُوقَف، بلا رموز. املأها دفعة واحدة.
المنتج بلا رموز يعرض زر توليد الرموز.
المنتج بلا رموز يعرض زر توليد الرموز.
  1. في قائمة المنتجات حدّد المنتجات التي تريدها (أو لا شيء).
  2. افتح الإجراءات ← توليد الرموز الناقصة.
  3. اختر النطاق: المنتجات المحددة أو فئة (مع فئاتها الفرعية) أو كل المنتجات.
  4. راجع الأعداد تحت ماذا سيحدث وضع علامة على SKU و/أو الباركود واضغط توليد.
الإجراءات ← توليد الرموز الناقصة، في قائمة المنتجات.
الإجراءات ← توليد الرموز الناقصة، في قائمة المنتجات.
النطاق والأعداد قبل تغيير أي شيء. «المنتجات في النطاق» تحسب المتغيرات.
النطاق والأعداد قبل تغيير أي شيء. «المنتجات في النطاق» تحسب المتغيرات.
بعدها يحصل كل منتج على رمزه. والمنتجات ذات المتغيرات تعرضها على كل متغير.
بعدها يحصل كل منتج على رمزه. والمنتجات ذات المتغيرات تعرضها على كل متغير.
ببساطة: لمنتج واحد استخدم زر توليد الرموز في نموذجه. وهو ظاهر فقط ما دام المرجع أو الباركود فارغًا.

القواعد والضمانات

الضمانكيف
لا يستبدل شيئًاتُملأ حقول المرجع والباركود الفارغة فقط.
لا SKU مكرريُتخطى الرقم إن كان لأي منتج (حتى المؤرشف) هذا الـSKU.
لا باركود مكرريُتخطى إن كان لأي منتج أو تغليف.
EAN-13 صحيح13 رقمًا، رقم التحقق محسوب، وأساس من 12 رقمًا من بادئتك وعدّاد.
العدّادات لا ترجع للخلفهي تسلسلات في قاعدة البيانات، آمنة عندما يحفظ عدة مستخدمين في اللحظة نفسها.
لا تُعاد الأرقامالمنتج المحذوف أو الملغى يترك فجوة. هذا طبيعي ويُبقي الرموز فريدة.
عدة شركاتالإعدادات لكل شركة؛ عدّادات SKU مشتركة بحسب البادئة، وعدّادات الباركود لكل شركة.
مهم: تغيير بادئة فئة لا يعيد تسمية الـSKU الموجودة. تحتفظ المنتجات القديمة برمزها القديم؛ وتستخدم الجديدة البادئة الجديدة.

للمطورين

ببساطة: تجاوز هذا الفصل إن كنت تستخدم الوحدة فقط.
البندالتفاصيل
product.product._tx_assign_codes(force=False)تملأ الرموز الناقصة للمنتجات. force يتجاهل المفاتيح التلقائية. تعيد (عدد SKU المنشأة، عدد الباركودات المنشأة).
_tx_make_sku(company) / _tx_make_barcode(company)تعيدان الرمز الحر التالي. تجاوزهما لتغيير الصيغة.
السياق tx_skip_codesاجعله True لإنشاء منتجات دون توليد رموز (مثلًا في ترحيل).
السياق install_modeالبيانات التي تحمّلها الوحدات لا تُمنح رموزًا أبدًا.
taqnix.sku.toolsean13_check_digit() وis_valid_ean13().
# أنشئ منتجات بلا رموز ثم املأها لاحقًا
products = env['product.product'].with_context(tx_skip_codes=True).create(vals_list)
products._tx_assign_codes(force=True)

# صيغتك الخاصة: PREFIX/YEAR/NUMBER
class ProductProduct(models.Model):
    _inherit = 'product.product'

    def _tx_make_sku(self, company):
        sku = super()._tx_make_sku(company)
        return sku.replace('-', '/', 1)

استكشاف الأخطاء

المشكلةما العمل
منتج جديد بلا رمزالمفتاح التلقائي مُوقَف في الإعدادات ← رموز المنتجات، أو أُنشئ المنتج بـtx_skip_codes. استخدم زر توليد الرموز.
لا تعرض قائمة المنتجات مرجعًا لمنتج ذي متغيراتهكذا يعمل أودو: الرموز على المتغيرات.
«يجب أن تكون بادئة EAN-13 من 2 إلى 8 أرقام»استخدم أرقامًا فقط، بين 2 و8 منها.
«يمكن أن تحتوي بادئة SKU على أحرف وأرقام فقط»أزل المسافات والشرطات والرموز من بادئة الفئة.
الأرقام تقفزيُتخطى الرقم عندما يستخدم منتج ذلك الـSKU، والمنتج المحذوف يترك فجوة. كلاهما طبيعي.
أريد أن يبدأ SKU من 1 من جديدافتح الفئة وعيّن الرقم التالي إلى 1، لكن فقط إن لم يكن لأي منتج SKU كهذا: تتخطى الوحدة المستخدم.

التحديث والإزالة

استبدل المجلد بالإصدار الجديد وأعد تشغيل أودو ونفّذ -u taqnix_sku_barcode_generator. للإزالة ألغِ تثبيتها من التطبيقات. تبقى الرموز التي مُنحت بالفعل على منتجاتك كقيم عادية للمرجع والباركود. وتُزال البادئات والعدّادات والإعدادات.

الدعم

المساعدة في التثبيت وإصلاح الأخطاء مشمولان لمدة 6 أشهر مع تحديثات مدى الحياة. تواصل معنا عبر صفحة السوق التي اشتريت منها الوحدة أو راسل support@taqnix.com مع إصدار أودو ولقطة شاشة.