مهام انتقال سير العمل
ملاحظة: سيتم إضافتها في الإصدار 16
مقدمة
يمكن أن تحتوي كل مهمة انتقال سير العمل على مهام من الأنواع التالية:
- الإجراءات المحددة بواسطة التطبيق (المحددة بواسطة كل تطبيق Frappe من خلال Hooks.py)
- Server Scripts
- Webhooks
علاوة على ذلك، يمكن أن تكون كل مهمة انتقالية إما:
- متزامن: هذا هو الوضع الافتراضي لمهام النقل. يتم تشغيل كافة مهام النقل واحدة تلو الأخرى عند بدء عملية انتقال الحالة. وحتى لو فشل أحدهما، يتم عكس عملية الانتقال.
- غير متزامن: يمكن تمكين هذا الوضع باستخدام مربع الاختيار "غير متزامن". يتم تشغيل كل مهمة انتقال غير متزامنة بعد اكتمال انتقال الحالة، مما يعني أنه ليس لها أي تأثير على اكتمال الحالة، ويتم تشغيلها في مهمة خلفية منفصلة خاصة بها.
الإجراءات المحددة بالتطبيق
Each Frappe app defines them using the 'workflow_methods' hook.
أي طريقة مسار منقط محددة من خلال خطاف 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()
إذا كنت مستخدمًا نهائيًا، فلا يمكنك إنشاء إجراءات محددة بالتطبيق بنفسك وسيتعين عليك استخدام البرامج النصية للخادم كما هو مذكور أدناه.