المستندات والإصدارات والأرشفة والأصول الورقيةDocuments, versions, archive and physical originals
كل ملف يُرفع يصبح Legal Document مربوطًا بملف ومرحلة ومصدر وتاريخ استلام وسرية، ببصمة sha256، بإصدارات لا استبدال، ويُقفل المعتمد. والأصول الورقية (صكوك، شيكات، عقود أصلية) لها سجل تسليم واستلام.
بطاقة الميزة
| البند | القيمة |
|---|---|
| 1. اسم الميزة | المستندات والإصدارات والأرشفة والأصول الورقية — Documents, versions, archive and physical originals |
| 2. المعرّف (Feature ID) | B13 |
| 3. مصدر المتطلب | دليل المطور ص16-17 (الجانب التقني 3)، ص11 |
| 4. تصنيف المحتوى | متطلب وارد في الملفات كل رفع مستند مرتبط، بصمة sha256، إصدارات، قفل المعتمد، OCR مفهرس بالصلاحيات، تسلسل المجلدات، الأصول الورقية. |
| الوحدة | المستندات والمعرفة |
| الأدوار المعنية | محامٍ، سكرتارية، شريك، موكّل |
| درجة الخطورة | عالية |
| حالة الاعتماد | معتمد في الوثائق |
| المنصات المرتبطة | لا توجد |
5الهدف التجاري والمشكلة التي تعالجها
إثبات أن المستند المقدم هو نفسه المحفوظ، ومنع فقدان الأصول الورقية للموكّل (دليل المطور ص16).
6المجال القانوني المرتبط للمطوّر غير المتخصص
صحيفة الدعوى والمذكرات ومحاضر وأحكام كلها مستندات بأنواع. الأصل الورقي ملك الموكّل ويُعاد إليه عند الإغلاق (دليل المطور ص17).
7المستخدمون والأدوار والصلاحيات
الفريق يرفع ويقرأ. الموكّل يرى ما شورك معه (share_with_client = 1) ويرفع «قيد المراجعة». المحاسب لا يرى المستندات (دليل المطور ص15).
8شروط البدء والاعتماديات
تخزين خاص متوافق مع S3 داخل المملكة (دليل المطور ص16). B05 المحاكم والدوائر والقوائم المرجعية أنواع المستندات.
9السيناريو الأساسي خطوة بخطوة
- رفع ملف من الشاشة أو البوابة أو الجوال (مسح بالكاميرا).
- تحديد الملف والمرحلة والنوع والمصدر (موكّل/محكمة/خصم/مكتب) وتاريخ الاستلام والسرية.
- حساب sha256 وحفظه؛ الملف خاص دائمًا.
- OCR عربي في الخلفية وفهرسة النص بالصلاحيات B32 خدمة OCR وتحويل الصوت إلى نص.
- الترتيب الآلي: موكّل ← ملف ← مرحلة ← نوع.
- التعديل = إصدار جديد؛ المعتمد والمقدَّم مقفلان.
10السيناريوهات البديلة والاستثناءات
الموكّل يرفع من البوابة: حالة «قيد المراجعة» حتى يقبله الفريق. ملف مكرر (نفس البصمة): تنبيه وربط بدل نسخة ثانية. أصل ورقي: Physical Original بموقع الحفظ وتاريخ الاستلام والإعادة وتوقيع الموكّل عند الاستلام. تجميد قانوني: لا حذف ولا إتلاف B38 الاحتفاظ والإتلاف والتجميد القانوني.
11المدخلات والحقول
| الاسم العربي | الاسم البرمجي | النوع | إلزامي | التحقق | القيمة الافتراضية | مصدر البيانات |
|---|---|---|---|---|---|---|
| الملف | matter | Link → Legal Matter | نعم | — | — | المستخدم |
| المرحلة | proceeding | Link → Case Proceeding | لا | من الملف نفسه | — | المستخدم |
| النوع | doc_kind | Link → Document Kind | نعم | — | — | B05 المحاكم والدوائر والقوائم المرجعية |
| المصدر | source | Select | نعم | موكّل / محكمة / خصم / مكتب | — | (دليل المطور ص16) |
| تاريخ الاستلام | received_on | Date | نعم | ≤ اليوم | اليوم | المستخدم |
| السرية | confidentiality | Select | نعم | من الملف أو أعلى | من الملف | (دليل المطور ص14) |
| الإصدار | version | Int | تلقائي | يزيد | 1 | الخادم |
| الحالة | status | Select | تلقائي | مسودة / قيد المراجعة / معتمد / مقدَّم | مسودة | سير العمل (دليل المطور ص12) |
| الملف | file | Attach (خاص) | نعم | is_private = 1 | — | الرفع |
| البصمة | sha256 | Data | تلقائي | 64 خانة | — | الخادم |
| النص المستخرج | ocr_text | Long Text (مخفي) | تلقائي | — | — | B32 خدمة OCR وتحويل الصوت إلى نص |
| مشاركة مع الموكّل | share_with_client | Check | لا | — | 0 | المحامي |
| تاريخ التقديم | submitted_on | Date | عند «مقدَّم» | — | — | المحامي |
12المخرجات والإشعارات والسجلات والتقارير
شجرة مستندات الملف. سجل التنزيل والطباعة والتصدير (دليل المطور ص15). تقرير الأصول الورقية غير المعادة.
13قواعد العمل بصيغة قابلة للتحويل إلى كود
RULE B13.1 file.is_private = 1 always
RULE B13.2 sha256 computed server-side on upload; duplicate within matter -> link instead of copy
RULE B13.3 status in (معتمد, مقدَّم) -> immutable; edit creates version+1
RULE B13.4 no delete for status معتمد/مقدَّم or matter.legal_hold
RULE B13.5 client uploads -> status "قيد المراجعة", share_with_client = 1
RULE B13.6 OCR index rows carry matter + confidentiality; search filters before ranking
RULE B13.7 every download/print/export -> Access Log14حالات السجل وانتقالاتها وشروطها
| من | إلى | من |
|---|---|---|
| مسودة | قيد المراجعة | الكاتب |
| قيد المراجعة | معتمد | المحامي المسؤول |
| معتمد | مقدَّم | المحامي بتاريخ التقديم |
سير العمل من (دليل المطور ص12).
15نموذج البيانات والعلاقات والقيود والفهارس
Legal Document n → 1 Legal Matter؛ Document Version سلسلة إصدارات؛ Physical Original n → 1 Legal Matter. فهرس (matter, doc_kind) وsha256.
16DocTypes المطلوبة في Frappe
Legal Document(دليل المطور ص11)،Physical Original(item_kind, description, storage_location, received_on, returned_on, client_receipt_signature) (دليل المطور ص16)،Document Kind.
17الشاشات والعناصر والأزرار ورسائل الخطأ
تبويب «المستندات» بشجرة وتصفية بالنوع والمرحلة، معاينة PDF، زر «إصدار جديد»، شارة «مقفل». رسالة: «هذا المستند معتمد ومقفل. أنشئ إصدارًا جديدًا للتعديل.»
18خدمات Backend ومسؤولية كل خدمة
legal_erp.documents.on_upload (بصمة، تصنيف، طابور OCR)، new_version، record_access.
19واجهات API الداخلية
POST /api/method/legal_erp.api.v1.documents.upload
رفع مستند (multipart).
الصلاحية: فريق الملف أو الموكّل لملفاته.
{ "matter": "MAT-2026-00001", "doc_kind": "مذكرة", "source": "مكتب", "file": "<binary>" }{
"document": "DOC-000210",
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"status": "مسودة"
}20الأحداث والمهام الخلفية والجدولة وإعادة المحاولة
OCR في طابور long B32 خدمة OCR وتحويل الصوت إلى نص. تنبيه أسبوعي بالأصول غير المعادة لملفات مغلقة.
21التكاملات المرتبطة بالميزة وحدودها
قد يُقدَّم المستند عبر ناجز وناجز للمطورين يدويًا؛ يُسجل تاريخ التقديم ونسخة PDF (دليل المطور ص44).
22الأمن والخصوصية والتدقيق والاحتفاظ والحذف
تخزين مشفّر داخل المملكة، روابط تنزيل مؤقتة موقّعة اقتراح هندسي، سجل وصول للسري جدًا. لا يُرسل المستند لنموذج خارج المملكة حماية البيانات الشخصية والذكاء الاصطناعي.
23حالات الاختبار
| المعرّف | النوع | السيناريو | النتيجة المتوقعة |
|---|---|---|---|
B13-T01 | طبيعي | رفع PDF | بصمة محفوظة والملف خاص. |
B13-T02 | سلبي | تعديل مستند معتمد | يُمنع؛ إصدار جديد. |
B13-T03 | حدّي | رفع نفس الملف مرتين | ربط بدل نسخة. |
B13-T04 | صلاحيات | المحاسب يفتح مستندًا | لا صلاحية. |
B13-T05 | صلاحيات | رابط ملف خاص دون دخول | مرفوض. |
B13-T06 | طبيعي | تسليم أصل ورقي للموكّل | تاريخ إعادة وتوقيع. |
B13-T07 | صلاحيات | محامٍ «ب» ليس في فريق الملف يفتح قائمة Legal Document | لا يظهر سجل الملف، والعدّاد لا يحسبه. |
B13-T08 | صلاحيات | المحامي «ب» يفتح رابط سجل Legal Document لملف المحامي «أ» مباشرة | رسالة عدم صلاحية، ولا تظهر أي حقول. |
B13-T09 | صلاحيات | المحامي «ب» يبحث في الشريط العلوي بعنوان السجل | لا نتيجة. |
B13-T10 | صلاحيات | مستخدم في قائمة حاجز المعلومات وهو عضو في الفريق | يُرفض الوصول ويُسجَّل. |
24معايير القبول
- كل مستند مربوط بملف وله بصمة.
- المعتمد مقفل.
- البحث النصي يحترم الصلاحيات.
- الأصول الورقية تُتتبع حتى الإعادة.
25تعريف الاكتمال (Definition of Done)
- كل قواعد العمل في هذه الصفحة منفذة في الخادم (Controller أو Service)، لا في الواجهة وحدها.
- حالات الاختبار المذكورة هنا مكتوبة اختباراتٍ آلية في إطار اختبار Frappe، وتنجح مع كل دفعة كود.
- اختبارات الصلاحيات تثبت أن مستخدمًا خارج فريق الملف لا يرى السجل في القائمة ولا برابطه المباشر ولا في البحث العام ولا في العدّادات.
- الحقول المخصصة والأدوار ومسارات الاعتماد مُصدَّرة في Fixtures التطبيق، وتظهر بعد تثبيت نظيف على موقع فارغ دون إعداد يدوي.
- لا تعديل في ملفات Frappe أو ERPNext.
- كل قيمة قانونية (مدة، نسبة، مبلغ، قائمة) محفوظة في إعداد قابل للتعديل، وموسومة بحالة اعتمادها.
- نصوص الواجهة ورسائل الخطأ بالعربية، وتخبر المستخدم بما يفعله.
- معايير القبول في هذه الصفحة مُتحقق منها ومسجلة في مصفوفة التتبع.
26القرارات المفتوحة والمخاطر والاعتمادات المطلوبة
مزود التخزين داخل المملكة قرار اجتماع (دليل المطور ص16).