Miklix

Додајте метод приказа или измене преко проширења у Динамицс 365

Објављено: 16. фебруар 2025. 11:59:55 UTC
Последње ажурирано: 12. јануар 2026. 08:57:51 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 како би систем знао шта проширујете, овако:

[ExtensionOf(tableStr(CustTable))]
public final class MyCustTable_Extension
{
}

Сада можете једноставно имплементирати метод приказа у овој класи, као што бисте то урадили директно на табели у ранијим верзијама Dynamics-а - „ово“ чак и референцира табелу, тако да можете приступити пољима и другим методама.

На пример, класа са једноставном (и потпуно бескорисном) методом приказа која само враћа број рачуна купца могла би изгледати овако:

[ExtensionOf(tableStr(CustTable))]
public final class MyCustTable_Extension
{
    public display CustAccount displayAccountNum()
    {
        ;

        return this.AccountNum;
    }
}

Сада, да бисте додали метод приказа у образац (или проширење обрасца, ако не можете директно да уредите образац), потребно је да ручно додате поље у образац и уверите се да користите исправан тип (стринг у овом примеру).

Затим, на контроли бисте поставили DataSource на CustTable (или како год да се зове ваш CustTable извор података) и DataMethod на MyCustTable_Extension.displayAccountNum (обавезно укључите име класе, иначе компајлер не може да пронађе метод).

И готови сте :-)

Ажурирање: Више није потребно укључивати назив класе проширења приликом додавања методе приказа у образац, али у време првобитног објављивања је било. Остављам информације овде у случају да неки читаоци још увек користе старије верзије.

Даље читање

Ако сте уживали у овом посту, можда ће вам се свидети и ови предлози:


Поделите на БлуескиПоделите на ФејсбукуДелите на ЛинкедИнуПодели на Тумблр-уПодели на КсДелите на ЛинкедИнуПин на Пинтерест-у

Миккел Цхристенсен

О аутору

Миккел Цхристенсен
Миккел је креатор и власник миклик.цом. Има преко 20 година искуства као професионални компјутерски програмер/програмер софтвера и тренутно је запослен са пуним радним временом у великој европској ИТ корпорацији. Када не пише блог, своје слободно време проводи на широком спектру интересовања, хобија и активности, што се у извесној мери може одразити на разноврсност тема обрађених на овој веб страници.