Mfumo wa Dynamics AX 2012 SysOperation Muhtasari wa Haraka
Iliyochapishwa: 15 Februari 2025, 22:36:35 UTC
Makala haya yanatoa muhtasari wa haraka (au laha la kudanganya) kuhusu jinsi ya kutekeleza madarasa ya uchakataji na kazi za kundi katika mfumo wa SysOperation katika Dynamics AX 2012 na Dynamics 365 kwa Uendeshaji.
Dynamics AX 2012 SysOperation Framework Quick Overview
Maelezo katika chapisho hili yanatokana na Dynamics AX 2012 R3. Inaweza au isiwe halali kwa matoleo mengine. (Sasisho: Ninaweza kuthibitisha kuwa maelezo katika makala haya ni halali kwa Dynamics 365 kwa Uendeshaji)
Chapisho hili linamaanishwa tu kama muhtasari wa haraka na laha ya kudanganya. Ikiwa wewe ni mpya kwa mfumo wa SysOperation, ninapendekeza sana usome karatasi nyeupe ya Microsoft juu ya mada hiyo pia. Taarifa hapa inaweza kuwa muhimu ikiwa unahitaji tu mswaki wa haraka juu ya madarasa tofauti yanayohusika katika kuendeleza shughuli na mfumo huu.
Kuna tofauti, lakini ninapotumia mfumo mimi hutumia madarasa matatu:
- Mkataba wa data (unapaswa kupanua SysOperationDataContractBase)
- Huduma (inapaswa kupanua SysOperationServiceBase)
- Kidhibiti ( lazima kiongeze SysOperationServiceController)
Kwa kuongeza, naweza pia kutekeleza darasa la UIBuilder ( lazima iongeze SysOperationUIBuilder), lakini hiyo ni muhimu tu ikiwa mazungumzo kwa sababu fulani lazima yawe ya juu zaidi kuliko yale ambayo mfumo hutoa moja kwa moja.
Mkataba wa data
Mkataba wa data huwa na washiriki wa data wanaohitajika kwa uendeshaji wako. Inaweza kulinganishwa na orodha kuu ya kawaida ya CurrentList iliyofafanuliwa katika mfumo wa RunBase, lakini inatekelezwa kama darasa badala yake. Mkataba wa data unapaswa kupanua SysOperationDataContractBase, lakini itafanya kazi hata kama haifanyi kazi. Faida ya kupanua darasa bora ni kwamba hutoa habari fulani ya kikao ambayo inaweza kuwa muhimu.
class MyDataContract extends SysOperationDataContractBase
{
ItemId itemId;
}
Katika mfano huu, bidhaaId ni mwanachama wa data. Unahitaji kutekeleza njia ya kanuni kwa kila mwanachama wa data na kuitambulisha kwa DataMemberAttribute ili mfumo ujue ni nini. Hii huwezesha mfumo kukuundia kiotomatiki kidirisha.
public ItemId parmItemId(ItemId _itemId = itemId)
{
;
itemId = _itemId;
return itemId;
}
Huduma
Darasa la huduma ni darasa ambalo lina mantiki halisi ya biashara. Haijalishi kuonyesha mazungumzo, usindikaji wa bechi au kitu chochote cha aina hiyo - hilo ni jukumu la darasa la kidhibiti. Kwa kutenganisha hili, kuna uwezekano mkubwa wa kuunda msimbo wako vizuri na kutengeneza msimbo unaoweza kutumika tena.
Kama darasa la mkataba wa data, darasa la huduma haliitaji kurithi kutoka kwa chochote haswa, lakini inapaswa kurithi kutoka kwa darasa la SysOperationServiceBase, angalau ikiwa unatarajia kuwa huduma hiyo itaendeshwa kama kazi ya kundi, kwani darasa la juu hutoa habari fulani juu ya muktadha wa kundi. Mbinu inayoanzisha utendakazi (yaani inaendesha mantiki ya biashara) lazima ichukue kitu cha darasa lako la mkataba wa data kama ingizo na inapaswa kupambwa kwa [SysEntryPointAttribute]. Kwa mfano:
{
}
na njia inayoitwa run:
public void run(MyDataContract _dataContract)
{
// run business logic here
}
Kidhibiti
Darasa la kidhibiti hushughulikia utekelezaji na usindikaji wa bechi ya uendeshaji wako. Pia inahakikisha kuwa nambari inatekelezwa katika CIL kwa utendaji wa juu zaidi. Darasa la kidhibiti kawaida hurithi kutoka kwa darasa la SysOperationServiceController, ingawa kuna chaguzi zingine pia.
{
}
Mjenzi wa darasa bora huchukua jina la darasa, jina la njia na (hiari) hali ya utekelezaji kama vigezo. Majina ya darasa na mbinu yanapaswa kuwa jina la darasa lako la huduma na njia ambayo inapaswa kuendeshwa juu yake. Kwa hivyo, unaweza kutekeleza njia ya ujenzi ya mtawala wako kama hii:
{
;
return new MyController(classStr(MyService),
methodStr(MyService, run));
}
Kisha njia kuu ya darasa la MyController inaweza kuwa rahisi kama
{
;
MyController::construct().startOperation();
}
Na kimsingi umemaliza. Ya hapo juu ni mfano rahisi sana na mfumo una wingi wa chaguzi na uwezekano mwingine, lakini hii hutumika kama muhtasari wa haraka ikiwa unahitaji brashi juu wakati haujatumia mfumo kwa muda.