Megjelenítési vagy szerkesztési módszer hozzáadása a Dynamics 365 bővítményen keresztül
Megjelent: 2025. február 16. 11:55:35 UTC
Ebben a cikkben elmagyarázom, hogyan használható osztálybővítmény megjelenítési metódus hozzáadásához egy táblázathoz és egy űrlaphoz a Dynamics 365 for Operations alkalmazásban, X++ kódpéldákkal együtt.
Add Display or Edit Method via Extension in Dynamics 365
Bár a Dynamics megjelenítési vagy szerkesztési módszereinek használatának tervezése általában megfontolandó, hogy esetleg más módon is megtervezheti-e a megoldást, esetenként ezek a legjobb megoldások.
A Dynamics és az Axapta korábbi verzióiban nagyon könnyű volt megjeleníteni vagy szerkeszteni metódusokat táblákon és űrlapokon, de amikor nemrégiben véletlenül meg kellett csinálnom az első szerkesztési módszeremet a Dynamics 365-ben, rájöttem, hogy ennek az eljárása némileg eltér.
Nyilvánvalóan több érvényes megközelítés létezik, de a legjobbnak (mind az intuitivitás, mind a kód csinossága szempontjából) az osztálykiterjesztést találom. Igen, az osztálybővítmények segítségével az osztályokon kívül más elemtípusokhoz is hozzáadhat metódusokat - jelen esetben táblát, de ez az űrlapoknál is működik.
Először hozzon létre egy új osztályt. Bármilyennek nevezheti, de valamilyen oknál fogva "_Extension" utótaggal kell ellátni. Tegyük fel, hogy hozzá kell adnia egy megjelenítési metódust a CustTable-hoz, például elnevezheti MyCustTable_Extension néven.
Az osztályt ExtensionOf-fal kell díszíteni, hogy a rendszer tudja, mit bővít, például:
public final class MyCustTable_Extension
{
}
Most már csak implementálhatja a megjelenítési metódust ebben az osztályban, ahogyan azt közvetlenül az asztalon tette volna a Dynamics korábbi verzióiban – "ez" még a táblázatra is hivatkozik, így elérheti a mezőket és más módszereket.
Például egy osztály egy egyszerű (és teljesen haszontalan) megjelenítési metódussal, amely csak az ügyfél számlaszámát adja vissza, így nézhet ki:
public final class MyCustTable_Extension
{
public display CustAccount displayAccountNum()
{
;
return this.AccountNum;
}
}
Most, hogy hozzáadja a megjelenítési metódust egy űrlaphoz (vagy űrlapkiterjesztéshez, ha nem tudja közvetlenül szerkeszteni az űrlapot), manuálisan kell hozzáadnia egy mezőt az űrlaphoz, és győződjön meg arról, hogy a megfelelő típust használja (a példában karakterlánc).
Ezután a vezérlőn a DataSource értéket CustTable értékre (vagy a CustTable adatforrás bármilyen nevére) állítsa, a DataMethod értéket pedig MyCustTable_Extension.displayAccountNum értékre (feltétlenül adja meg az osztály nevét, különben a fordító nem találja a metódust).
és kész :-)
Frissítés: A megjelenítési metódus űrlaphoz adásakor már nem szükséges megadni a kiterjesztési osztály nevét, de az eredeti közzétételkor igen. Itt hagyom az információkat, hátha néhány olvasó még régebbi verziókat használ.