القائمة

أرقام التحقق في EAN UPC للباركود

أرقام التحقق في EAN UPC تختم كل باركود بمجموع موزون، وهي التي تمنع قارئ المتجر من تمرير منتج خاطئ إلى الفاتورة عند وقوع خطأ قراءة.

تاريخ النشر

  • التحقق
  • باركود
  • رقم التحقق

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

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

ما العلاقة بين EAN و UPC و GTIN؟

هذه الأسماء الثلاثة تصف المستوى نفسه من الترقيم من زوايا مختلفة. فـ GTIN هو الاسم الذي يستعمل للرقم نفسه بوصفه معرفا عالميا للوحدة التجارية، و EAN و UPC هما ترميزان لهذا الرقم نشأ أحدهما في أوروبا والآخر في أمريكا الشمالية، ثم توسعا حتى تداخلا.

والفارق الذي يشعر به مطور الواجهات هو الطول. فالنظام الأمريكي المبكر استعمل اثني عشر رقما، والنظام الأوروبي استعمل ثلاثة عشر، ثم انتشر الثاني أكثر على مستوى العالم. والانتقال بين الشكلين صار مقننا: يمكن التعبير عن الرقم الأقصر في صورة الأطول بإضافة صفر في أوله، وهذا لا يغير قيمة الرقم ولا رقم التحقق اليومي الذي يقرأه الماسح.

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

كيف يعمل رقم التحقق في الباركود؟

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

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

ولأن العملية كلها على الأرقام، لا تحتاج أي حرف ولا أي معالجة نصية. وهذا هو الفرق الأكبر بين هذا النظام وأنظمة الهوية والكتب، وهو ما يجعل تنفيذه قصيرا نسبيا.

لماذا يعتمد النظام على وزن ثلاثة؟

السبب هو ظروف القارئ الضوئي. فالشعاع يمسح عشرات المرات في الثانية، وقد يقرأ رقما خطأ أو يقرأ رقيما متجاورين بترتيب معكوس. والوزن غير التناظري هو الذي يجعل هذين الخطأين يغيران المجموع فيظهر الفرق على شكل رقم ختام غير مطابق.

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

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

هل يكفي فحص الباركود للتأكد من وجود المنتج؟

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

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

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

للمطورين: البادئة والطول وقاعدة الصفر

المعاملات تصير مألوفة بعد قليل، لكن ثلاث نقاط عملية تكفي لتفادي معظم المتاعب.

  1. طبع كل قيمة قبل المقارنة، وحدد صراحة هل تشتغل بالشكل الأقصر أم بالأطول.
  2. لا تفترض الطول من مصدر البيانات، بل من الصيغة التي يعلنها المستهلك أو الواجهة.
  3. ارفض السلسلة التي يظهر فيها أي حرف غير رقمي، ولا تفترض أنها قيمة معروضة بصورة أخرى.
  4. تعامل مع الرقم المكتوب بخط اليد على الوثائق على أنه حالة مختلفة عن الرقم المطبوع، لأن الأخطاء التي يقع فيها ليست الأخطاء التي يقع فيها القارئ.

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

ماذا يحدث في نقاط البيع؟

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

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

الخطوات التالية

إذا كان منتجك يتعامل مع ملفات بيع، فاختبر قيمة تجريبية من الطولين، وعاين كيف يمرر الشكل الأقصر إلى الأطول. ثم انتقل إلى مقالة أرقام التحقق في ISBN و ISSN لتقارن هذا الحساب بحساب يقع على الحروف لا الأرقام فقط، وستوضح لك أداة التحقق من الأرقام الفرق في صياغة النتيجة بين النظامين.

تابع القراءة

أدلة أداة التحقق من أرقام البطاقات وأرقام الهوية