Додајте метод за приказ или уредување преку екстензија во Dynamics 365
Објавено: 5 март 2025, во 19:53:25 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 - „ова“ дури и упатува на табелата, за да можете да пристапите до полињата и другите методи.
На пример, класа со едноставен (и целосно бескорисен) метод на прикажување што само го враќа бројот на сметката на клиентот може да изгледа вака:
public final class MyCustTable_Extension
{
public display CustAccount displayAccountNum()
{
;
return this.AccountNum;
}
}
Сега, за да го додадете методот на прикажување на формуларот (или наставката на формуларот, ако не можете директно да ја уредувате формата), треба рачно да додадете поле во формуларот и да бидете сигурни дека го користите правилниот тип (низа во овој пример).
Потоа, на контролата би поставиле DataSource на CustTable (или како и да е името на вашиот извор на податоци CustTable) и DataMethod на MyCustTable_Extension.displayAccountNum (погрижете се да го вклучите името на класата, инаку компајлерот не може да го најде методот).
И завршивте :-)
Ажурирање: Веќе не е неопходно да се вклучи името на класата на наставката при додавање на методот за прикажување во формулар, но во првобитното време на објавување, тоа беше. Овде ги оставам информациите во случај некои читатели да користат постари верзии.