Dinamika AX 2012 SysOperation Framework Ihtisar Gancang
Diterbitkeun: 15 Pébruari 2025 jam 22.39.12 UTC
Artikel ieu nyadiakeun gambaran gancang (atawa curang lambar) dina cara nerapkeun kelas processing jeung jobs bets dina kerangka SysOperation dina Dinamika AX 2012 sarta Dinamika 365 pikeun Operasi.
Dynamics AX 2012 SysOperation Framework Quick Overview
Inpormasi dina tulisan ieu dumasar kana Dynamics AX 2012 R3. Ieu bisa atawa bisa jadi teu valid pikeun vérsi séjén. (Update: Abdi tiasa mastikeun yén inpormasi dina tulisan ieu ogé valid pikeun Dynamics 365 for Operations)
Tulisan ieu ngan dimaksudkeun salaku tinjauan gancang sareng lambaran curang. Upami anjeun énggal dina kerangka SysOperation, kuring nyarankeun pisan yén anjeun ogé maca kertas bodas Microsoft ngeunaan éta. Inpormasi di dieu tiasa mangpaat upami anjeun ngan ukur peryogi gancang-gancang dina kelas anu béda-béda anu aub dina ngembangkeun operasi sareng kerangka ieu.
Aya variasi, tapi nalika kuring nganggo kerangka kuring biasana nerapkeun tilu kelas:
- Kontrak data (kedah manjangkeun SysOperationDataContractBase)
- Service (kedah manjangkeun SysOperationServiceBase)
- Controller ( kedah manjangkeun SysOperationServiceController)
Salaku tambahan, kuring ogé tiasa nerapkeun kelas UIBuilder ( kudu manjangkeun SysOperationUIBuilder), tapi éta ngan ukur diperyogikeun upami dialog pikeun sababaraha alesan kedah langkung maju tibatan naon anu dibangkitkeun sacara otomatis.
kontrak data
Kontrak data nahan anggota data anu dipikabutuh pikeun operasi anjeun. Éta tiasa dibandingkeun sareng makro CurrentList khas anu ditetepkeun dina kerangka RunBase, tapi dilaksanakeun salaku kelas. Kontrak data kedah manjangkeun SysOperationDataContractBase, tapi bakal tiasa dianggo sanajan henteu. Kauntungannana ngalegaan kelas super téh nya éta nyadiakeun sababaraha émbaran sési nu bisa jadi gunana.
class MyDataContract extends SysOperationDataContractBase
{
ItemId itemId;
}
Dina conto ieu, itemId mangrupa anggota data. Anjeun kedah nerapkeun metode parm pikeun tiap anggota data sareng tag sareng DataMemberAttribute supados kerangka terang naon éta. Ieu ngamungkinkeun kerangka pikeun otomatis ngawangun dialog pikeun anjeun.
public ItemId parmItemId(ItemId _itemId = itemId)
{
;
itemId = _itemId;
return itemId;
}
Palayanan
Kelas jasa nyaéta kelas anu ngandung logika bisnis anu sabenerna. Éta henteu prihatin kalayan nunjukkeun dialog, pamrosesan bets atanapi naon waé - éta mangrupikeun tanggung jawab kelas controller. Ku misahkeun ieu, anjeun leuwih gampang mendesain kode anjeun ogé sarta nyieun kode leuwih reusable.
Kawas kelas kontrak data, kelas jasa teu kudu inherit tina nanaon hususna, tapi kudu inherit ti kelas SysOperationServiceBase, sahenteuna lamun nyangka yén layanan bakal dijalankeun salaku pakasaban bets, sakumaha kelas super nyadiakeun sababaraha émbaran ngeunaan kontéks bets. Métode anu ngamimitian operasi (nyaéta ngajalankeun logika bisnis) kedah nyandak obyék kelas kontrak data anjeun salaku input sareng kedah dihias ku [SysEntryPointAttribute]. Salaku conto:
{
}
kalawan metoda disebut ngajalankeun:
public void run(MyDataContract _dataContract)
{
// run business logic here
}
Controller
Kelas controller handles palaksanaan na bets processing operasi Anjeun. Éta ogé mastikeun yén kodeu dieksekusi dina CIL pikeun pagelaran maksimal. Kelas controller ilaharna inherits ti kelas SysOperationServiceController, sanajan aya pilihan séjén ogé.
{
}
Konstruktor kelas super nyandak nami kelas, nami metode sareng (opsional) mode palaksanaan salaku parameter. Ngaran kelas sareng metode kedah janten nami kelas jasa anjeun sareng metode anu kedah dijalankeun. Janten, anjeun tiasa nerapkeun metode konstruksi controller anjeun sapertos kieu:
{
;
return new MyController(classStr(MyService),
methodStr(MyService, run));
}
Mangka metodeu utama kelas MyController tiasa sasederhana
{
;
MyController::construct().startOperation();
}
Jeung anjeun dasarna geus rengse. Di luhur écés conto saderhana pisan sareng kerangka ngandung seueur pilihan sareng kemungkinan anu sanés, tapi ieu janten tinjauan gancang upami anjeun peryogi sikat nalika anjeun teu acan nganggo kerangka samentawis.