הוסף שיטת תצוגה או עריכה באמצעות הרחבה ב- Dynamics 365
פורסם: 16 בפברואר 2025 בשעה 11:56:27 UTC
במאמר זה, אני מסביר כיצד להשתמש בתוסף מחלקה כדי להוסיף שיטת תצוגה לטבלה ולטופס ב- Dynamics 365 for Operations, כולל דוגמאות קוד X++.
Add Display or Edit Method via Extension in Dynamics 365
למרות שתכנון להשתמש בשיטות תצוגה או עריכה בדינמיקה הוא משהו שבדרך כלל אמור לגרום לך לשקול אם אולי תוכל לעצב את הפתרון שלך בדרך אחרת, מדי פעם הם הדרך הטובה ביותר ללכת.
בגרסאות קודמות של 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 (הקפד לכלול את שם המחלקה, אחרת המהדר לא יכול למצוא את השיטה).
וגמרת :-)
עדכון: אין עוד צורך לכלול את שם מחלקת ההרחבה בעת הוספת שיטת התצוגה לטופס, אבל בזמן הפרסום המקורי, זה היה. אני משאיר את המידע כאן למקרה שחלק מהקוראים עדיין משתמשים בגרסאות ישנות יותר.