التقرير اشتغل مرة، لكن العملية انرسلت مرتين
16 يوليو 2026

اكتمل تقرير واحد للعميل. أرسل المنتج عملية الاستخدام إلى نظام الفوترة، لكن الاتصال انقطع قبل ما يرجع الرد.
المنتج ما يعرف إذا وصلت العملية أو لا، فأرسلها مرة ثانية.
وصل طلبان إلى نظام الفوترة. العميل أنشأ تقرير واحد، والمفروض ينحسب عليه تقرير واحد.
العملية هي إثبات الاستخدام
عملية الاستخدام تسجل شغل اكتمل داخل المنتج: تقرير صار جاهز، رسالة انرسلت، مستند تمت معالجته، أو طلب توصيل انتهى.
ومن هذا السجل تبدأ كل الحسبة:
- يزيد العداد عملية واحدة.
- تنخصم الوحدات المدفوعة مسبقًا.
- تقارن الباقة الاستخدام مع العدد المشمول.
- وينضاف البند إلى الفاتورة.
إذا كانت العملية غلط، ممكن تتفق كل الأرقام بعدها وتطلع الفاتورة غلط.
سجّل العملية بعد اكتمال الشغل
ضغط العميل زر إنشاء التقرير، لكن مهمة الذكاء الاصطناعي ممكن تفشل في المنتصف. لو حسبت الضغطة، بتفوتر على شغل ما وصل للعميل.
في منتج التقارير، القاعدة واضحة:
سجّل عملية استخدام واحدة بعد ما يكتمل التقرير بنجاح.
في منصة التوصيل، ممكن تبدأ الحسبة بعد إرسال الطلب أو بعد اكتمال التوصيل. ومنتج المستندات ممكن يحسب الملف عند قبول المعالجة أو بعد تسليم النتيجة. اختر اللحظة التي استلم فيها العميل الخدمة فعلًا.
خمس معلومات تكفي لشرح العملية
عملية التقرير تحمل:
| المعلومة | القيمة | ليش نحتاجها؟ |
|---|---|---|
| العميل | مساحة عمل Acme | يروح الاستخدام للحساب الصحيح |
| العملية | report.completed | توضح وش صار |
| الكمية | 1 | تحدد العدد |
| وقت العملية | 18 يوليو، 10:42 | تدخل في دورة الفوترة الصحيحة |
| معرّف العملية | report_87 | يمنع إعادة الإرسال من تكرار الحسبة |
هذه المعلومات مو تفاصيل تقنية زيادة. كل واحدة منها تجاوب عن سؤال ممكن يسأله العميل أو فريق المالية عن الفاتورة.
أعد الإرسال بالمعرّف نفسه
وصل الطلب الأول إلى ترداد، لكن الرد انقطع. أعاد المنتج الإرسال بالمعرّف نفسه: report_87.
نفس المعرّف يمنع احتساب التقرير مرتين
يعرف ترداد أنه سجّل report_87 سابقًا، ويرجع النتيجة الأولى. يزيد العداد واحد، وتنخصم الوحدات مرة، وتظهر عملية واحدة في الفاتورة.
لو استخدمت معرّف جديد مع كل محاولة، بيشوف النظام الطلبين كتقريرين مختلفين. انقطاع الاتصال وإعادة المحاولة شيء طبيعي، حتى في الأنظمة المستقرة.
وقت اكتمال الشغل يحدد الشهر
اكتمل التقرير الساعة 11:58 مساء يوم 31 يوليو، ووصلت العملية متأخرة الساعة 12:03 صباح 1 أغسطس.
مكانها فاتورة يوليو، لأن التقرير اكتمل في يوليو. تقدر تحفظ وقت الاكتمال ووقت الوصول، لكن دورة الفوترة تعتمد وقت الاكتمال.
بدون هذا الفرق، تنتقل العمليات بين الفواتير حسب سرعة الشبكة بدل استخدام العميل.
اسم العملية يظل ثابت
اسم العملية يدخل في التسعير والتحليلات وتاريخ العميل. لا تغيّره كل مرة يتغير فيها شكل المنتج.
report.completed يظل نفسه حتى لو تغير اسم الزر، أو تصميم التقرير، أو نموذج الذكاء الاصطناعي خلفه. التسعير يتبع عملية العميل، مو شكل الشاشة الحالي.
اكتب تعريف العملية بجملة واحدة:
نسجل
report.completedمرة واحدة لما يكون التقرير جاهز للعميل.
كذا يستخدم المنتج والتطوير والمالية والدعم قاعدة العد نفسها.
سجل واحد يشرح كل الأرقام
في ترداد، يعتمد العداد والعدد المشمول وحساب الوحدات والفاتورة على العملية المقبولة نفسها. المعرّف يمنع تكرار الحسبة، ووقت العملية يحدد الشهر الصحيح، وتقدر ترجع من مبلغ الفاتورة إلى العملية التي سببته.
عملية الاستخدام الموثوقة تثبت أن شغل العميل اكتمل، وتنحسب مرة واحدة في الحساب والشهر الصحيح.
كمل التطبيق العملي في دليل كيف تبني اشتراك ما يتعطل عند أول تغيير؟
ثمانية قرارات مترابطة، من أول عملية استخدام إلى الإيراد المتكرر.
حدد القاعدة مرة، وترداد يطبقها كل مرة.
اجمع السياسة وتاريخ التفعيل واتفاق العميل وحسبة الفاتورة في نظام واحد، بدل ما تعيد نفس القرار في كل جزء من المنتج.