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

المشغلات

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

العقدة

نظرة عامة

AI

LLM

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

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

حساب

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

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

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

معالجة يدوية

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

أنواع ممتدة

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

تطوير الإضافات

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

تمت ترجمة هذه الوثائق تلقائيًا بواسطة الذكاء الاصطناعي.

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

This feature is provided by the commercial plugin «سير العمل: حدث الإجراء المخصص», please purchase to use

#مقدمة

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

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

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

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

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

#نوع السياق

v.1.6.0+

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

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

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

#مجموعة

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

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

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

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

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

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

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

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

#بلا سياق

v.1.6.0+

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

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

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

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

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

ربط سير العمل بالزر_شريط الإجراءات

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

#سجل واحد

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

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

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

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

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

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

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

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

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

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

v.1.6.0+

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

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

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

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

20250215224436

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

20250215224736

#مثال

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

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

مثال_مجموعة العينات

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

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

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

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

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

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

تلميح

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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",
    "indicator": 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",
    "indicator": 91
  }'
  "http://localhost:3000/api/samples:trigger/<:id>?triggerWorkflows=workflowKey"

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

ملاحظة

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

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

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

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

تلميح

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

إذا كنت بحاجة إلى تشغيل حدث لبيانات ارتباط من نوع "واحد لواحد" (العديد لواحد غير مدعوم حاليًا) في هذا الإجراء، يمكنك استخدام ! في المعلمة لتحديد بيانات التشغيل لحقل الارتباط:

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

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

تلميح

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