Přidejte metodu zobrazení nebo úprav prostřednictvím rozšíření v Dynamics 365
Vydáno: 16. února 2025 v 11:55:00 UTC
V tomto článku vysvětluji, jak pomocí rozšíření třídy přidat metodu zobrazení do tabulky a formuláře v Dynamics 365 for Operations, včetně příkladů kódu X++.
Add Display or Edit Method via Extension in Dynamics 365
Zatímco plánování použití metod zobrazení nebo úprav v Dynamics je něco, co by vás mělo obecně přimět zvážit, zda byste možná nemohli navrhnout své řešení jiným způsobem, občas jsou tou nejlepší cestou.
V předchozích verzích Dynamics a Axapta bylo velmi snadné vytvářet metody zobrazení nebo úprav na 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ý.
Zjevně existuje několik platných přístupů, ale ten, který považuji za nejlepší (jak z hlediska intuitivity, tak z hlediska krásy kódu), je použití rozšíření třídy. Ano, pomocí rozšíření tříd můžete přidat metody k jiným typům prvků než jsou třídy – v tomto případě tabulka, ale funguje to i pro formuláře.
Nejprve vytvořte novou třídu. Můžete jej pojmenovat, jak chcete, ale z nějakého důvodu musí mít příponu „_Extension“. Řekněme, že potřebujete přidat metodu zobrazení do CustTable, můžete ji například pojmenovat MyCustTable_Extension.
Třída musí být ozdobena 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 svou metodu zobrazení, jako byste to udělali přímo na stole 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 zbytečnou) 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í do formuláře přidat metodu zobrazení (nebo rozšíření formuláře, pokud formulář nemůžete upravit přímo), musíte do formuláře přidat pole ručně a ujistit se, že používáte správný typ (v tomto příkladu řetězec).
Pak byste na 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 nemůže najít metodu).
A máte hotovo :-)
Aktualizace: Při přidávání metody zobrazení do formuláře již není nutné uvádět název třídy rozšíření, ale v původní době publikování tomu tak bylo. Informace zde nechá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:
- Visual Studio se při načítání posledních projektů při spuštění zavěsí
- Vytvoření vyhledávacího pole pro finanční dimenzi v Dynamics 365
- Aktualizujte hodnotu finanční dimenze z kódu X++ v Dynamics 365