الاحتفاظ والإتلاف والتجميد القانونيRetention, destruction and legal hold
لكل نوع بيانات مدة حفظ تبدأ من حدث (إغلاق الملف، نهاية الفترة الضريبية، آخر دفعة) ثم إجراء. النظام يعرض المنتهي، والشريك يوافق، فيُحذف من القاعدة والتخزين ويُكتب سجل إتلاف. والتجميد القانوني يوقف كل حذف.
بطاقة الميزة
| البند | القيمة |
|---|---|
| 1. اسم الميزة | الاحتفاظ والإتلاف والتجميد القانوني — Retention, destruction and legal hold |
| 2. المعرّف (Feature ID) | B38 |
| 3. مصدر المتطلب | دليل المطور ص17 (الجانب التقني 3) |
| 4. تصنيف المحتوى | متطلب وارد في الملفات Retention Policy بأنواع وأحداث بدء ومدد وإجراء، التجميد يوقف الحذف، الإتلاف بموافقة الشريك وسجل. يحتاج اعتمادًا قانونيًا كل المدد الافتراضية. |
| الوحدة | التشغيل والامتثال |
| الأدوار المعنية | شريك، مدير نظام |
| درجة الخطورة | عالية |
| حالة الاعتماد | يحتاج اعتمادًا قانونيًا |
| المنصات المرتبطة | لا توجد |
5الهدف التجاري والمشكلة التي تعالجها
الحفظ أطول من اللازم مخالفة لحماية البيانات، وأقصر من اللازم يفقد المكتب دليله.
6المجال القانوني المرتبط للمطوّر غير المتخصص
يقترح الدليل مددًا افتراضية بمصادرها (الفواتير والسجلات المحاسبية، عقود الأتعاب والساعات، ملفات القضايا، سجل أنشطة المعالجة، بيانات الزوار غير الموكلين) (دليل المطور ص17)، وكلها موسومة يحتاج اعتمادًا قانونيًا. لا تُطبق مدة قبل اعتماد مختص، والإتلاف لا يتم آليًا أبدًا.
7المستخدمون والأدوار والصلاحيات
الشريك يوافق على الإتلاف ويضع التجميد. مدير النظام ينفذ.
8شروط البدء والاعتماديات
B03 ملف العمل القانوني إغلاق الملف وقائمة الإغلاق.
9السيناريو الأساسي خطوة بخطوة
- السياسة: النوع، حدث البدء، المدة، الإجراء (حذف/تنقيح/أرشفة).
- مهمة دورية تعرض العناصر المنتهية.
- الشريك يراجع ويوافق (أو يستثني بسبب).
- الحذف من القاعدة والتخزين والفهارس، والنسخ الاحتياطية تنتهي بحسب دورتها.
- سجل إتلاف: ماذا، متى، من.
10السيناريوهات البديلة والاستثناءات
تجميد قانوني على ملف: يوقف الإتلاف لكل ما يتبعه. بيانات زائر غير موكّل: يبقى ما يلزم للتعارض (الأسماء، الأطراف، التاريخ، القرار) B17 الزوار والاستقبال والمواعيد.
11المدخلات والحقول
| الاسم العربي | الاسم البرمجي | النوع | إلزامي | التحقق | القيمة الافتراضية | مصدر البيانات |
|---|---|---|---|---|---|---|
| نوع البيانات | data_type | Select | نعم | — | — | السياسة |
| حدث البدء | start_event | Select | نعم | إغلاق ملف / نهاية فترة ضريبية / آخر دفعة / انتهاء نشاط | — | (دليل المطور ص17) |
| المدة | duration_years | Float | نعم | — | — | يحتاج اعتمادًا قانونيًا |
| الإجراء | action | Select | نعم | حذف / تنقيح / أرشفة | — | — |
| معتمد | verified_by | Link → User | شرط التطبيق | — | — | المختص |
| تجميد | legal_hold | Check على الملف | لا | — | 0 | الشريك |
12المخرجات والإشعارات والسجلات والتقارير
قائمة المنتهي. سجل الإتلاف.
13قواعد العمل بصيغة قابلة للتحويل إلى كود
RULE B38.1 no automatic deletion; partner approval per batch
RULE B38.2 legal_hold on matter -> exclude all dependent records
RULE B38.3 policy unusable until verified
RULE B38.4 destruction record immutable14حالات السجل وانتقالاتها وشروطها
مرشح ← معتمد للإتلاف ← متلف / مستثنى.
15نموذج البيانات والعلاقات والقيود والفهارس
Retention Policy، Destruction Batch، Destruction Record اقتراح هندسي.
16DocTypes المطلوبة في Frappe
Retention Policy(دليل المطور ص17)،Destruction Record.
17الشاشات والعناصر والأزرار ورسائل الخطأ
قائمة المنتهي بتصفية، وزر «اعتماد الإتلاف».
18خدمات Backend ومسؤولية كل خدمة
legal_erp.retention.candidates، destroy(batch).
19واجهات API الداخلية
لا توجد واجهة API خاصة بهذه الميزة.
20الأحداث والمهام الخلفية والجدولة وإعادة المحاولة
شهري: المرشحون.
21التكاملات المرتبطة بالميزة وحدودها
لا ينطبق على هذه الميزة.
22الأمن والخصوصية والتدقيق والاحتفاظ والحذف
السجل يحفظ ما أُتلف دون محتواه.
23حالات الاختبار
| المعرّف | النوع | السيناريو | النتيجة المتوقعة |
|---|---|---|---|
B38-T01 | سلبي | إتلاف ملف عليه تجميد | مستثنى. |
B38-T02 | سلبي | إتلاف دون موافقة | لا يحدث. |
B38-T03 | طبيعي | إتلاف معتمد | حذف وسجل. |
24معايير القبول
- لا حذف آلي.
25تعريف الاكتمال (Definition of Done)
- كل قواعد العمل في هذه الصفحة منفذة في الخادم (Controller أو Service)، لا في الواجهة وحدها.
- حالات الاختبار المذكورة هنا مكتوبة اختباراتٍ آلية في إطار اختبار Frappe، وتنجح مع كل دفعة كود.
- اختبارات الصلاحيات تثبت أن مستخدمًا خارج فريق الملف لا يرى السجل في القائمة ولا برابطه المباشر ولا في البحث العام ولا في العدّادات.
- الحقول المخصصة والأدوار ومسارات الاعتماد مُصدَّرة في Fixtures التطبيق، وتظهر بعد تثبيت نظيف على موقع فارغ دون إعداد يدوي.
- لا تعديل في ملفات Frappe أو ERPNext.
- كل قيمة قانونية (مدة، نسبة، مبلغ، قائمة) محفوظة في إعداد قابل للتعديل، وموسومة بحالة اعتمادها.
- نصوص الواجهة ورسائل الخطأ بالعربية، وتخبر المستخدم بما يفعله.
- معايير القبول في هذه الصفحة مُتحقق منها ومسجلة في مصفوفة التتبع.
26القرارات المفتوحة والمخاطر والاعتمادات المطلوبة
المدد كلها يحتاج اعتمادًا قانونيًا، ومدة بيانات الزوار.