Miklix

Pridajte metódu zobrazenia alebo úpravy prostredníctvom rozšírenia v Dynamics 365

Publikované: 16. februára 2025 o 11:56:04 UTC
Posledná aktualizácia: 12. januára 2026 o 8:57:28 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 systéme Dynamics 365 for Operations, vrátane príkladov kódu X++.


Táto stránka bola strojovo preložená z angličtiny, aby bola prístupná čo najväčšiemu počtu ľudí. Žiaľ, strojový preklad ešte nie je dokonalá technológia, takže sa môžu vyskytnúť chyby. Ak chcete, môžete si pozrieť pôvodnú anglickú verziu tu:

Add Display or Edit Method via Extension in Dynamics 365

Hoci plánovanie použitia metód zobrazenia alebo úpravy v Dynamics je niečo, čo by vás malo vo všeobecnosti prinútiť zvážiť, či by ste svoje riešenie nemohli navrhnúť inak, niekedy sú to najlepšie riešenie.

Predchádzajúcich verziách Dynamics a Axapta bolo veľmi jednoduché vytvárať metódy zobrazenia alebo úpravy v tabuľkách a formulároch, ale keď som nedávno musel vytvoriť svoju prvú metódu úpravy v Dynamics 365, zistil som, že postup je trochu odlišný.

Existuje evidentne niekoľko platných prístupov, ale ten, ktorý považujem za najlepší (z hľadiska intuitívnosti aj vzhľadu 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 sú triedy – v tomto prípade tabuľka, ale funguje to aj pre formuláre.

Najprv vytvorte novú triedu. Môžete ju pomenovať ľubovoľne, ale z nejakého dôvodu musí mať príponu „_Extension“. Povedzme, že potrebujete do triedy CustTable pridať metódu zobrazenia, môžete ju napríklad pomenovať MyCustTable_Extension.

Trieda musí byť ozdobená funkciou ExtensionOf, aby systém vedel, čo rozširujete, takto:

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

Teraz môžete jednoducho implementovať metódu zobrazenia v tejto triede, ako by ste to robili priamo na tabuľke v starších verziách Dynamics – „toto“ dokonca odkazuje na tabuľku, takže môžete pristupovať k poliam a iným metódam.

Napríklad trieda s jednoduchou (a úplne nepoužiteľnou) metódou zobrazenia, ktorá vracia iba číslo účtu zákazníka, by mohla vyzerať takto:

[ExtensionOf(tableStr(CustTable))]
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 formulár priamo upravovať), musíte do formulára manuálne pridať pole a uistiť sa, že používate správny typ (v tomto príklade reťazec).

Potom by ste v ovládacom prvku nastavili 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 metódu nenájde).

A máte hotovo :-)

Aktualizácia: Pri pridávaní metódy zobrazenia do formulára už nie je potrebné uvádzať názov rozširujúcej triedy, ale v čase pôvodného publikovania to tak bolo. Informácie tu ponechávam pre prípad, že by niektorí čitatelia stále používali staršie verzie.

Ďalšie čítanie

Ak sa vám tento príspevok páčil, možno sa vám budú páčiť aj tieto návrhy:


Zdieľať na BlueskyZdieľať na FacebookuZdieľať na LinkedInZdieľať na TumblrZdieľať na XZdieľať na LinkedInPripnúť na Pintereste

Mikkel Christensen

O autorovi

Mikkel Christensen
Mikkel je tvorcom a majiteľom miklix.com. Má viac ako 20 rokov skúseností ako profesionálny počítačový programátor/vývojár softvéru a v súčasnosti pracuje na plný úväzok pre veľkú európsku IT korporáciu. Keď práve nepíše blog, venuje svoj voľný čas širokej škále záujmov, koníčkov a aktivít, čo sa môže do istej miery odrážať v rôznorodosti tém na tejto webovej lokalite.