Miklix

Dodajte metodu prikaza ili uređivanja putem proširenja u Dynamics 365

Objavljeno: 16. februar 2025. u 11:57:08 UTC

U ovom članku objašnjavam kako koristiti ekstenziju klase za dodavanje metode prikaza u tablicu i obrazac u Dynamics 365 for Operations, uključujući primjere X++ koda.


Ova stranica je mašinski prevedena sa engleskog kako bi bila dostupna što većem broju ljudi. Nažalost, mašinsko prevođenje još nije usavršena tehnologija, pa može doći do grešaka. Ako želite, možete pogledati originalnu englesku verziju ovdje:

Add Display or Edit Method via Extension in Dynamics 365

Iako je planiranje korištenja metoda prikaza ili uređivanja u Dynamics-u nešto što bi vas općenito trebalo navesti da razmislite da li biste možda mogli dizajnirati svoje rješenje na drugačiji način, povremeno su oni najbolji način.

U prethodnim verzijama Dynamics i Axapta, bilo je vrlo lako kreirati metode prikaza ili uređivanja na tabelama i obrascima, ali kada sam nedavno morao napraviti svoj prvi metod uređivanja u Dynamics 365, otkrio sam da je procedura za to nešto drugačija.

Očigledno postoji nekoliko valjanih pristupa, ali jedan za koji smatram da je najbolji (i u smislu intuitivnosti i lepote koda) je korištenje ekstenzije klase. Da, možete koristiti ekstenzije klase za dodavanje metoda drugim tipovima elemenata osim klasama - u ovom slučaju tablici, ali to radi i za forme.

Prvo kreirajte novu klasu. Možete ga imenovati kako god želite, ali iz nekog razloga mora imati sufiks "_Extension". Recimo da trebate dodati metodu prikaza u CustTable, možete je na primjer nazvati MyCustTable_Extension.

Klasa mora biti ukrašena ExtensionOf kako bi sistem znao šta proširujete, na primjer:

[ExtensionOf(tableStr(CustTable))]
public final class MyCustTable_Extension
{
}

Sada možete jednostavno implementirati svoj metod prikaza u ovoj klasi, kao što biste to uradili direktno na tablici u ranijim verzijama Dynamics-a - "ovo" čak upućuje na tabelu, tako da možete pristupiti poljima i drugim metodama.

Na primjer, klasa s jednostavnom (i potpuno beskorisnom) metodom prikaza koja samo vraća broj računa korisnika mogla bi izgledati ovako:

[ExtensionOf(tableStr(CustTable))]
public final class MyCustTable_Extension
{
    public display CustAccount displayAccountNum()
    {
        ;

        return this.AccountNum;
    }
}

Sada, da dodate metodu prikaza u obrazac (ili ekstenziju obrasca, ako ne možete direktno uređivati ​​obrazac), morate ručno dodati polje u obrazac i osigurati da koristite ispravan tip (string u ovom primjeru).

Zatim, na kontroli biste postavili DataSource na CustTable (ili bilo koje drugo ime vašeg izvora podataka CustTable) i DataMethod na MyCustTable_Extension.displayAccountNum (obavezno uključite ime klase, inače kompajler ne može pronaći metodu).

I gotovi ste :-)

Ažuriranje: Više nije potrebno uključiti naziv klase ekstenzije prilikom dodavanja metode prikaza u obrazac, ali u originalno vrijeme objavljivanja jeste. Ovdje ostavljam informacije u slučaju da neki čitaoci još uvijek koriste starije verzije.

Podijelite na BlueskyPodijelite na FacebookuPodijelite na LinkedIn-uPodijelite na Tumblr-uPodijeli na XPodijelite na LinkedIn-uPrikači na Pinterest

Mikkel Bang Christensen

O autoru

Mikkel Bang Christensen
Mikkel je kreator i vlasnik miklix.com. Ima preko 20 godina iskustva kao profesionalni kompjuterski programer/programer softvera i trenutno je zaposlen sa punim radnim vremenom u velikoj evropskoj IT korporaciji. Kada ne piše blog, svoje slobodno vrijeme provodi na širokom spektru interesovanja, hobija i aktivnosti, što se u određenoj mjeri može odraziti na različite teme koje se obrađuju na ovoj web stranici.