الموضوع: Triggers in Dexterity
عرض مشاركة واحدة
قديم 18-Mar-2012, 08:26 PM   #5
humam
مشرف منتدى المطورين
افتراضي انواع القادحات Triggers

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

Form triggers:

عندما تقوم بتسجيل From Trigger فان هذا سوف يؤدي الى اضافة فقرة جديدة الى القائمة الفرعية Additional التابعة للقائمة Extra وبذلك سوف تكون قادر على فتح Form من هذه القائمة او عند طريق استخدام Shortcut حيث يمكن استخدام التركيبة Ctrl+1 لفتح هذا النموذج تستخدم هذه الطريقة عندما تريد اضافة نموذج يحتوي على معلومات اضافية غير موجوده في نماذج الجريت بلينز الاصلية.




Focus Trigger:

وهو احد اكثر الانواع استخداما ويطلق هذا القادح اعتمادا على Focus Events وهو ينقسم الى عده انواع:
Form focus triggers
Window focus triggers
Scroll window focus triggers
Field focus triggers
Menu focus triggers
Command focus triggers

في هذا النوع من القادحات سوف تكون قادر على اضافة الشفرة البرمجية المطلوبة لمختلف انواع الاحداث التي تدعمها الدكسترتي مثلا في حالة Form يمكن تسجيل قادحات للاحداث Open Form , Close Form بالنسبة لل Window يمكن تسجيل قادحات لل Activate window, close window, pre window وهكذا بالنسبة لباقي الانواع الاخرى. كيف يتم اطلاق هذا القادح مثلا يمكن ان تسجل قادح لزر Save في اي نافذة من نوافذ الجريت بلينز وهنا يمكن تسجيل هذا القادح لينطلق بعد الحدث Change وهناك معامل اضافي في عبارة تعريف القادح سوف تمكنك من تنفيذ الشفرة باحدى الطريقتين التاليتين اولا TRIGGER_BEFORE_ORIGINAL في هذه الحالة سوف تتم عملية تنفيذ شفرة القادح قبل تنفيذ الشفرة الاصلية للزر Save وهنا يمكن ان تقوم بكل عمليات التحقق المطلوبة قبل تنفيذ عملية الحفظ والطريقة الثانية TRIGGER_BEFORE_ORIGINA في هذه الحالة سوف تتم عملية تنفيذ شفرة القادح بعد تنفيذ الشفرة الاصلية للزر Save وهنا يمكن ان تقوم بكل العمليات الاضافية مثل حفظ المعلومات في جدول جديد تقوم باضافته الى النموذج.

Database triggers

يتم اطلاق هذا النوع من القادحات اعتمادا على Table Operations مثل Save,Read,Delete حيث يمكن تسجيل قادح لكل نوع من العمليات السابقة وسوف يتم تنفيذ شفرةالقادح بعد نجاح العمليات السابقة على قاعده البيانات وهنا توجد حالة خاصة بهذا النوع حيث سوف يتم امرار Table Buffer الى الشفرة البرمجية الخاصة بالقادح وبتالي يمكنك استخدام هذا Table buffer للقيام بالعمليات المماثلة على الجداول الاضافية التي تقوم انت باضافتها الى الجريت بلينز وذلك للحفاظ على تكامل البيانات بين جداولك وجداول الجريت بلينز.

Procedure triggers

يمكن ايضا تسجيل قادحات تعمل بعد استدعاء Procedures من قبل برنامج الجريت بلينز وهذا النوع مفيد جدا في حالات خاصة خصوصا اذا كنت مثلا تريد استرجاع سجل معين من الجدول الاضافي وتريد عرضه عند قيام المستخدم باستعراض السجل الاصلي حيث ان معظم نوافذ الجريت بلينز سوف تقوم بعملية اقفال lock للحقول التي تمثل primary key وبتالي سوف لن تكون قادر على استخدام focus trigger مع هذه الحقول لذا عليك ايجاد اي اجراء عام يقوم الجريت بلينز باستدعائه عند تنفيذ شفرة هذه الحقول وهذه العملية صعبة نوعا ما وتعتمد على الخبرة وعلى استخدام Script log وكيفية قراءة هذا Log .

Function Trigger

وهو مشابة للنوع السابق ولكن هذه المرة سوف تقوم بتسجيله ل Function بدل من تسجيله ل Procedure
__________________
GP Techno-Functional Consultant
humam غير متواجد حالياً   رد مع اقتباس