Dynamics AX 2012 SysOperation Framework Ringkesan Cepet
Diterbitake: 15 Februari 2025 ing 22:36:59 UTC
Artikel iki nyedhiyakake ringkesan cepet (utawa sheet cheat) babagan carane ngleksanakake kelas pangolahan lan proyek kumpulan ing kerangka SysOperation ing Dynamics AX 2012 lan Dynamics 365 kanggo Operasi.
Dynamics AX 2012 SysOperation Framework Quick Overview
Informasi ing kirim iki adhedhasar Dynamics AX 2012 R3. Bisa uga ora bener kanggo versi liyane. (Update: Aku bisa konfirmasi manawa informasi ing artikel iki uga bener kanggo Dynamics 365 for Operations)
Kiriman iki mung dimaksudake minangka ringkesan cepet lan sheet cheat. Yen sampeyan anyar ing framework SysOperation, Aku banget suggest sing maca kertas putih Microsoft ing subyek uga. Informasi ing kene bisa uga migunani yen sampeyan mung butuh cepet babagan macem-macem kelas sing melu ngembangake operasi kanthi kerangka iki.
Ana variasi, nanging nalika aku nggunakake kerangka aku biasane ngleksanakake telung kelas:
- Kontrak data (kudu ngluwihi SysOperationDataContractBase)
- Layanan (kudu ngluwihi SysOperationServiceBase)
- Controller ( kudu ngluwihi SysOperationServiceController)
Kajaba iku, aku uga bisa ngleksanakake kelas UIBuilder ( kudu ngluwihi SysOperationUIBuilder), nanging mung perlu yen dialog sakperangan alesan kudu luwih maju tinimbang apa framework ngasilake kanthi otomatis.
Kontrak data
Kontrak data ngemot anggota data sing dibutuhake kanggo operasi sampeyan. Bisa dibandhingake karo makro CurrentList khas sing ditetepake ing kerangka RunBase, nanging dileksanakake minangka kelas. Kontrak data kudu ngluwihi SysOperationDataContractBase, nanging bakal bisa digunakake sanajan ora. Kauntungan saka ndawakake kelas super yaiku nyedhiyakake sawetara informasi sesi sing bisa migunani.
class MyDataContract extends SysOperationDataContractBase
{
ItemId itemId;
}
Ing conto iki, itemId minangka anggota data. Sampeyan kudu ngleksanakake metode parm kanggo saben anggota data lan menehi tag karo DataMemberAttribute supaya kerangka ngerti apa iku. Iki ngidini framework nggawe dialog kanthi otomatis kanggo sampeyan.
public ItemId parmItemId(ItemId _itemId = itemId)
{
;
itemId = _itemId;
return itemId;
}
Layanan
Kelas layanan yaiku kelas sing ngemot logika bisnis sing nyata. Iku ora ngangap karo nuduhake dialogs, Processing kumpulan utawa apa wae - sing tanggung jawab kelas controller. Kanthi misahake iki, sampeyan luwih seneng ngrancang kode kanthi apik lan nggawe kode sing bisa digunakake maneh.
Kaya kelas kontrak data, kelas layanan ora perlu oleh warisan saka apa-apa ing tartamtu, nanging kudu oleh warisan saka kelas SysOperationServiceBase, paling yen sampeyan nyana yen layanan bakal mbukak minangka proyek kumpulan, minangka kelas super menehi sawetara informasi bab konteks kumpulan. Cara sing miwiti operasi (yaiku nganggo logika bisnis) kudu njupuk obyek saka kelas kontrak data minangka input lan kudu dihiasi karo [SysEntryPointAttribute]. Contone:
{
}
kanthi cara sing diarani run:
public void run(MyDataContract _dataContract)
{
// run business logic here
}
Pengontrol
Kelas controller nangani eksekusi lan pangolahan kumpulan operasi sampeyan. Iku uga nggawe manawa kode wis kaleksanan ing CIL kanggo kinerja maksimum. Kelas pengontrol biasane entuk warisan saka kelas SysOperationServiceController, sanajan ana uga opsi liyane.
{
}
Konstruktor kelas super njupuk jeneng kelas, jeneng metode lan (opsional) mode eksekusi minangka paramèter. Jeneng kelas lan metode kudu jeneng kelas layanan sampeyan lan metode sing kudu ditindakake. Dadi, sampeyan bisa ngleksanakake cara mbangun controller kaya iki:
{
;
return new MyController(classStr(MyService),
methodStr(MyService, run));
}
Banjur cara utama kelas MyController bisa gampang kaya
{
;
MyController::construct().startOperation();
}
Lan sampeyan wis rampung. Ing ndhuwur iku temenan conto banget prasaja lan framework ngandhut plethora opsi liyane lan kemungkinan, nanging iki serves minangka ringkesan cepet yen sampeyan perlu rerumput munggah nalika sampeyan wis ora digunakake framework kanggo nalika.