Miklix

Dodajte metod prikaza ili izmene preko ekstenzije u Dinamics KSNUMKS

Objavio: 19. mart 2025. 21:35:54 UTC

U ovom članku objašnjavam kako da koristite ekstenziju klase da biste dodali metod prikaza u tabelu i obrazac u Dinamics KSNUMKS for Operations, uključujući primere Ks ++ koda.


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

Add Display or Edit Method via Extension in Dynamics 365

Dok planirate korišćenje metoda za prikazivanje ili uređivanje u Dynamics-u, to je nešto što bi trebalo da vas navede da razmislite da li biste možda mogli da dizajnirate svoje rešenje na drugačiji način, ali ponekad su oni najbolji način da se ide.

U prethodnim verzijama Dynamics-a i Axapte, bilo je veoma lako kreirati metode za prikazivanje ili uređivanje na tabelama i formama, ali kada sam nedavno morao da napravim svoju prvu metodu za uređivanje u Dynamics 365, otkrio sam da je postupak za to pomalo drugačiji.

Očigledno postoji nekoliko validnih pristupa, ali onaj koji smatram najboljim (i sa stanovišta intuitivnosti i lepote koda) je korišćenje ekstenzije klase. Da, možete koristiti ekstenzije klasa za dodavanje metoda drugim tipovima elemenata osim klasa – u ovom slučaju tabeli, ali to funkcioniše i za forme.

Prvo, kreirajte novu klasu. Možete je imenovati kako želite, ali iz nekog razloga mora biti sa sufiksom "_Extension". Recimo da treba da dodate metodu za prikazivanje u CustTable, mogli biste na primer da je nazovete MyCustTable_Extension.

Klasa mora biti ukrašena sa ExtensionOf da bi sistem znao šta proširujete, kao što je prikazano ovde:

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

Sada možete jednostavno implementirati vašu metodu za prikazivanje u ovoj klasi, kao što biste to uradili direktno na tabeli u ranijim verzijama Dynamics-a – "this" čak i referencira tabelu, tako da možete pristupiti poljima i drugim metodama.

Na primer, klasa sa jednostavnom (i potpuno beskorisnom) metodom za prikazivanje koja samo vraća broj računa kupca može izgledati ovako:

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

        return this.AccountNum;
    }
}

Sada, da biste dodali metodu za prikazivanje na formu (ili ekstenziju forme, ako ne možete direktno da uređujete formu), morate ručno dodati polje na formu i obavezno koristiti odgovarajući tip (string u ovom primeru).

Zatim, na kontrolu postavite DataSource na CustTable (ili na naziv izvora podataka za vašu CustTable) i DataMethod na MyCustTable_Extension.displayAccountNum (pazite da uključite ime klase, inače kompajler neće moći da pronađe metodu).

I to je to :-)

Ažuriranje: Više nije potrebno uključiti ime ekstenzije klase prilikom dodavanja metode za prikazivanje na formu, ali u vreme originalnog objavljivanja to je bilo potrebno. Ostavljam ovu informaciju ovde u slučaju da neki čitaoci još uvek koriste starije verzije.

Podeli na BlueskiPodeli na FejsbukuPodeli na LinkedInPodeli na TumblrPodeli na XPodeli na LinkedInPin na Pinterest

Mikkel Christensen

O autoru

Mikkel Christensen
Mikel je tvorac i vlasnik miklix.com. Ima preko 20 godina iskustva kao profesionalni kompjuterski programer / programer i trenutno je zaposlen sa punim radnim vremenom za veliku evropsku IT korporaciju. Kada ne bloguje, on provodi svoje slobodno vreme na širokom spektru interesovanja, hobija i aktivnosti, što se u određenoj meri može odraziti na različite teme koje se obrađuju na ovoj veb stranici.