Dynamics 365-ում ավելացրեք ցուցադրման կամ խմբագրման մեթոդ Extension-ի միջոցով
Հրապարակվել է՝ 16 փետրվարի, 2025 թ., 11:57:07 UTC
Վերջին թարմացումը՝ 12 հունվարի, 2026 թ., 08:57:44 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
{
}
Հիմա դուք կարող եք պարզապես իրականացնել ձեր display մեթոդը այս դասում, ինչպես կանեիք անմիջապես աղյուսակի վրա Dynamics-ի նախորդ տարբերակներում. «սա» նույնիսկ հղում է կատարում աղյուսակին, որպեսզի կարողանաք մուտք գործել դաշտեր և այլ մեթոդներ։
Օրինակ, դասը պարզ (և լիովին անօգուտ) ցուցադրման մեթոդով, որը պարզապես վերադարձնում է հաճախորդի հաշվի համարը, կարող է այսպիսի տեսք ունենալ.
public final class MyCustTable_Extension
{
public display CustAccount displayAccountNum()
{
;
return this.AccountNum;
}
}
Հիմա, ձևին (կամ ձևի ընդլայնմանը, եթե չեք կարող անմիջապես խմբագրել ձևը) display մեթոդը ավելացնելու համար անհրաժեշտ է ձեռքով դաշտ ավելացնել ձևին և համոզվել, որ օգտագործում եք ճիշտ տեսակը (այս օրինակում տողը):
Այնուհետև, կառավարման վրա դուք պետք է DataSource-ը սահմանեք CustTable-ի (կամ ձեր CustTable տվյալների աղբյուրի անվանման ցանկացած այլ տարբերակ) և DataMethod-ը MyCustTable_Extension.displayAccountNum-ի (համոզվեք, որ ներառել եք դասի անունը, հակառակ դեպքում կոմպիլյատորը չի կարողանա գտնել մեթոդը):
Եվ դուք ավարտեցիք :-)
Թարմացում. այլևս անհրաժեշտ չէ ներառել ընդլայնման դասի անունը ձևին display մեթոդը ավելացնելիս, բայց հրապարակման սկզբնական պահին անհրաժեշտ էր։ Ես տեղեկատվությունը թողնում եմ այստեղ, եթե որոշ ընթերցողներ դեռևս օգտագործում են հին տարբերակներ։
Լրացուցիչ ընթերցանություն
Եթե ձեզ դուր եկավ այս գրառումը, ձեզ կարող են նաև դուր գալ այս առաջարկները.
- Թարմացնել ֆինանսական dimension Value-ը X++ Կոդից Դինամիկայում 365
- Visual Studio-ն կախվում է գործարկման ժամանակ՝ վերջին նախագծերը բեռնելիս
- Տեղադրեք Dynamics 365 FO Virtual Machine Dev կամ Test-ը սպասարկման ռեժիմում
