logologo
البدء
الدليل
التطوير
الإضافات
API
الرئيسية
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
البدء
الدليل
التطوير
الإضافات
API
الرئيسية
logologo
سير العمل
نظرة عامة
البدء السريع

المشغلات

نظرة عامة
أحداث مجموعة البيانات
المهام المجدولة
أحداث ما قبل الإجراء
أحداث ما بعد الإجراء
أحداث الإجراء المخصص
الموافقة
Webhook

العقد

نظرة عامة

الذكاء الاصطناعي

نموذج لغوي كبير

التحكم في التدفق

الشرط
تفرع متعدد الشروط
حلقة
المتغيرات
تفرع متوازٍ
استدعاء سير العمل
مخرجات التدفق
تعيين متغيرات JSON
تأخير
إنهاء

الحساب

حساب
حساب التاريخ
حساب JSON

عمليات البيانات

إنشاء بيانات
تحديث البيانات
استعلام البيانات
حذف البيانات
عمليات SQL

المعالجة اليدوية

المعالجة اليدوية
الموافقة
نسخة كربونية

الأنواع الممتدة

طلب HTTP
نص JavaScript البرمجي
إشعار
إرسال بريد إلكتروني
استجابة
رسالة الاستجابة
المتغيرات
سجل التنفيذ
إدارة الإصدارات
خيارات متقدمة

تطوير الامتدادات

نظرة عامة
توسيع أنواع المشغلات
توسيع أنواع العقد
مرجع API
Previous Pageأحداث ما بعد الإجراء
Next Pageالموافقة
إشعار الترجمة بالذكاء الاصطناعي

تمت ترجمة هذا المستند بواسطة الذكاء الاصطناعي. للحصول على معلومات دقيقة، يرجى الرجوع إلى النسخة الإنجليزية.

#حدث الإجراء المخصص

Workflow: Custom action eventCommunity Edition+

#مقدمة

يتضمن NocoBase إجراءات البيانات الشائعة المدمجة (الإضافة، الحذف، التعديل، الاستعلام، إلخ). عندما لا تلبي هذه الإجراءات متطلبات العمل المعقدة، يمكن استخدام أحداث الإجراءات المخصصة في سير العمل، وربط هذا الحدث بزر "تشغيل سير العمل" في كتل الصفحة. عند نقر المستخدم، سيتم تشغيل سير عمل لإجراء مخصص.

#إنشاء سير عمل

عند إنشاء سير عمل، اختر "حدث الإجراء المخصص":

إنشاء سير عمل "حدث الإجراء المخصص"

#إعدادات المشغل

#نوع السياق

v.1.6.0+

يحدد نوع السياق الأزرار التي يمكن ربط سير العمل بها في الكتل المختلفة:

  • بلا سياق: أي حدث عام، يمكن ربطه بأزرار الإجراءات في لوحة العمليات وكتل البيانات.
  • بيانات سجل واحد: يمكن ربطه بأزرار الإجراءات في كتل البيانات مثل صفوف الجداول، النماذج، والتفاصيل.
  • بيانات سجلات متعددة: يمكن ربطه بأزرار العمليات المجمعة في الجداول.

إعدادات المشغل_نوع السياق

#جدول البيانات

عندما يكون نوع السياق "بيانات سجل واحد" أو "بيانات سجلات متعددة"، يجب اختيار جدول البيانات لربط نموذج البيانات:

إعدادات المشغل_اختيار جدول البيانات

#بيانات العلاقات المراد استخدامها

إذا كنت بحاجة إلى استخدام بيانات العلاقات لصف البيانات المشغل في سير العمل، يمكنك تحديد حقول العلاقات العميقة هنا:

إعدادات المشغل_اختيار بيانات العلاقات المراد استخدامها

سيتم تحميل هذه الحقول تلقائيًا مسبقًا في سياق سير العمل بعد تشغيل الحدث، لتكون متاحة للاستخدام في سير العمل.

#إعدادات الإجراء

تختلف إعدادات أزرار الإجراءات في الكتل المختلفة بناءً على نوع السياق الذي تم تكوينه في سير العمل.

#بلا سياق

v1.6.0+

في لوحة العمليات وكتل البيانات الأخرى، يمكن إضافة زر "تشغيل سير العمل":

إضافة زر إجراء إلى الكتلة_لوحة العمليات

إضافة زر إجراء إلى الكتلة_التقويم

إضافة زر إجراء إلى الكتلة_مخطط جانت

بعد إضافة الزر، اربط سير العمل الذي تم إنشاؤه مسبقًا بدون سياق. إليك مثال باستخدام زر في لوحة العمليات:

ربط سير العمل بالزر_لوحة العمليات

اختيار سير العمل للربط_بلا سياق

#سجل واحد

