توثيق ERPOSالمرجع التنفيذي للمطورين

العمل دون اتصالOffline work

B34الجوال والبوابةمتطلب وارد في الملفات اقتراح هندسي

في المحكمة قد تنقطع الشبكة. التطبيق يحتفظ بنسخة مشفرة من جلسات ومهل سبعة أيام، ويضع الساعات ومسودات التقارير في طابور يُرسل عند عودة الاتصال، دون تكرار ودون كتابة فوق تعديل أحدث.

بطاقة الميزة

البندالقيمة
1. اسم الميزةالعمل دون اتصال — Offline work
2. المعرّف (Feature ID)B34
3. مصدر المتطلبدليل المطور ص18، 20، تقرير التدقيق: المزامنة بـ row_version
4. تصنيف المحتوىمتطلب وارد في الملفات نسخة مشفرة لسبعة أيام وطابور للساعات ومسودات التقارير. اقتراح هندسي منع التكرار بمعرّف الطلب ورقم نسخة السجل.
الوحدةالجوال والبوابة
الأدوار المعنيةمحامٍ
درجة الخطورةمتوسطة
حالة الاعتمادمعتمد في الوثائق
المنصات المرتبطةلا توجد

5الهدف التجاري والمشكلة التي تعالجها

يوم الجلسة لا يحتمل «لا يوجد اتصال» (دليل المطور ص18).

لا ينطبق على هذه الميزة.

7المستخدمون والأدوار والصلاحيات

المحامي.

8شروط البدء والاعتماديات

B33 تطبيق المحامي على الجوال.

9السيناريو الأساسي خطوة بخطوة

  1. تنزيل مشفر للأيام السبعة القادمة.
  2. كل عملية كتابة دون اتصال تأخذ client_request_id فريدًا.
  3. عند الاتصال: إرسال الطابور بالترتيب.
  4. الخادم يتجاهل المعرّف المكرر ويقارن row_version؛ التعارض يُعرض للمحامي.

10السيناريوهات البديلة والاستثناءات

تعارض: شاشة «نسختك ونسخة الخادم» لاختيار أو دمج يدوي. انتهاء الأيام السبعة: تحديث عند الاتصال.

11المدخلات والحقول

لا حقول إدخال خاصة بهذه الميزة؛ تستخدم حقول الكيانات المشار إليها في نموذج البيانات.

12المخرجات والإشعارات والسجلات والتقارير

حالة المزامنة في رأس التطبيق.

13قواعد العمل بصيغة قابلة للتحويل إلى كود

قواعد
RULE B34.1  local store encrypted with key in Keychain/Keystore
RULE B34.2  server dedupes on client_request_id
RULE B34.3  update accepted only if row_version matches; else conflict
RULE B34.4  offline scope: read hearings/deadlines; write timesheets & report drafts only

التفاصيل في المزامنة دون اتصال.

14حالات السجل وانتقالاتها وشروطها

بانتظار ← مرسل ← مقبول / تعارض.

15نموذج البيانات والعلاقات والقيود والفهارس

Sync Receipt (client_request_id فريد، user، result) اقتراح هندسي.

16DocTypes المطلوبة في Frappe

17الشاشات والعناصر والأزرار ورسائل الخطأ

شارة «غير متصل» وعدد العناصر في الطابور.

18خدمات Backend ومسؤولية كل خدمة

legal_erp.api.v1.mobile.sync.

19واجهات API الداخلية

POST /api/method/legal_erp.api.v1.mobile.sync

إرسال الطابور.

الصلاحية: المستخدم نفسه.

JSON · الطلب
{
  "items": [
    {
      "client_request_id": "7c1e0f3a-0000-4000-8000-000000000003",
      "op": "timesheet.create",
      "row_version": null,
      "data": {
        "legal_matter": "MAT-2026-00001",
        "minutes": 30
      }
    }
  ]
}
JSON · الاستجابة
{
  "results": [
    {
      "client_request_id": "7c1e0f3a-0000-4000-8000-000000000003",
      "status": "accepted"
    }
  ]
}

20الأحداث والمهام الخلفية والجدولة وإعادة المحاولة

لا ينطبق على هذه الميزة.

21التكاملات المرتبطة بالميزة وحدودها

لا ينطبق على هذه الميزة.

22الأمن والخصوصية والتدقيق والاحتفاظ والحذف

المسح عند إلغاء الجهاز B33 تطبيق المحامي على الجوال.

23حالات الاختبار

المعرّفالنوعالسيناريوالنتيجة المتوقعة
B34-T01طبيعيساعة مسجلة دون اتصالتصل مرة واحدة.
B34-T02حدّيإرسال الطابور مرتينلا تكرار.
B34-T03حدّيتعديل مسودة على الجهاز والخادمتعارض معروض.

24معايير القبول

25تعريف الاكتمال (Definition of Done)

26القرارات المفتوحة والمخاطر والاعتمادات المطلوبة

لا ينطبق على هذه الميزة.