Miklix

Yadda za a Iterate a kan Abubuwa na Wani Enum daga X ++ Code a Dynamics AX 2012

Buga: 15 Faburairu, 2025 da 23:11:18 UTC

Wannan talifin ya bayyana yadda za a lissafa kuma a yi ƙara a kan abubuwa na ƙarƙashin enum a Dynamics AX 2012, har da misalin kodin X++.


An fassara wannan shafin na'ura daga Turanci don a sami damar isa ga mutane da yawa gwargwadon iko. Abin takaici, fassarar inji ba ta zama cikakkiyar fasaha ba, don haka kurakurai na iya faruwa. Idan kuna so, kuna iya duba ainihin sigar Turanci anan:

How to Iterate Over the Elements of an Enum from X++ Code in Dynamics AX 2012

Bayanin da ke cikin wannan post ya dogara ne akan Dynamics AX 2012 R3. Zai iya zama daidai ko kuma ba zai yiwu ba ga wasu juyin.

Ba da daɗewa ba na yin fom da ake bukata don in nuna amfani ga kowane abu a cikin enum. Maimakon na halicci gona da hannu (wannan kuma na bukaci a kiyaye fom idan an canja enum), na tsai da shawara na yi amfani da shi da ƙarfi don ya ƙara filin farat ɗaya zuwa ƙera a lokacin da ake tafiyar da shi.

Amma, ba da daɗewa ba na gano cewa yin hakan yana da ban mamaki.

Hakika, kana bukatar ka soma da aji na DictEnum. Kamar yadda za ka gani, wannan aji yana da hanyoyi da yawa na samun bayani kamar suna da laƙabin daga index da kuma tamani.

Bambancin tsakanin index da tamani shi ne cewa index alƙaluman wani abu ne a cikin enum, idan an ƙididdige abubuwa na enum da suka soma daga banza, yayin da tamani shi ne "ma'anar" dukiya na ainihi na ƙanshin. Tun da yake yawancin enums suna da kimar da aka ƙididdige daga 0, indeki da tamanin wani abu sau da yawa za su kasance daidai, amma babu koyaushe.

Amma ta yaya ka san waɗanne ƙa'idodi ne enum yake da su? A nan ne yake da ban mamaki. Aji na DictEnum yana da hanyar da ake kira ƙa'idodi (). Za ka iya sa rai cewa wannan hanyar za ta mai da jerin ƙa'idodin enum, amma hakan zai kasance da sauƙi, saboda haka, maimakon haka zai mai da adadin ƙa'idodin da enum yake ƙunsa. Amma, adadin ƙa'idodin ba ya da alaƙa da tamani na gaske, saboda haka, kana bukatar ka yi amfani da wannan alƙaluman a matsayin tushe don ka kira hanyoyin da ke bisa indake, ba waɗanda suke bisa tamani ba.

Da a ce sun ba da sunan wannan hanyar index () maimakon haka, da ba za ta kasance da ban mamaki ba;-)

Ka kuma tuna cewa ƙa'idodin enum (da kuma waɗannan "index") suna somawa a 0, ba kamar indice na tsari da na kwal a X++, da ke somawa a ƙarfe 1, don ka ƙera abubuwa cikin enum za ka iya yin wani abu kamar wannan:

DictEnum dictEnum = new DictEnum(enumNum(SalesStatus));
Counter  c;
;

for (c = 0; c < dictEnum.values(); c++)
{
    info(strFmt('%1: %2', dictEnum.index2Symbol(c), dictEnum.index2Label(c)));
}

Wannan zai samar da alamar da kuma labarin kowane abu a cikin enum zuwa infolog.

Raba kan BlueskyRaba akan FacebookRaba kan LinkedInRaba akan TumblrRaba akan XRaba kan LinkedInFitar akan Pinterest

Mikkel Bang Christensen

Game da Marubuci

Mikkel Bang Christensen
Mikel shine mahalicci kuma mai miklix.com. Yana da fiye da shekaru 20 gwaninta a matsayin ƙwararren mai tsara shirye-shiryen kwamfuta / mai haɓaka software kuma a halin yanzu yana aiki cikakken lokaci don babban kamfani na IT na Turai. Lokacin da ba ya yin rubutun ra'ayin kanka a yanar gizo ba, yana ciyar da lokacinsa a kan ɗimbin abubuwan bukatu, sha'awa, da ayyuka, waɗanda har zuwa wani lokaci za a iya nunawa a cikin batutuwa iri-iri da aka rufe akan wannan rukunin yanar gizon.