في أي كتلة بيانات، يمكن إضافة زر "تشغيل سير العمل" في شريط إجراءات السجل الواحد، مثل النماذج، صفوف الجداول، والتفاصيل:

إضافة زر إجراء إلى الكتلة_النموذج

إضافة زر إجراء إلى الكتلة_صف الجدول

إضافة زر إجراء إلى الكتلة_التفاصيل

بعد إضافة الزر، اربط سير العمل الذي تم إنشاؤه مسبقًا:

ربط سير العمل بالزر

اختيار سير العمل للربط

بعد ذلك، سيؤدي النقر على هذا الزر إلى تشغيل حدث الإجراء المخصص:

نتيجة النقر على الزر

#سجلات متعددة

v1.6.0+

في شريط إجراءات كتلة الجدول، عند إضافة زر "تشغيل سير العمل"، سيكون هناك خيار إضافي لاختيار نوع السياق: "بلا سياق" أو "بيانات سجلات متعددة":

إضافة زر إجراء إلى الكتلة_الجدول

عند اختيار "بلا سياق"، فإنه يعتبر حدثًا عامًا، ولا يمكن ربطه إلا بسير عمل من نوع "بلا سياق".

عند اختيار "بيانات سجلات متعددة"، يمكن ربط سير عمل من نوع "بيانات سجلات متعددة"، والذي يستخدم للعمليات المجمعة بعد تحديد سجلات متعددة (مدعوم حاليًا في الجداول فقط). تقتصر سير العمل المتاحة على تلك التي تطابق جدول بيانات الكتلة الحالية:

20250215224436

عند النقر على الزر للتشغيل، يجب أن تكون بعض صفوف البيانات في الجدول محددة، وإلا فلن يتم تشغيل سير العمل:

20250215224736

#مثال

على سبيل المثال، لدينا جدول بيانات "عينات". بالنسبة للعينات التي حالتها "تم جمعها"، نحتاج إلى توفير إجراء "إرسال للفحص". سيقوم هذا الإجراء أولاً بالتحقق من المعلومات الأساسية للعينة، ثم إنشاء بيانات "سجل فحص"، ثم تغيير حالة العينة إلى "تم الإرسال". لا يمكن إكمال هذه السلسلة من العمليات بنقرات بسيطة على أزرار "الإضافة، الحذف، التعديل، الاستعلام"، وهنا يمكن استخدام حدث الإجراء المخصص.

أولاً، أنشئ جدول بيانات "عينات" وجدول بيانات "سجلات الفحص"، وأدخل بعض بيانات الاختبار الأساسية في جدول العينات:

مثال_جدول بيانات العينات

ثم أنشئ سير عمل "حدث الإجراء المخصص". إذا كنت بحاجة إلى ملاحظات فورية من العملية، يمكنك اختيار الوضع المتزامن (في الوضع المتزامن، لا يمكن استخدام العقد غير المتزامنة مثل المعالجة اليدوية):

مثال_إنشاء سير عمل

في إعدادات المشغل، اختر "عينات" كجدول بيانات:

مثال_إعدادات المشغل

قم بترتيب المنطق في سير العمل وفقًا لمتطلبات العمل. على سبيل المثال، اسمح بالإرسال للفحص فقط عندما يكون مؤشر المعلمة أكبر من 90؛ وإلا، اعرض رسالة بالمشكلة:

مثال_ترتيب منطق العمل

تلميح

يمكن استخدام عقدة "رسالة الاستجابة" في أحداث الإجراءات المخصصة المتزامنة لإرجاع رسالة تنبيه إلى العميل. لا يمكن استخدامها في الوضع غير المتزامن.

بعد تكوين سير العمل وتفعيله، ارجع إلى واجهة الجدول وأضف زر "تشغيل سير العمل" في عمود الإجراءات بالجدول:

مثال_إضافة زر إجراء

ثم، في قائمة إعدادات الزر، اختر ربط سير عمل وافتح النافذة المنبثقة للإعدادات:

مثال_فتح نافذة ربط سير العمل المنبثقة

أضف سير العمل الذي تم تفعيله مسبقًا:

مثال_اختيار سير العمل

بعد الإرسال، قم بتغيير نص الزر إلى اسم الإجراء، مثل "إرسال للفحص". بذلك تكون عملية التكوين قد اكتملت.

للاستخدام، اختر أي سجل عينة في الجدول وانقر على زر "إرسال للفحص" لتشغيل حدث الإجراء المخصص. ووفقًا للمنطق الذي تم ترتيبه مسبقًا، إذا كان مؤشر معلمة العينة أقل من 90، فسيظهر التنبيه التالي:

مثال_المؤشر لا يفي بمعايير الإرسال

إذا كان مؤشر المعلمة أكبر من 90، فسيتم تنفيذ سير العمل بشكل طبيعي، مما يؤدي إلى إنشاء بيانات "سجل الفحص" وتغيير حالة العينة إلى "تم الإرسال":

