Додајте метод приказа или измене преко проширења у Динамицс 365
Објављено: 16. фебруар 2025. 11:59:55 UTC
У овом чланку објашњавам како да користите екстензију класе за додавање методе приказа табели и обрасцу у Динамицс 365 фор Оператионс, укључујући примере Кс++ кода.
Add Display or Edit Method via Extension in Dynamics 365
Иако је планирање коришћења метода приказа или уређивања у Динамицс-у нешто што би вас генерално требало навести да размислите да ли бисте можда могли да дизајнирате своје решење на другачији начин, повремено су они најбољи начин.
У претходним верзијама Динамицс-а и Акапта-е било је веома лако креирати методе приказа или уређивања на табелама и обрасцима, али када сам недавно морао да направим свој први метод уређивања у Динамицс 365, открио сам да је процедура за то нешто другачија.
Очигледно постоји неколико валидних приступа, али за мене је најбољи (и у смислу интуитивности и лепоте кода) коришћење проширења класе. Да, можете користити екстензије класа да додате методе другим типовима елемената осим класама – у овом случају табела, али то функционише и за форме.
Прво направите нову класу. Можете га именовати како год желите, али из неког разлога мора имати суфикс "_Ектенсион". Рецимо да морате да додате метод приказа у ЦустТабле, можете га на пример назвати МиЦустТабле_Ектенсион.
Класа мора бити украшена ЕктенсионОф да би систем знао шта проширујете, на пример:
public final class MyCustTable_Extension
{
}
Сада можете само да имплементирате свој метод приказа у овој класи, као што бисте то урадили директно на табели у ранијим верзијама Динамицс-а – „ово“ чак упућује на табелу, тако да можете приступити пољима и другим методама.
На пример, класа са једноставном (и потпуно бескорисном) методом приказа која само враћа број рачуна клијента може изгледати овако:
public final class MyCustTable_Extension
{
public display CustAccount displayAccountNum()
{
;
return this.AccountNum;
}
}
Сада, да бисте додали метод приказа у образац (или екстензију обрасца, ако не можете директно да уређујете образац), морате ручно да додате поље у образац и обавезно користите исправан тип (стринг у овом примеру).
Затим, на контроли бисте поставили ДатаСоурце на ЦустТабле (или било шта друго име вашег извора података ЦустТабле) и ДатаМетход на МиЦустТабле_Ектенсион.дисплаиАццоунтНум (обавезно укључите име класе, иначе компајлер не може да пронађе метод).
И готови сте :-)
Ажурирање: Више није потребно укључити назив класе екстензије приликом додавања методе приказа у образац, али у првобитно време објављивања јесте. Остављам информације овде у случају да неки читаоци још увек користе старије верзије.