Miklix

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ä.


Tämä sivu on käännetty koneellisesti englannista, jotta se olisi mahdollisimman monen ihmisen saatavilla. Valitettavasti konekääntäminen ei ole vielä täydellistä tekniikkaa, joten virheitä voi esiintyä. Voit halutessasi tarkastella alkuperäistä englanninkielistä versiota täällä:

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:

[ExtensionOf(tableStr(CustTable))]
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ä:

[ExtensionOf(tableStr(CustTable))]
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:


Jaa BlueskyssäJaa FacebookissaJaa LinkedInissäJaa TumblrissaJaa X:ssäJaa LinkedInissäPin Pinterestissä

Mikkel Christensen

Kirjoittajasta

Mikkel Christensen
Mikkel on miklix.com-sivuston luoja ja omistaja. Hänellä on yli 20 vuoden kokemus ammattimaisena tietokoneohjelmoijana/ohjelmistokehittäjänä, ja tällä hetkellä hän työskentelee kokopäiväisesti suuressa eurooppalaisessa IT-yrityksessä. Kun hän ei ole bloggaamassa, hän käyttää vapaa-aikaansa monenlaisiin kiinnostuksen kohteisiin, harrastuksiin ja aktiviteetteihin, mikä saattaa jossain määrin heijastua tällä verkkosivustolla käsiteltävien aiheiden moninaisuuteen.