Miklix

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-ով, որպեսզի համակարգը իմանա, թե ինչ եք ընդլայնում, օրինակ՝

[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 (համոզվեք, որ ներառեք դասի անունը, հակառակ դեպքում կոմպիլյատորը չի կարող գտնել մեթոդը):

Եվ դու ավարտեցիր :-)

Թարմացում. այլևս անհրաժեշտ չէ ներառել ընդլայնման դասի անվանումը ձևաթղթում ցուցադրման մեթոդ ավելացնելիս, սակայն հրապարակման սկզբնական պահին այդպես էր: Ես թողնում եմ տեղեկատվությունը այստեղ, եթե որոշ ընթերցողներ դեռ օգտագործում են հին տարբերակները:

Կիսվեք Bluesky-ումԿիսվել Facebook-ումԿիսվեք LinkedIn-ումԿիսվեք Tumblr-ումԿիսվեք X-ումԿիսվեք LinkedIn-ումԿպցնել Պինթրեսթում

Միկել Բանգ Քրիստենսեն

Հեղինակի մասին

Միկել Բանգ Քրիստենսեն
Mikkel-ը miklix.com-ի ստեղծողն ու սեփականատերն է: Նա ունի ավելի քան 20 տարվա աշխատանքային փորձ՝ որպես պրոֆեսիոնալ համակարգչային ծրագրավորող/ծրագրային ապահովման մշակող և ներկայումս լրիվ դրույքով աշխատում է եվրոպական խոշոր ՏՏ կորպորացիայի մեջ: Երբ նա բլոգ չի գրում, նա իր ազատ ժամանակն անցկացնում է հետաքրքրությունների, հոբբիների և գործունեության լայն շրջանակի վրա, որոնք որոշ չափով կարող են արտացոլվել այս կայքում ընդգրկված թեմաների բազմազանության մեջ: