Добавяне на метод за показване или редактиране чрез разширение в Dynamics 365
Публикувано: 16 февруари 2025 г. в 11:54:59 ч. UTC
Последна актуализация: 12 януари 2026 г. в 8:57:14 ч. 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
{
}
Сега можете просто да имплементирате метода си за показване в този клас, както бихте направили директно върху таблицата в по-ранните версии на Dynamics - „това“ дори препраща към таблицата, така че можете да достъпвате полета и други методи.
Например, клас с прост (и напълно безполезен) метод за показване, който просто връща номера на сметката на клиента, може да изглежда така:
public final class MyCustTable_Extension
{
public display CustAccount displayAccountNum()
{
;
return this.AccountNum;
}
}
Сега, за да добавите метода за показване към формуляр (или разширение на формуляр, ако не можете да редактирате формуляра директно), трябва да добавите поле към формуляра ръчно и да се уверите, че използвате правилния тип (низ в този пример).
След това, в контролата, ще зададете DataSource на CustTable (или каквото и да е името на вашия източник на данни CustTable) и DataMethod на MyCustTable_Extension.displayAccountNum (не забравяйте да включите името на класа, в противен случай компилаторът няма да може да намери метода).
И си готов :-)
Актуализация: Вече не е необходимо да се включва името на класа на разширението при добавяне на метода за показване към формуляр, но при първоначалното публикуване беше. Оставям информацията тук, в случай че някои читатели все още използват по-стари версии.
Допълнително четене
Ако ви е харесала тази публикация, може да ви харесат и тези предложения:
- Visual Studio увисва при стартиране, докато зарежда последните проекти
- Поставете Dynamics 365 FO Virtual Machine Dev или Test в режим на поддръжка
- Създаване на справочно поле за финансово измерение в Dynamics 365
