Lisää näyttö- tai muokkausmenetelmä Dynamics 365:n laajennuksen kautta
Julkaistu: 16. helmikuuta 2025 klo 11.55.31 UTC
Viimeksi päivitetty: 12. tammikuuta 2026 klo 8.57.18 UTC
Tässä artikkelissa selitän, miten luokkalaajennusta käytetään näyttömetodin lisäämiseen Dynamics 365 for Operationsin taulukkoon ja lomakkeeseen, mukaan lukien X++-koodiesimerkkejä.
Add Display or Edit Method via Extension in Dynamics 365
Vaikka näyttö- tai muokkausmetodien käytön suunnittelu Dynamicsissa yleensä saa sinut miettimään, voisitko ehkä suunnitella ratkaisusi eri tavalla, joskus ne ovat paras tapa toimia.
Dynamicsin ja Axaptan aiemmissa versioissa näyttö- tai muokkausmetodien luominen taulukoille ja lomakkeille oli erittäin helppoa, mutta kun minun piti äskettäin tehdä ensimmäinen muokkausmetodini Dynamics 365:ssä, huomasin, että se tapahtuu hieman eri tavalla.
On ilmeisesti useita päteviä lähestymistapoja, mutta mielestäni paras (sekä intuitiivisuuden että koodin kauneuden kannalta) on luokkalaajennuksen käyttö. Kyllä, voit käyttää luokkalaajennuksia lisätäksesi metodeja muihinkin elementtityyppeihin kuin luokkiin – tässä tapauksessa taulukkoon, mutta se toimii myös lomakkeille.
Luo ensin uusi luokka. Voit nimetä sen miksi haluat, mutta jostain syystä sen pääte on oltava "_Extension". Oletetaan, että sinun on lisättävä näyttömetodi CustTable-taulukkoon. Voit esimerkiksi nimetä sen MyCustTable_Extension.
Luokka täytyy varustaa ExtensionOf-muuttujalla, jotta järjestelmä tietää, mitä laajennat, esimerkiksi näin:
public final class MyCustTable_Extension
{
}
Nyt voit toteuttaa näyttömetodisi tässä luokassa, kuten olisit tehnyt suoraan taulukossa Dynamicsin aiemmissa versioissa – "tämä" jopa viittaa taulukkoon, joten voit käyttää kenttiä ja muita metodeja.
Esimerkiksi luokka, jossa on yksinkertainen (ja täysin hyödytön) näyttömetodi, joka palauttaa vain asiakkaan tilinumeron, voisi näyttää tältä:
public final class MyCustTable_Extension
{
public display CustAccount displayAccountNum()
{
;
return this.AccountNum;
}
}
Jos haluat lisätä näyttömetodin lomakkeeseen (tai lomakelaajennukseen, jos et voi muokata lomaketta suoraan), sinun on lisättävä kenttä lomakkeeseen manuaalisesti ja varmistettava, että käytät oikeaa tyyppiä (tässä esimerkissä merkkijono).
Sitten ohjausobjektissa asetat DataSource-arvoksi CustTable (tai minkä tahansa CustTable-tietolähteen nimen) ja DataMethod-arvoksi MyCustTable_Extension.displayAccountNum (muista sisällyttää luokan nimi, muuten kääntäjä ei löydä metodia).
Ja olet valmis :-)
Päivitys: Laajennusluokan nimeä ei enää tarvitse sisällyttää näyttömetodia lomakkeeseen lisättäessä, mutta alkuperäisessä julkaisussa se oli tarpeen. Jätän tiedot tähän siltä varalta, että jotkut lukijat käyttävät edelleen vanhempia versioita.
Lisälukemista
Jos pidit tästä postauksesta, saatat pitää myös näistä ehdotuksista:
- Visual Studio roikkuu käynnistyksen yhteydessä, kun se lataa viimeaikaisia projekteja
- Päivitä taloudellisen ulottuvuuden arvo X++-koodista Dynamics 365:ssä
- Aseta Dynamics 365 FO Virtual Machine Dev tai Test ylläpitotilaan
