Miklix

Přidejte metodu zobrazení nebo úprav prostřednictvím rozšíření v Dynamics 365

Vydáno: 16. února 2025 v 11:55:00 UTC
Poslední aktualizace: 12. ledna 2026 v 8:57:14 UTC

V tomto článku vysvětluji, jak pomocí rozšíření třídy přidat metodu zobrazení do tabulky a formuláře v aplikaci Dynamics 365 for Operations, včetně příkladů kódu X++.


Tato stránka byla strojově přeložena z angličtiny, aby byla přístupná co největšímu počtu lidí. Strojový překlad bohužel ještě není dokonalá technologie, takže může dojít k chybám. Pokud si přejete, můžete si prohlédnout původní anglickou verzi zde:

Add Display or Edit Method via Extension in Dynamics 365

I když plánování použití metod zobrazení nebo úprav v Dynamics je něco, co by vás obecně mělo vést k zamyšlení, zda byste své řešení mohli navrhnout jinak, někdy jsou to nejlepší volba.

Předchozích verzích Dynamics a Axapta bylo velmi snadné vytvářet metody zobrazení nebo úpravy v tabulkách a formulářích, ale když jsem nedávno musel vytvořit svou první metodu úprav v Dynamics 365, zjistil jsem, že postup je poněkud odlišný.

Existuje evidentně několik platných přístupů, ale ten, který považuji za nejlepší (jak z hlediska intuitivnosti, tak i estetičnosti kódu), je použití rozšíření třídy. Ano, rozšíření tříd můžete použít k přidání metod k jiným typům prvků než třídám – v tomto případě tabulce, ale funguje to i pro formuláře.

Nejprve vytvořte novou třídu. Můžete ji pojmenovat jakkoli chcete, ale z nějakého důvodu musí mít příponu „_Extension“. Řekněme, že potřebujete do třídy CustTable přidat metodu zobrazení, můžete ji například pojmenovat Moje_rozšíření_Table.

Třída musí být doplněna atributem ExtensionOf, aby systém věděl, co rozšiřujete, například takto:

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

Nyní můžete v této třídě implementovat metodu zobrazení, stejně jako byste to dělali přímo v tabulce v dřívějších verzích Dynamics – „toto“ dokonce odkazuje na tabulku, takže můžete přistupovat k polím a dalším metodám.

Například třída s jednoduchou (a zcela nepoužitelnou) metodou zobrazení, která pouze vrací číslo účtu zákazníka, by mohla vypadat takto:

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

        return this.AccountNum;
    }
}

Chcete-li nyní přidat metodu zobrazení do formuláře (nebo rozšíření formuláře, pokud formulář nemůžete přímo upravovat), musíte do formuláře ručně přidat pole a ujistit se, že používáte správný typ (v tomto příkladu řetězec).

Pak byste v ovládacím prvku nastavili DataSource na CustTable (nebo jakýkoli název vašeho zdroje dat CustTable) a DataMethod na MyCustTable_Extension.displayAccountNum (nezapomeňte uvést název třídy, jinak kompilátor metodu nenajde).

A máte hotovo :-)

Aktualizace: Při přidávání metody zobrazení do formuláře již není nutné uvádět název rozšiřující třídy, ale v době původní publikace to tak bylo. Informace zde ponechávám pro případ, že by někteří čtenáři stále používali starší verze.

Další čtení

Pokud se vám tento příspěvek líbil, mohly by se vám líbit i tyto návrhy:


Sdílet na BlueskySdílejte na FacebookuSdílet na LinkedInSdílet na TumblrSdílet na XSdílet na LinkedInPřipnout na Pinterest

Mikkel Christensen

O autorovi

Mikkel Christensen
Mikkel je tvůrcem a majitelem webu miklix.com. Má více než 20 let zkušeností jako profesionální programátor/vývojář softwaru a v současné době pracuje na plný úvazek pro velkou evropskou IT společnost. Pokud zrovna nepíše blog, věnuje svůj volný čas široké škále zájmů, koníčků a aktivit, což se může do jisté míry odrážet v rozmanitosti témat na tomto webu.