انتقل إلى المحتوى

حل مشكلة جولة غير مكتملة

الهدف

اقرأ جولة تخصيص تعذّر فيها ملء سطر طلب، واكتشف لماذا استُبعد مرشَّح — وهي أكثر لحظات التخطيط الواقعية شيوعًا.

مَن يمكنه ذلك

  • رؤية الجولة + أي السطور ناقصة: أي شخص يملك allocation_run.read.
  • رؤية سبب استبعاد أي شخص (سبب الإخفاق الصارم لكل قاعدة): allocation_run.debug — مسؤول النظام فقط.

اقرأ هذا أولًا (الاكتشاف F6 — الحدّ الصريح): إن المخطِّط لا يرى سوى المرشَّحين المؤهَّلين ومَن اختير — لا أسباب الاستبعاد. والتشخيص الذي تحتاجه لسطر غير مكتمل ("لا توجد قاعدة إعارة"، "انتهت صلاحية الشهادة"، "في إجازة") محصور بصلاحية المسؤول/التصحيح. فإن كنت مخطِّطًا تحدّق في سطر ناقص ولا ترى السبب، فهذا حدّ المنتج لا خطؤك — اطلب من مسؤول (أو من يملك allocation_run.debug) قراءة الأسباب.

قبل أن تبدأ

  • جولة مُنفَّذة (Computed) فيها سطر واحد على الأقل مملوء جزئيًا. في العرض التجريبي، الجولة AR-20260601-002 (الخطة #46، Demo Container Terminal، SHT-EVE-16) فيها سطر جزئي.

الخطوات

  1. افتح الجولة (/allocation-runs/{id}). تُظهر السطور نسبة ملئها — السطر المُعلَّم مثلًا بـ 1 جزئي لم يبلغ العدد المطلوب.

An unfilled run — a line short of its head count, with Eligible and Ineligible counts per line.

  1. بصفتك مسؤولًا (صلاحية تصحيح)، وسّع قسم Ineligible (N) للسطر الناقص. يُظهر كل مرشَّح غير مؤهَّل القاعدة الصارمة التي أخفقت ونصّ السبب.

The admin/debug view of the same run — the Ineligible section expanded, showing each candidate's FAILED HARD RULE and reason, e.g. "Cross-pool ineligibility: pool POL-T1-MNT-MCH cannot lend to pool POL-DEMO-01 on 2026-06-01".

ملاحظة على الصورة (F6): أسباب عدم التأهُّل أعلاه مرئية فقط مع allocation_run.debug (مسؤول النظام). أما المخطِّط على هذه الشاشة نفسها فسيرى قوائم Eligible لكن لا يرى صفوف الأسباب هذه.

  1. اقرأ السبب وتصرّف: مثلًا cross-pool ← يُنشئ المسؤول قاعدة إعارة بين المجموعات (انظر إنشاء جدولcert expired ← يجب تجديد شهادة الموظف (ملاحظة: لا توجد واجهة للشهادات — الاكتشاف F7)؛ on leave ← متوقَّع؛ hour/rest limits ← المرشَّح تجاوز حدًّا من حدود العمل.

ماذا يفعل النظام

القواعد الصارمة بوابات: أول إخفاق صارم يجعل المرشَّح غير مؤهَّل ويوقف أي تقييم إضافي له — فلكل مرشَّح غير مؤهَّل قاعدةٌ أساسية واحدة بالضبط أخفق فيها. يُسجِّل المحرّك سببًا لكل نجاح/إخفاق؛ لكن الواجهة لا تُظهر سوى أسباب الإخفاق الصارم في هذا العرض التصحيحي. انظر قواعد التخصيص.

ما قد يعيقك

  • لا صلاحية تصحيح ← لا أسباب. هذا هو القيد الجوهري (F6)؛ لا يوجد في الإصدار الأول عرض "سبب الاستبعاد" موجَّه للمخطِّط.
  • أسباب الشهادات لا يمكن إصلاحها داخل التطبيق: الشهادات تتحكّم في التخصيص لكن لا واجهة لإدارتها (F7) — التجديد عبر الاستيراد/الواجهة البرمجية.
  • كما أن مستوى المساواة (الفوج) (Below/At/Above) خلف الدرجة المرنة لا يظهر في أي مكان في الواجهة أيضًا (F8).

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

السبب على الشاشة ماذا يعني الإصلاح
Cross-pool ineligibility: pool X cannot lend to pool Y لا توجد قاعدة إعارة تتيح لـ X خدمة طلب Y يضيف المسؤول قاعدة إعارة بين المجموعات (X→Y، RequiresApproval=false، فعّالة)
Leave conflict: … has approved leave … المرشَّح في إجازة مُعتمدة ذلك اليوم متوقَّع — اختر مرشَّحًا آخر
Hour limit / Rest hours / Max consecutive المرشَّح تجاوز حدًّا من حدود وقت العمل حارس متوقَّع — عدّل الطلب أو استخدم مرشَّحًا آخر
Cert expiry شهادة مطلوبة مفقودة/منتهية الصلاحية جدِّد عبر الاستيراد/الواجهة البرمجية (لا واجهة)

ذات صلة