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

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

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

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

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



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


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



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


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

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

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

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

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

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

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

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

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

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

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

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

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

بهذا، يكون حدث الإجراء المخصص البسيط قد اكتمل. وبالمثل، بالنسبة للأعمال التي تتضمن عمليات معقدة مثل معالجة الطلبات أو تقديم التقارير، يمكن تحقيق ذلك من خلال أحداث الإجراءات المخصصة.
لا يقتصر تشغيل أحداث الإجراءات المخصصة على واجهة المستخدم؛ بل يمكن تشغيلها أيضًا عبر استدعاءات واجهة برمجة تطبيقات HTTP. على وجه التحديد، توفر أحداث الإجراءات المخصصة نوع إجراء جديد لجميع عمليات جداول البيانات لتشغيل سير العمل: trigger، والذي يمكن استدعاؤه باستخدام واجهة برمجة تطبيقات الإجراءات القياسية في NocoBase.
نظرًا لأن الاستدعاءات الخارجية تتطلب أيضًا هوية المستخدم، فعند الاستدعاء عبر واجهة برمجة تطبيقات HTTP، يجب توفير معلومات المصادقة تمامًا مثل الطلبات العادية، بما في ذلك رأس Authorization أو معلمة token (الرمز الذي تم الحصول عليه عند تسجيل الدخول)، ورأس X-Role (اسم دور المستخدم الحالي).
تحتاج سير العمل بدون سياق إلى تنفيذ عملية التشغيل على مورد workflows:
يمكن استدعاء سير العمل الذي يتم تشغيله بواسطة زر، كما في المثال، بالطريقة التالية:
نظرًا لأن هذا الإجراء مخصص لسجل واحد، عند استدعائه على بيانات موجودة، تحتاج إلى تحديد معرف صف البيانات واستبدال الجزء <:id> في عنوان URL.
إذا تم الاستدعاء لنموذج (مثل الإضافة أو التحديث)، في حالة إضافة بيانات جديدة، يمكن عدم تمرير المعرف، ولكن يجب تمرير البيانات المرسلة كسياق للتنفيذ:
بالنسبة لنموذج التحديث، يجب تمرير معرف صف البيانات والبيانات المحدثة معًا:
إذا تم تمرير المعرف والبيانات معًا، فسيتم أولاً تحميل صف البيانات المقابل للمعرف، ثم استخدام الخصائص من كائن البيانات الممرر لتجاوز صف البيانات الأصلي للحصول على سياق بيانات التشغيل النهائي.
إذا تم تمرير بيانات علاقات، فسيتم تجاوزها أيضًا. يجب الحذر عند التعامل مع البيانات الواردة خاصة عند تكوين التحميل المسبق لعناصر بيانات العلاقات، لتجنب تجاوز بيانات العلاقات بشكل غير متوقع.
بالإضافة إلى ذلك، فإن معلمة URL triggerWorkflows هي مفتاح سير العمل (key)، ويمكن فصل مفاتيح متعددة بفواصل. يمكن الحصول على هذا المفتاح عن طريق تمرير الماوس فوق اسم سير العمل في الجزء العلوي من لوحة سير العمل:

بعد نجاح الاستدعاء، سيتم تشغيل حدث الإجراء المخصص لجدول samples المقابل.
عند تشغيل حدث إجراء عبر استدعاء واجهة برمجة تطبيقات HTTP، يجب الانتباه إلى حالة تفعيل سير العمل وما إذا كانت إعدادات جدول البيانات متطابقة، وإلا فقد لا ينجح الاستدعاء أو تظهر أخطاء.
تشبه طريقة استدعاء السجل الواحد، ولكن البيانات الممررة تحتاج فقط إلى معلمات مفاتيح أساسية متعددة (filterByTk[])، ولا يلزم تمرير جزء data:
سيؤدي هذا الاستدعاء إلى تشغيل حدث الإجراء المخصص في وضع السجلات المتعددة، واستخدام البيانات ذات المعرفات 1 و 2 كبيانات لسياق المشغل.