إضافة طريقة عرض أو تحرير عبر الامتداد في Dynamics 365
نُشرت: ١٦ فبراير ٢٠٢٥ م في ١١:٥٤:٥٨ ص UTC
في هذه المقالة، أشرح كيفية استخدام ملحق الفئة لإضافة طريقة عرض إلى جدول ونماذج في Dynamics 365 for Operations، بما في ذلك أمثلة التعليمات البرمجية X++.
Add Display or Edit Method via Extension in Dynamics 365
على الرغم من أن التخطيط لاستخدام طرق العرض أو التحرير في Dynamics هو أمر يجب أن يجعلك تفكر بشكل عام فيما إذا كان بإمكانك تصميم الحل الخاص بك بطريقة مختلفة، إلا أنها في بعض الأحيان تكون الطريقة الأفضل للقيام بذلك.
في الإصدارات السابقة من Dynamics وAxapta، كان من السهل جدًا إنشاء طرق العرض أو التحرير على الجداول والنماذج، ولكن عندما حدث مؤخرًا أنني اضطررت إلى إنشاء طريقة التحرير الأولى في Dynamics 365، اكتشفت أن الإجراء للقيام بذلك مختلف إلى حد ما.
من الواضح أن هناك عدة طرق صالحة، ولكن الطريقة التي أجدها الأفضل (من حيث البديهية وجمال الكود) هي استخدام ملحق الفئة. نعم، يمكنك استخدام ملحق الفئة لإضافة طرق إلى أنواع عناصر أخرى غير الفئات - في هذه الحالة جدول، ولكن هذا ينطبق على النماذج أيضًا.
أولاً، قم بإنشاء فئة جديدة. يمكنك تسميتها بأي اسم تريده، ولكن لسبب ما يجب أن تكون ملحقة بـ "_Extension". لنفترض أنك بحاجة إلى إضافة طريقة عرض إلى CustTable، يمكنك على سبيل المثال تسميتها MyCustTable_Extension.
يجب تزيين الفصل باستخدام ExtensionOf لإعلام النظام بما تقوم بتمديده، على النحو التالي:
public final class MyCustTable_Extension
{
}
الآن يمكنك تنفيذ طريقة العرض الخاصة بك في هذه الفئة، كما كنت ستفعل مباشرة على الجدول في الإصدارات السابقة من Dynamics - "هذا" يشير حتى إلى الجدول، حتى تتمكن من الوصول إلى الحقول والطرق الأخرى.
على سبيل المثال، يمكن أن تبدو الفئة التي تحتوي على طريقة عرض بسيطة (وغير مفيدة تمامًا) تقوم فقط بإرجاع رقم حساب العميل على النحو التالي:
public final class MyCustTable_Extension
{
public display CustAccount displayAccountNum()
{
;
return this.AccountNum;
}
}
الآن، لإضافة طريقة العرض إلى نموذج (أو ملحق النموذج، إذا لم تتمكن من تحرير النموذج مباشرة)، تحتاج إلى إضافة حقل إلى النموذج يدويًا والتأكد من استخدام النوع الصحيح (سلسلة في هذا المثال).
بعد ذلك، في عنصر التحكم، يمكنك تعيين DataSource إلى CustTable (أو أيًا كان اسم مصدر بيانات CustTable الخاص بك) وDataMethod إلى MyCustTable_Extension.displayAccountNum (تأكد من تضمين اسم الفصل، وإلا فلن يتمكن المترجم من العثور على الطريقة).
وانتهيت :-)
التحديث: لم يعد من الضروري تضمين اسم فئة الامتداد عند إضافة طريقة العرض إلى نموذج، ولكن في وقت النشر الأصلي، كان ذلك ضروريًا. سأترك المعلومات هنا في حالة استمرار بعض القراء في استخدام إصدارات أقدم.