مثال_نجاح الإرسال

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

#الاستدعاء الخارجي

لا يقتصر تشغيل أحداث الإجراءات المخصصة على واجهة المستخدم؛ بل يمكن تشغيلها أيضًا عبر استدعاءات واجهة برمجة تطبيقات HTTP. على وجه التحديد، توفر أحداث الإجراءات المخصصة نوع إجراء جديد لجميع عمليات جداول البيانات لتشغيل سير العمل: trigger، والذي يمكن استدعاؤه باستخدام واجهة برمجة تطبيقات الإجراءات القياسية في NocoBase.

تلميح

نظرًا لأن الاستدعاءات الخارجية تتطلب أيضًا هوية المستخدم، فعند الاستدعاء عبر واجهة برمجة تطبيقات HTTP، يجب توفير معلومات المصادقة تمامًا مثل الطلبات العادية، بما في ذلك رأس Authorization أو معلمة token (الرمز الذي تم الحصول عليه عند تسجيل الدخول)، ورأس X-Role (اسم دور المستخدم الحالي).

#بلا سياق

تحتاج سير العمل بدون سياق إلى تنفيذ عملية التشغيل على مورد workflows:

curl -X POST -H 'Authorization: Bearer <your token>' -H 'X-Role: <roleName>' \
  "http://localhost:3000/api/workflows:trigger?triggerWorkflows=workflowKey"

#سجل واحد

يمكن استدعاء سير العمل الذي يتم تشغيله بواسطة زر، كما في المثال، بالطريقة التالية:

curl -X POST -H 'Authorization: Bearer <your token>' -H 'X-Role: <roleName>' \
  "http://localhost:3000/api/samples:trigger/<:id>?triggerWorkflows=workflowKey"

نظرًا لأن هذا الإجراء مخصص لسجل واحد، عند استدعائه على بيانات موجودة، تحتاج إلى تحديد معرف صف البيانات واستبدال الجزء <:id> في عنوان URL.

إذا تم الاستدعاء لنموذج (مثل الإضافة أو التحديث)، في حالة إضافة بيانات جديدة، يمكن عدم تمرير المعرف، ولكن يجب تمرير البيانات المرسلة كسياق للتنفيذ:

curl -X POST -H 'Authorization: Bearer <your token>' -H 'X-Role: <roleName>' -d \
  '{
    "title": "Sample 1",
    "id": 91
  }'
  "http://localhost:3000/api/samples:trigger?triggerWorkflows=workflowKey"

بالنسبة لنموذج التحديث، يجب تمرير معرف صف البيانات والبيانات المحدثة معًا:

curl -X POST -H 'Authorization: Bearer <your token>' -H 'X-Role: <roleName>' -d \
  '{
    "title": "Sample 1",
    "id": 91
  }'
  "http://localhost:3000/api/samples:trigger/<:id>?triggerWorkflows=workflowKey"

إذا تم تمرير المعرف والبيانات معًا، فسيتم أولاً تحميل صف البيانات المقابل للمعرف، ثم استخدام الخصائص من كائن البيانات الممرر لتجاوز صف البيانات الأصلي للحصول على سياق بيانات التشغيل النهائي.

تنبيه

إذا تم تمرير بيانات علاقات، فسيتم تجاوزها أيضًا. يجب الحذر عند التعامل مع البيانات الواردة خاصة عند تكوين التحميل المسبق لعناصر بيانات العلاقات، لتجنب تجاوز بيانات العلاقات بشكل غير متوقع.

بالإضافة إلى ذلك، فإن معلمة URL triggerWorkflows هي مفتاح سير العمل (key)، ويمكن فصل مفاتيح متعددة بفواصل. يمكن الحصول على هذا المفتاح عن طريق تمرير الماوس فوق اسم سير العمل في الجزء العلوي من لوحة سير العمل:

طريقة عرض مفتاح سير العمل

بعد نجاح الاستدعاء، سيتم تشغيل حدث الإجراء المخصص لجدول samples المقابل.

تلميح

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

#سجلات متعددة

تشبه طريقة استدعاء السجل الواحد، ولكن البيانات الممررة تحتاج فقط إلى معلمات مفاتيح أساسية متعددة (filterByTk[])، ولا يلزم تمرير جزء data:

curl -X POST -H 'Authorization: Bearer <your token>' -H 'X-Role: <roleName>' \
  "http://localhost:3000/api/samples:trigger?filterByTk[]=1&filterByTk[]=2&triggerWorkflows=workflowKey"

سيؤدي هذا الاستدعاء إلى تشغيل حدث الإجراء المخصص في وضع السجلات المتعددة، واستخدام البيانات ذات المعرفات 1 و 2 كبيانات لسياق المشغل.