whatsapps

ERP Cloud Systems - مهام انتقال سير العمل

مهام انتقال سير العمل

ملاحظة: ستتم إضافتها في الإصدار 16

مقدمة

تمثل مهام انتقال سير العمل إجراءات يتم تنفيذها أثناء تغيّر الحالات داخل سير العمل. يمكن ربط كل انتقال في سير العمل بمجموعة من مهام الانتقال.

سير العمل سير العمل

كل مهمة انتقال يمكن أن تحتوي على أنواع متعددة من المهام مثل:

  • إجراءات محددة من التطبيق يتم تحديدها في ملف py لكل تطبيق Frappe.
  • برمجيات خدمية (Server Scripts)
  • نقاط ربط ويب (Webhooks)

سير العمل

أنواع تنفيذ المهام

كل مهمة انتقال يمكن أن تعمل بأحد الوضعين التاليين:

  • تزامنية (Synchronous):
    • الوضع الافتراضي.
    • تُنفذ جميع المهام واحدة تلو الأخرى عند بدء الانتقال.
    • في حال فشل أي مهمة، يتم التراجع عن الانتقال بالكامل.
  • غير تزامنية (Asynchronous):
    • يمكن تفعيلها عبر تحديد خيار “Asynchronous”.
    • تُنفذ بعد اكتمال الانتقال، ولا تؤثر على نتيجة الحالة النهائية.
    • تُشغّل كعملية مستقلة في الخلفية.

الإجراءات المعرفة من التطبيق

يتم تعريفها في كل تطبيق Frappe باستخدام الـ hook المسمى workflow_methods.

أي مسار دالة محدد عبر workflow_methods يجب أن يقبل المعامل التالي:

doc: Document

مثال على مهمة معرفة من التطبيق:

# hooks.py
workflow_methods = [{"name": "Create a customer", "method":
                     "myapp.shop.doctype.kirana.create_customer"}]

# myapp/shop/doctype/kirana.py
def create_customer(doc):
    customer = frappe.new_doc("Customer")
    customer.customer_name = "Customer " + doc.name
    customer.customer_type = "Individual"

    customer.save()

مهام انتقال سير العمل

تظهر هذه المهام في قائمة "المهام (Tasks)" المنسدلة في حال كانت أي من التطبيقات المثبتة قد أضافتها مسبقًا.

سير العمل

إذا كنت مستخدمًا نهائيًا، فلن تتمكن من إنشاء مهام معرفة من التطبيق بنفسك يمكنك بدلاً من ذلك استخدام البرمجيات الخدمية (Server Scripts) الموضحة أدناه.

البرمجيات الخدمية

تقبل هذه البرمجيات أيضًا الوسيطة doc: Document ويمكن إعدادها من خلال نوع السكربت "Workflow Task".

سير العمل

بعد إنشائها، يجب ربطها داخل مهمة الانتقال حتى يتم تنفيذها أثناء تغيّر الحالة.

سير العمل

نقاط ربط الويب

سير العمل

يمكن إنشاء Webhook من خلال تعيين حقل Doc Event إلى القيمة workflow_transition.

بعد إنشائه، يجب أيضًا ربطه في مهمة الانتقال ليتم استدعاؤه عند تنفيذ عملية الانتقال.

سير العمل

مواضيع ذات صلة

Discard
Save
This page has been updated since your last edit. Your draft may contain outdated content. Load Latest Version

On this page

Review Changes ← Back to Content
Message Status Space Raised By Last update on