الدروس · الدرس 4 من 5
تغذية الآلة، وعدّان يجب ألّا يندمجا
كيف يدخل الناتج الملتقط آلياً إلى التطبيق، وأين يحطّ كل صفّ، وما الذي يمنع احتسابه مرّتين، ولماذا المنتَج غير القابل للشحن.
الدرس 4 من 5 · 24 د
الصالة تعدّ سلفاً
نظام تتبّع صالة الإنتاج يعدّ القطع عند العملية، طول النهار، بلا كتابة أحد. وذلك يفوق دفتر المشرف، فإدخاله يستحقّ العناء بداهةً.
والخطر ليس في التغذية. بل في أن التطبيق يعدّ أيضاً، باليد. وعدّان لشيء واحد أسوأ من عدّ واحد لأي شيء. هذا الدرس عن كيفية دخول التغذية وأين يحطّ كل صفّ. وهو أيضاً عن الموضعين اللذين يأبى فيهما التطبيق دمج العدّين.
عند Doru نظام الصالة يعمل على ORD-1362. وقد أعدّت Corina الوصلة، لأنها وحدها تستطيع. يتابع هذا الدرس صفاً واحداً من ناتج الآلة من ملفّ التصدير إلى مجموع المنتَج على الطلبيّة. ثم يطرح سؤالاً أصعب: ماذا يخوّل ذلك المجموع لأحد أن يشحنه فعلاً؟
غرفتان، عن قصد
الوصلة والعمل اليومي في موضعين مختلفين، والفصل مقصود.
الوصلة تقيم في الإعدادات، مع بقية التكاملات، وهي للمالك وحده. تُضبط مرّة: عنوان، ومعرّف الشركة، ومعرّف المصنع، ودخول وكلمة سرّ. والرفع اليومي يقيم في «الإنتاج ← إنتاج الماكينات»، حيث يبلغه المخطِّط والصالة. وتصف القائمة تلك الصفحة بأنها الرفع اليومي للناتج الملتقط آلياً، منزوع التكرار كي لا يحتسب رفع مكرّر مرّتين.
يسحب Doru ملفّ التصدير إلى الصفحة. ويستطيع لصق الصفوف بدلاً منه، خلف طيّة. وفي الحالين يقرأ التطبيق ويعاين قبل أن يسجّل شيئاً.
ماذا يجب أن يحمل الصفّ
يُقسم السطر على الفواصل أو المسافات الجدولية، ويحتاج أربع خانات على الأقل: مرجع الطلبيّة، والقطع، والتاريخ، والمعرّف الخارجي. وخانة خامسة، إن وُجدت، تسمّي قسماً.
وثلاث من تلك شروط لا حقول. فالصفّ بلا مرجع طلبيّة يُسقَط. والصفّ الذي عدد قطعه ناقص أو صفر أو سالب يُسقَط. والصفّ بلا معرّف خارجي يُسقَط. تُسقَط قبل المعاينة، بصمت، مع سطر الترويسة — وتلك معاملة واحدة، لأن الترويسة ترسب في الاختبارات نفسها. فأول ما تفحصه بعد المعاينة هو هل يطابق عدد الصفوف المعروضة عدد سطور الملفّ.
والمعرّف الخارجي وحده من الأربعة لا معنى له عند إنسان، وهو أهمّها. فهو مفتاح إزالة التكرار، وكل ما أدناه يعتمد على وجوده.
أربعة أحكام، وأين يحطّ الصفّ السليم
ينال كل صفّ ناجٍ حكماً من أربعة.
| الحكم | التسمية المعروضة | المعنى |
|---|---|---|
| مطابَق | سيُسجَّل | عُثر على الطلبيّة وهذا المعرّف الخارجي لم يُرَ من قبل |
| مكرّر | مسجَّل سلفاً | هذا المعرّف الخارجي في دفتر الاستيعاب سلفاً |
| مغلق | الطلبيّة مغلقة — لن يُسجَّل | الطلبيّة موجودة لكنها مشحونة أو مستلمة أو ملغاة |
| غير مطابَق | لا طلبيّة في التطبيق | لا طلبيّة في هذا التطبيق تحمل ذلك المرجع |
وحكم «المغلق» يستحقّ وقفة، لأن الرفض يبدو غير معين. والتعليل في الشيفرة أن ناتج آلة يحطّ على طلبيّة مسوّاة خطأ مطابقة في الغالب الأعمّ، وتسجيله يغيّر الدفتر على طلبيّة أقفلها أحدهم سلفاً. فيُعرض ويُعدّ ولا يُسجَّل.
ثم على الصفّ المطابَق أن يحطّ في موضع، والتطبيق يجرّب ثلاثة مسارات بالترتيب.
- بطاقة عمل القسم المسمّى. إن سمّى الصفّ قسماً، بحث التطبيق عن بطاقة عمل مفتوحة واحدة على تلك الطلبيّة يطابق قسمها أو رمز مرحلتها، بلا اعتبار لحالة الأحرف. واحدة بالضبط. ومطابقان التباس فيسقط.
- بطاقة خياطة الطلبيّة. ومع عدم تسمية قسم، يبحث التطبيق عن بطاقة خياطة مفتوحة واحدة على أوامر إنتاج الطلبيّة الحيّة. واحدة بالضبط كذلك.
- مجموع الطلبيّة. ومع غياب أوامر الإنتاج، أو مع وجود أكثر من بطاقة مرشّحة، يُسجَّل الصفّ على الطلبيّة نفسها.
والمساران الأولان مهمّان لأنهما يمرّان بالدالّة نفسها التي يمرّ بها إدخال المشرف على بطاقة العمل. لا دفتر آلة منفصل. والتعليق في الشيفرة صريح في أن أي جسر مستقبلي يكتب عبر تلك الدالّة الواحدة ولا يصير دفتراً رابعاً، والاستيعاب يلتزم بذلك.
والصفّ الذي ترفضه قواعد الإنتاج يُتخطّى، ويُعدّ في النتيجة، وتمضي الدفعة. وأشيع الرفض سقف التجاوز. فناتج الطلبيّة المسجَّل لا يتعدّى كمّيتها زائد بدل خمسة في المئة، فتقف ORD-1362 عند 12,600 قطعة. وصفّ واحد فاسد لا يجهض ملفّاً سليماً.
حارسان ضدّ العدّ مرّتين
التغذية واليد طريقتان لتسجيل القطع نفسها، فالتطبيق يحرس الحدّ مرّتين.
الحارس الأول دفتر الاستيعاب. فكل صفّ موجَّه يكتب معرّفه الخارجي في جدول خاصّ، وإعادة الاستطلاع أو إعادة الرفع لذلك المعرّف تجده فلا تفعل شيئاً. ويُفحص الدفتر مع التقاطات الصالة، والسبب دقيق. فالمسار إلى بطاقة عمل ليست خياطة لا يكتب التقاط صالة البتّة. والفحص الذي ينظر في الالتقاطات وحدها يفوته ذلك ويدع الصفّ يدخل مرّتين.
والحارس الثاني قفل الطلبيّة المتتبَّعة. فقد تُعلَّم الطلبيّة متتبَّعةً آلياً، وما دامت كذلك يُرفض الإدخال اليدوي في الموضعين اللذين قد يكتب فيهما إنسان. تقول الشاشة الميدانية إن ناتج صالة الطلبيّة يأتي من تغذية الآلة، وتقول قائمة بطاقات العمل الشيء نفسه. وكلتا الرسالتين تسمّي المخرج: أطفئ التتبّع على الطلبيّة.
الوصلة الحيّة، وماذا تقول عن نفسها
تستطيع Corina وصل نظام الصالة كما ينبغي، والتطبيق صريح على غير المعتاد في مدى ما يبلغها ذلك.
الوصل يأبى قبل أن يطلب ما لا يستطيع حمايته. فإن لم يكن على الخادم مفتاح لتعمية كلمة سرّ مخزَّنة، قالت اللوحة ذلك أولاً. والملاحظة التي تعرضها لا تسمّي إعداد خادم — بل تخبر العميل أن هذا شيء يُشغَّل عندنا. ومتى قُبلت التفاصيل، عُمّيت كلمة السرّ في مخزنها بالأداة نفسها التي تستعملها رموز قواعد بيانات المستأجرين. ويُمسح أي رمز جلسة سابق، كي يدخل النداء التالي من جديد.
واختبار الاتصال يدخل فعلاً. يفرض تسجيل دخول بدل الإبلاغ بالنجاح من رمز مخزَّن، لأن الإبلاغ من مخزن لا يثبت شيئاً. وعند النجاح يسمّي أين حطّ، ثم يقول، بكلماته، إن تغذية الآلة تُشغَّل في الخطوة التالية.
وتلك الجملة تعمل عملاً حقيقياً، وقراءة الاستطلاع تؤكّدها. فالاستطلاع المجدول والفحص داخل التطبيق ينادي كلاهما دالّة واحدة. وتلك الدالّة تقرأ الوصلة المخزَّنة وتجلب برمز الجلسة الذي تجده فيها. لكن الوصل قد مسح ذلك الرمز عن قصد، ولا شيء في مسار الاستطلاع يجدّده. فالدخول الذي يثبته زرّ الاختبار والاعتماد الذي يرسله الاستطلاع ليسا الشيء نفسه بعد. ويقول تعليق الوحدة نفسه إن الاستطلاع ما زال يجري على المسار الأقدم حتى يُبدَّل الجالب.
والسلوك حين يعجز عن بلوغ النظام الآخر هو الجزء المنجز. فالاستطلاع غير الموصول لا يسجّل شيئاً ويقول إن الوصلة ناقصة. والاستطلاع الذي يخفق جلبه لا يسجّل شيئاً، ويترك ساعة المزامنة كما هي، ويقول إنه سيعيد المحاولة. ولا يدّعي أيّهما أبداً أنه نقل بيانات لم ينقلها.
المنتَج ليس القابل للشحن
آخر أجزاء هذا الدرس هو الذي يكلّف مالاً، وهو سطح منفصل عن كل ما سبق.
أعداد قطع التغذية قطعٌ خارجة من الخطّ. وليست ادّعاءً عن الجودة. ولقطة الدرجات قراءة أخرى من النظام نفسه، تصل في لحظة أخرى، والتطبيق يفصلها فصلاً حازماً. فهي لا تمسّ أبداً مجموع المنتَج ولا التقاطات الصالة ولا دفتر الاستيعاب. وخلطها يفسد العدّ الذي وُجد الحارسان أعلاه لحمايته.
والدرجات نصّ حرّ وليست بالإنجليزية في الغالب. وجواز شحن الدرجة الثانية مسألة تعاقد مع المشتري لا خاصّية في الدرجة. فيأبى التطبيق الاستنتاج. وتصنّف Corina كل درجة بنفسها، مرّة، في الإعدادات، إلى واحد من ثلاثة معانٍ.
| السلّة | مصدرها | أتُحتسب قابلة للشحن |
|---|---|---|
| جودة أولى — تُشحن | درجة صنّفها المالك على أنها تُشحن | نعم |
| درجة ثانية | درجة صنّفها المالك درجةً ثانية | لا |
| خردة | درجة صنّفها المالك خردة | لا |
| تحت الإصلاح | حال قطعة يبلّغ بها النظام، لا درجة | لا |
| درجة غير مصنَّفة | درجة بلا تصنيف بعد | لا |
واثنتان من تلك الخمس هما الغاية كلّها. فالدرجة التي لم يصنّفها أحد تُحتسب مجهولة، لا قابلة للشحن أبداً. والأصل هو الحذر، فنسيان التصنيف يبخس لا يبالغ. والقطعة تحت الإصلاح لا تُحتسب جودةً أولى مقبلة، لأن التوقّع يعني اختراع معدّل تعافٍ. فتبقى في الخطر إلى أن ينقلها استطلاع لاحق.
والذي تناله بوّابة الشحن تنبيه لا منع. يسمّي كم من القطع المطلوبة جودة أولى، ويعدّد ما البقيّة، ويشير إلى تبويب الإنتاج على الطلبيّة. فالشحنة الناقصة داخل تفاوت متّفق عليه مشروعة، وكذلك تنازل المشتري، فيأبى التطبيق أن يقرّر. ويسكت أيضاً حين تغطّي الجودة الأولى الطلبيّة، لأن الدرجة الثانية بعد طلبيّة كاملة هدر لا مشكلة شحن.
اختبر فهمكيسجّل ملفّ 900 قطعة على ORD-1362 وخانة قسمه تقول «التشطيب». وللطلبيّة بطاقتا عمل تشطيب مفتوحتان. أين يحطّ الصفّ، وما كلفة ذلك الجواب؟أظهر الإجابة
على مجموع الطلبيّة. فمسار القسم يحتاج بطاقة مفتوحة مطابقة واحدة بالضبط، ووجود مرشّحَين التباس، فيسقط التطبيق بدل أن يخمّن. والصفّ يُسجَّل رغم ذلك، ومجموع المنتَج يبقى صحيحاً، ويدخل المعرّف الخارجي دفتر الاستيعاب — فلا شيء يضيع ولا يُحتسب مرّتين. والذي يضيع هو التمييز. فلا بطاقة تشطيب تتقدّم، وتظلّ قائمة العمل تعرض العمل نفسه معلّقاً على كلتيهما، ومن يقرأ البطاقتين يظنّ أن مرحلة التشطيب لم تتحرّك. والإصلاح ليس في التكامل البتّة: بل في الكفّ عن وجود بطاقتين مفتوحتين لقسم واحد على طلبيّة واحدة، أو في جعل التغذية تسمّي شيئاً أدقّ من القسم. والتطبيق محقّ في تفضيل مجموع طلبيّة صحيح على بطاقة مخمَّنة، لأن البطاقة المتقدّمة خطأً أصعب ملاحظة من بطاقة لم تتقدّم.
اختبر فهمكيقول Doru إن مجموع المنتَج ولقطة الدرجات ينبغي التوفيق بينهما، كي تعرض الطلبيّة رقماً واحداً يثق به الجميع. حاجج للطرفين.أظهر الإجابة
معه: رقمان على شاشة واحدة هو بالضبط الالتباس الذي تحذّر منه هذه الدورة، ومنسّق التجارة السائل «كم صنعنا» لا يريد أن يُناوَل خياراً. وضدّه، وهو سبب امتناع التطبيق: هما جوابان عن سؤالين مختلفين، مأخوذان في لحظتين مختلفتين، وليس أحدهما خاطئاً. فالمنتَج قطع خارجة من الخطّ، مسجَّلة عبر مسار الالتقاط، وهو الذي تنطبق عليه الحراسة وسقف التجاوز. ولقطة الدرجات قراءة جودة تصل لاحقاً وقد تتحرّك متى عادت الإصلاحات ناجحة. والتوفيق بينهما يعني اختيار أحدهما ليطمس الآخر، وكلا الاختيارين يتلف معلومة حقيقية — فطمس المنتَج يجعل عدّ الصالة نفسه غير قابل للتدقيق، وطمس الدرجات يخفي كل إصلاح بصمت. فيعرض التطبيق كليهما ولا يوفّق بينهما، وتقرأ بوّابة الشحن جانب الدرجات لأن الشحن سؤال عن قطع الجودة الأولى لا عن الناتج.
موجّه · هل يُحتسب ناتج الآلة عنهذه مرّتين
في الشهر الأول من أي تغذية من صالة الأنتاج، وفي أي وقت يبدو فيه مجموع المنتَج على طلبيّة أعلى مما كان الخطّ يستطيع صنعه.
ساعدني في فحص ما إذا كان الناتج الملتقط آلياً في MerchandiserOS يُحتسب مرّتين، أو يضيع. سأعطيك: أي الطلبيّات معلّمة بالتتبّع الآلي، وأيّها يظهر في آخر ملفّ ناتج، وأعداد المعاينة من ذلك الرفع، وهل يُدخل أحد الناتج بيهذا على الطلبيّات نفسها. اعمل على ثلاثة مخاطر منفصلة وأبقِها منفصلة. أولاً، الاحتساب المزدوج. الطلبيّة التي تستقبل صفوف تغذية وهي غير معلّمة بالتتبّع يبقى الإدخال اليدوي مفتوحاً علماذاا. اذكر كل طلبيّة في تلك الحال، فهي التي يمكن أن تُسجَّل قطعها مرّتين على يد شخصين نزيهين. ثانياً، الفقد الصامت. تُسقَط الصفوف قبل المعاينة إذا لم تحمل معرّفاً خارجياً، أو مرجع طلبيّة، أو عدد قطع موجباً. قارن عدد سطور ملفّي بعدد الصفوف التي أظهرتها المعاينة، وأخبرني هل اختفى شيء. ثالثاً، مكان الحطّ الخاطئ. أخبرني أي طلبيّاتي فيها أكثر من بطاقة عمل مفتوحة للقسم نفسه، فصفّ التغذية الذي يسمّي ذلك القسم سيرتدّ إلى مجموع الطلبيّة ويترك البطاقات بلا تقدّم. لا توفّق بين مجموع المنتَج ودرجات الجودة. هما قراءتان مختلفتان وليست إحداهما خاطئة.
قد يخطئ الذكاء الاصطناعي — تحقّق من أي شيء ستتصرّف بناءً عليه.