Afegiu un mètode de visualització o d'edició mitjançant l'extensió al Dynamics 365
Publicat: 5 de març del 2025, a les 19:28:53 UTC
Última actualització: 12 de gener del 2026, a les 8:57:54 UTC
En aquest article, explico com utilitzar una extensió de classe per afegir un mètode de visualització a una taula i un formulari al Dynamics 365 for Operations, amb exemples de codi X++ inclosos.
Add Display or Edit Method via Extension in Dynamics 365
Tot i que planificar l'ús de mètodes de visualització o edició a Dynamics és una cosa que generalment us hauria de fer considerar si potser podríeu dissenyar la vostra solució d'una manera diferent, de vegades són la millor opció.
En versions anteriors de Dynamics i Axapta, era molt fàcil crear mètodes de visualització o edició en taules i formularis, però quan recentment vaig haver de crear el meu primer mètode d'edició al Dynamics 365, vaig descobrir que el procediment per fer-ho és una mica diferent.
Evidentment, hi ha diversos enfocaments vàlids, però el que trobo millor (tant pel que fa a la intuïció com a la bellesa del codi) és utilitzar una extensió de classe. Sí, podeu utilitzar extensions de classe per afegir mètodes a altres tipus d'elements que no siguin classes; en aquest cas, una taula, però també funciona per a formularis.
Primer, crea una classe nova. Pots anomenar-la com vulguis, però per alguna raó ha de tenir el sufix "_Extension". Per exemple, diguem que necessites afegir un mètode de visualització a CustTable, per exemple, podries anomenar-lo MyCustTable_Extension.
La classe ha d'estar decorada amb ExtensionOf per tal que el sistema sàpiga què esteu estenent, així:
public final class MyCustTable_Extension
{
}
Ara podeu implementar el vostre mètode de visualització en aquesta classe, tal com ho hauríeu fet directament a la taula en versions anteriors de Dynamics: "això" fins i tot fa referència a la taula, de manera que podeu accedir a camps i altres mètodes.
Per exemple, una classe amb un mètode de visualització simple (i completament inútil) que només retorna el número de compte del client podria tenir aquest aspecte:
public final class MyCustTable_Extension
{
public display CustAccount displayAccountNum()
{
;
return this.AccountNum;
}
}
Ara, per afegir el mètode de visualització a un formulari (o a una extensió de formulari, si no podeu editar el formulari directament), heu d'afegir un camp al formulari manualment i assegurar-vos d'utilitzar el tipus correcte (cadena en aquest exemple).
Aleshores, al control, definiríeu DataSource a CustTable (o qualsevol que sigui el nom de la vostra font de dades CustTable) i DataMethod a MyCustTable_Extension.displayAccountNum (assegureu-vos d'incloure el nom de la classe, ja que si no, el compilador no podrà trobar el mètode).
I ja està :-)
Actualització: Ja no cal incloure el nom de la classe d'extensió quan s'afegeix el mètode de visualització a un formulari, però en el moment original de la publicació, sí que ho era. Deixo la informació aquí en cas que alguns lectors encara utilitzin versions anteriors.
Lectures addicionals
Si t'ha agradat aquesta publicació, també et poden agradar aquests suggeriments:
- Creació d'un camp de cerca per a una dimensió financera al Dynamics 365
- Actualitzeu el valor de la dimensió financera del codi X++ al Dynamics 365
- El Visual Studio es bloqueja a l'inici mentre carrega els projectes recents
