Pridajte metódu zobrazenia alebo úpravy prostredníctvom rozšírenia v Dynamics 365
Publikované: 16. februára 2025 o 11:56:04 UTC
V tomto článku vysvetľujem, ako použiť rozšírenie triedy na pridanie metódy zobrazenia do tabuľky a formulára v Dynamics 365 for Operations, vrátane príkladov kódu X++.
Add Display or Edit Method via Extension in Dynamics 365
Zatiaľ čo plánovanie použitia metód zobrazenia alebo úprav v Dynamics je niečo, čo by vás malo vo všeobecnosti prinútiť zvážiť, či by ste možno nemohli navrhnúť svoje riešenie iným spôsobom, príležitostne sú tou najlepšou cestou.
V predchádzajúcich verziách Dynamics a Axapta bolo veľmi jednoduché vytvárať metódy zobrazenia alebo úpravy na tabuľkách a formulároch, ale keď som nedávno musel urobiť svoju prvú metódu úprav v Dynamics 365, zistil som, že postup na to je trochu odlišný.
Zjavne existuje niekoľko platných prístupov, ale ten, ktorý považujem za najlepší (z hľadiska intuitívnosti aj krásneho kódu), je použiť rozšírenie triedy. Áno, rozšírenia triedy môžete použiť na pridanie metód do iných typov prvkov ako tried – v tomto prípade tabuľky, ale funguje to aj pre formuláre.
Najprv vytvorte novú triedu. Môžete ho pomenovať akokoľvek chcete, no z nejakého dôvodu musí mať príponu „_Extension“. Povedzme, že potrebujete pridať metódu zobrazenia do CustTable, môžete ju napríklad pomenovať MyCustTable_Extension.
Trieda musí byť ozdobená ExtensionOf, aby systém vedel, čo rozširujete, napríklad takto:
public final class MyCustTable_Extension
{
}
Teraz môžete jednoducho implementovať svoju metódu zobrazenia v tejto triede, ako by ste to urobili priamo na tabuľke v starších verziách Dynamics – „toto“ dokonca odkazuje na tabuľku, takže máte prístup k poliam a iným metódam.
Napríklad trieda s jednoduchou (a úplne zbytočnou) metódou zobrazenia, ktorá len vráti číslo účtu zákazníka, by mohla vyzerať takto:
public final class MyCustTable_Extension
{
public display CustAccount displayAccountNum()
{
;
return this.AccountNum;
}
}
Teraz, ak chcete pridať metódu zobrazenia do formulára (alebo rozšírenia formulára, ak nemôžete upraviť formulár priamo), musíte do formulára manuálne pridať pole a uistite sa, že používate správny typ (v tomto príklade reťazec).
Potom na ovládacom prvku nastavíte DataSource na CustTable (alebo akýkoľvek názov vášho zdroja údajov CustTable) a DataMethod na MyCustTable_Extension.displayAccountNum (nezabudnite uviesť názov triedy, inak kompilátor nemôže nájsť metódu).
A hotovo :-)
Aktualizácia: Pri pridávaní metódy zobrazenia do formulára už nie je potrebné uvádzať názov triedy rozšírenia, ale v pôvodnom čase publikovania to tak bolo. Informácie tu ponechávam pre prípad, že niektorí čitatelia stále používajú staršie verzie.