Miklix

إضافة طريقة عرض أو تحرير عبر الامتداد في Dynamics 365

نُشرت: ١٦ فبراير ٢٠٢٥ م في ١١:٥٤:٥٨ ص UTC
آخر تحديث: ١٢ يناير ٢٠٢٦ م في ٨:٥٧:١٣ ص 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 لإعلام النظام بما تقوم بتوسيعه، كما يلي:

[ExtensionOf(tableStr(CustTable))]
public final class MyCustTable_Extension
{
}

الآن يمكنك ببساطة تنفيذ طريقة العرض الخاصة بك في هذه الفئة، كما كنت ستفعل مباشرة على الجدول في الإصدارات السابقة من Dynamics - يشير "this" حتى إلى الجدول، حتى تتمكن من الوصول إلى الحقول والأساليب الأخرى.

على سبيل المثال، قد تبدو فئة تحتوي على دالة عرض بسيطة (وغير مفيدة تمامًا) تقوم فقط بإرجاع رقم حساب العميل على النحو التالي:

[ExtensionOf(tableStr(CustTable))]
public final class MyCustTable_Extension
{
    public display CustAccount displayAccountNum()
    {
        ;

        return this.AccountNum;
    }
}

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

ثم، في عنصر التحكم، يمكنك تعيين DataSource إلى CustTable (أو أيًا كان اسم مصدر بيانات CustTable الخاص بك) و DataMethod إلى MyCustTable_Extension.displayAccountNum (تأكد من تضمين اسم الفئة، وإلا فلن يتمكن المترجم من العثور على الطريقة).

وهكذا تكون قد انتهيت :-)

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

قراءات إضافية

إذا أعجبك هذا المنشور، فقد تعجبك أيضًا هذه الاقتراحات:


شارك على بلوسكايشارك على الفيسبوكشارك على لينكدإنشارك على تمبلرشارك على إكسشارك على لينكدإنثبت على بينتريست

ميكيل كريستنسن

عن المؤلف

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