ربط الملفات بناجزNajiz matter linking
بعد موافقة وزارة العدل على المنتجات، يربط المحامي الملف بقضيته في ناجز برقمها ويؤكد أن القضية المعادة هي الصحيحة، ثم تتزامن الحقول الرسمية. أي اختلاف يظهر في سجل الفروق ليقرر المحامي؛ لا كتابة صامتة. وحتى الموافقة يعمل كل شيء بالإدخال اليدوي.
بطاقة الميزة
| البند | القيمة |
|---|---|
| 1. اسم الميزة | ربط الملفات بناجز — Najiz matter linking |
| 2. المعرّف (Feature ID) | B45 |
| 3. مصدر المتطلب | خطة ناجز للمطورين كاملة، دليل المطور ص21 |
| 4. تصنيف المحتوى | متطلب وارد في الملفات حقول المرجع ومصدر البيانات، Adapter يدوي الآن ورسمي لاحقًا، سجل الفروق لا كتابة صامتة، المراحل السبع. يحتاج تحققًا أو موافقة رسمية كل منتج يحتاج موافقة؛ الحقول الفعلية غير معروفة حتى التسجيل. |
| الوحدة | التكاملات |
| الأدوار المعنية | محامٍ، مدير نظام |
| درجة الخطورة | عالية |
| حالة الاعتماد | يحتاج تحققًا أو موافقة رسمية |
| المنصات المرتبطة | ناجز وناجز للمطورين |
5الهدف التجاري والمشكلة التي تعالجها
البيانات الرسمية أدق وأسرع من الإدخال اليدوي، لكن تغيّر تاريخ الاستلام يغيّر المهلة، فلا بد من مراجعة (دليل المطور ص21).
6المجال القانوني المرتبط للمطوّر غير المتخصص
كيف يثبت النظام أن المكتب مخوّل على قضية بعينها (وكالة سارية، تفويض المحامي، موافقة الموكّل)؟ سؤال مفتوح للوزارة (خطة ناجز ص11) يحتاج تحققًا أو موافقة رسمية.
7المستخدمون والأدوار والصلاحيات
المحامي يربط ويقرر الفروق. مدير النظام يدير الإعدادات.
8شروط البدء والاعتماديات
حساب أعمال معتمد في ناجز للمطورين، منتج «الاستعلام عن القضايا» معتمد، مفتاح في الإعدادات مشفّر، وإجابة السؤال 2 (خطة ناجز ص15) يحتاج تحققًا أو موافقة رسمية.
9السيناريو الأساسي خطوة بخطوة
- زر «ربط بناجز» برقم القضية.
- Adapter يجلب بيانات القضية في الخلفية.
- المحامي يؤكد أنها القضية الصحيحة.
- الحقول الرسمية (المحكمة، الدائرة، الرقم، تاريخ القيد) تصبح للقراءة.
- مزامنة يدوية ثم مجدولة.
- كل اختلاف ←
Najiz Difference← قرار المحامي.
10السيناريوهات البديلة والاستثناءات
استجابة فارغة: لا حذف للبيانات المحلية أبدًا (قد يكون خطأ صلاحية أو انقطاع) (خطة ناجز ص17). أخطاء متتالية: إيقاف الموصل وتنبيه (خطة ناجز ص13). المكتب غير مربوط: المسار اليدوي وقارئ الإشعارات B28 قارئ الإشعارات الحكومية.
11المدخلات والحقول
| الاسم العربي | الاسم البرمجي | النوع | إلزامي | التحقق | القيمة الافتراضية | مصدر البيانات |
|---|---|---|---|---|---|---|
| حالة الربط | najiz_link_status | Select | تلقائي | غير مربوط / مربوط / فشل الربط / يحتاج مراجعة | غير مربوط | (خطة ناجز ص14) |
| مرجع ناجز | najiz_reference | Data | تلقائي | قد يختلف عن الرقم المعروض | — | (خطة ناجز ص14) |
| آخر مزامنة | najiz_last_synced_on | Datetime | تلقائي | للقراءة | — | — |
| حالة ناجز | najiz_status_text | Data | تلقائي | للقراءة | — | — |
| مصدر البيانات | data_source | Select | تلقائي | يدوي / ناجز | يدوي | (دليل المطور ص21) |
| الفرق: الحقل والقيمتان | field / local_value / najiz_value | Data | تلقائي | — | — | المزامنة |
| الفرق: القرار | decision | Select | نعم | قبول ناجز / إبقاء المحلي | — | المحامي |
12المخرجات والإشعارات والسجلات والتقارير
سجل الفروق. سجل الاستدعاءات Najiz Call Log (لا يُحذف، بلا جسم الاستجابة) (خطة ناجز ص14).
13قواعد العمل بصيغة قابلة للتحويل إلى كود
RULE B45.1 Najiz Settings.enabled = 0 -> no calls at all
RULE B45.2 product not in approved_products -> never called
RULE B45.3 difference -> Najiz Difference record; never silent write
RULE B45.4 empty response never deletes local data
RULE B45.5 api_key encrypted; never in logs/fixtures
RULE B45.6 browser never calls Najiz; "sync now" enqueues
RULE B45.7 Najiz data never sent outside KSA, incl. external AI14حالات السجل وانتقالاتها وشروطها
غير مربوط ← مربوط ← (يحتاج مراجعة عند فرق) ← مربوط؛ أو فشل الربط.
15نموذج البيانات والعلاقات والقيود والفهارس
Najiz Settings (Single)، Najiz Call Log، Najiz Difference، Najiz Inbound Event، وحقول على الملف/المرحلة (خطة ناجز ص14).
16DocTypes المطلوبة في Frappe
- الأربعة المذكورة.
17الشاشات والعناصر والأزرار ورسائل الخطأ
زر الربط، شارة «من ناجز»، قائمة الفروق بقرار لكل سطر.
18خدمات Backend ومسؤولية كل خدمة
NajizAdapter بواجهة fetch_case, list_hearings, fetch_minutes, verify_license؛ نسخة يدوية الآن ونسخة API لاحقًا تُفعّل بالمفتاح (دليل المطور ص21).
19واجهات API الداخلية
POST /api/method/legal_erp.api.v1.najiz.link_matter
طلب ربط (يُدرج في طابور).
الصلاحية: فريق الملف.
{
"proceeding": "PRC-2026-00011",
"case_number": "0000000000"
}{
"queued": true,
"note": "الحقول والمسارات الفعلية لمنتج ناجز غير معروفة حتى استلام الملف التقني"
}20الأحداث والمهام الخلفية والجدولة وإعادة المحاولة
مزامنة مجدولة بفترة sync_interval_hours.
21التكاملات المرتبطة بالميزة وحدودها
22الأمن والخصوصية والتدقيق والاحتفاظ والحذف
لا كشط، لا كلمات مرور المحامين، لا جلسات شخصية (خطة ناجز ص17).
23حالات الاختبار
| المعرّف | النوع | السيناريو | النتيجة المتوقعة |
|---|---|---|---|
B45-T01 | تكامل | ربط 10 قضايا حقيقية بعد الموافقة | لا كتابة صامتة (خطة ناجز ص15). |
B45-T02 | حدّي | استجابة فارغة | لا حذف. |
B45-T03 | أمني | البحث عن المفتاح في السجلات | غير موجود. |
B45-T04 | سلبي | منتج غير معتمد | لا استدعاء. |
24معايير القبول
- بوابات المراحل في خطة ناجز (خطة ناجز ص15).
25تعريف الاكتمال (Definition of Done)
- كل قواعد العمل في هذه الصفحة منفذة في الخادم (Controller أو Service)، لا في الواجهة وحدها.
- حالات الاختبار المذكورة هنا مكتوبة اختباراتٍ آلية في إطار اختبار Frappe، وتنجح مع كل دفعة كود.
- اختبارات الصلاحيات تثبت أن مستخدمًا خارج فريق الملف لا يرى السجل في القائمة ولا برابطه المباشر ولا في البحث العام ولا في العدّادات.
- الحقول المخصصة والأدوار ومسارات الاعتماد مُصدَّرة في Fixtures التطبيق، وتظهر بعد تثبيت نظيف على موقع فارغ دون إعداد يدوي.
- لا تعديل في ملفات Frappe أو ERPNext.
- كل قيمة قانونية (مدة، نسبة، مبلغ، قائمة) محفوظة في إعداد قابل للتعديل، وموسومة بحالة اعتمادها.
- نصوص الواجهة ورسائل الخطأ بالعربية، وتخبر المستخدم بما يفعله.
- معايير القبول في هذه الصفحة مُتحقق منها ومسجلة في مصفوفة التتبع.
26القرارات المفتوحة والمخاطر والاعتمادات المطلوبة
النموذج A أم B (OD-06)، والأسئلة الثمانية للوزارة (خطة ناجز ص11).