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++.
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:
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:
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:
- Aktualizujte hodnotu finanční dimenze z kódu X++ v Dynamics 365
- Vytvoření vyhledávacího pole pro finanční dimenzi v Dynamics 365
- Přepněte Dynamics 365 FO Virtual Machine Dev nebo Test do režimu údržby
