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

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

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

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

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



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


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



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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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