Dynamics 365-ում ավելացրեք ցուցադրման կամ խմբագրման մեթոդ Extension-ի միջոցով
Հրապարակվել է՝ 16 փետրվարի, 2025 թ., 11:57:07 UTC
Այս հոդվածում ես բացատրում եմ, թե ինչպես օգտագործել դասի ընդլայնումը՝ աղյուսակում ցուցադրման մեթոդ և ձև ավելացնելու համար Dynamics 365-ում Գործողությունների համար, ներառելով 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-ի ավելի վաղ տարբերակներում. «this»-ը նույնիսկ հղում է անում աղյուսակին, որպեսզի կարողանաք մուտք գործել դաշտեր և այլ մեթոդներ:
Օրինակ, պարզ (և բոլորովին անօգուտ) ցուցադրման մեթոդով դասը, որը պարզապես վերադարձնում է հաճախորդի հաշվի համարը, կարող է այսպիսի տեսք ունենալ.
public final class MyCustTable_Extension
{
public display CustAccount displayAccountNum()
{
;
return this.AccountNum;
}
}
Այժմ, ձևի վրա ցուցադրման մեթոդը ավելացնելու համար (կամ ձևի ընդլայնում, եթե դուք չեք կարող ուղղակիորեն խմբագրել ձևը), դուք պետք է ձեռքով դաշտ ավելացնեք ձևին և համոզվեք, որ օգտագործեք ճիշտ տեսակը (տողը այս օրինակում):
Այնուհետև հսկիչի վրա դուք պետք է «DataSource»-ը դնեիք «CustTable» (կամ ինչ էլ որ լինի ձեր CustTable տվյալների աղբյուրի անունը) և «DataMethod»-ը՝ MyCustTable_Extension.displayAccountNum (համոզվեք, որ ներառեք դասի անունը, հակառակ դեպքում կոմպիլյատորը չի կարող գտնել մեթոդը):
Եվ դու ավարտեցիր :-)
Թարմացում. այլևս անհրաժեշտ չէ ներառել ընդլայնման դասի անվանումը ձևաթղթում ցուցադրման մեթոդ ավելացնելիս, սակայն հրապարակման սկզբնական պահին այդպես էր: Ես թողնում եմ տեղեկատվությունը այստեղ, եթե որոշ ընթերցողներ դեռ օգտագործում են հին տարբերակները: