Miklix

Ukufometha kwezintambo nge-Macro ne-strFmt ku-Dynamics AX 2012

Kushicilelwe: 16 Pébruari 2025 jam 00.53.05 UTC

Lesi sihloko sichaza ukuziphatha okungajwayelekile ku-Dynamics AX 2012 lapho usebenzisa i-macro njengentambo yefomethi ku-strFmt, kanye nezibonelo zendlela yokusebenza nxazonke.


Leli khasi lihunyushwe ngomshini lisuka esiNgisini ukuze lenze lifinyeleleke kubantu abaningi ngangokunokwenzeka. Ngeshwa, ukuhumusha ngomshini akukabi ubuchwepheshe obuphelele, ngakho-ke amaphutha angenzeka. Uma uthanda, ungabuka inguqulo yokuqala yesiNgisi lapha:

String Formatting with Macro and strFmt in Dynamics AX 2012

Ulwazi olukulesi sithuba lusekelwe ku-Dynamics AX 2012 R3. Kungenzeka noma kungabi semthethweni kwezinye izinguqulo.

Muva nje ngihlangabezane nodaba ngomsebenzi we-strFmt owangidida kancane. Ingxenye edida kakhulu ukuthi mina ngokuvumelana okuthile okungajwayelekile angikaze ngihlangabezane nakho ngaphambili eminyakeni yami eminingi njengomthuthukisi we-Axapta / Dynamics AX.

Udaba kwakuwukuthi ngazama ukusebenzisa i-macro njengentambo yefomethi yomsebenzi we-strFmt futhi ayizange isebenze nje. It ngokuphelele indiva % nemingcele futhi wabuyisela kuphela esele string.

Ngemuva kokuyibheka, ngathola ukuthi ama-macros ngokwawo angasetshenziselwa ukufometha izintambo, okwakuyinto futhi engangingayazi. Awu kahle, kuhle ngaso sonke isikhathi ukufunda okuthile okusha, kodwa ngangisamangala kakhulu ukuthi angizange kwenzeke ukuba ngihlangane nalokhu ngaphambili.

Ngokuyinhloko, into efana nalena

#define.FormatMacro('%1-%2-%3')
;

info(strFmt(#FormatMacro, salesId, itemId, lineNum));

ngeke isebenze ngoba izimpawu ze-% ku-macro empeleni zisetshenziselwa izici zokufometha izintambo ze-macro. Kulokhu, umsebenzi we-strFmt uzobona umucu wokufometha ngokuthi "--" futhi ngakho-ke uzobuya kuphela lokho.

Into efana nale:

#define.FormatMacro('%1-%2-%3');
info(#FormatMacro(salesId,itemId,lineNum));

izosebenza, kodwa cishe hhayi ngendlela ofuna ngayo. Esikhundleni sokukhipha amanani ezinguquko ezintathu, kuzokhipha amagama eziguquguqukayo esikhundleni, kulokhu "salesId-itemId-lineNum". (Qaphela ukuthi angizange ngibeke izikhala ngemuva kwama-commas lapho ngidlulisa imingcele ku-macro, njengoba ngivame ukwenza kumakholi wendlela. Lokho kungenxa yokuthi i-macro empeleni izosebenzisa izikhala ezinjalo kanye, ngakho-ke okukhiphayo kungaba "salesId- itemId- lineNum" uma ngenza).

Ukuze empeleni usebenzise i-macro njengokufometha intambo nge-strFmt, udinga ukubalekela izimpawu zamaphesenti nge-backslashes, kanje:

#define.FormatMacro('\\%1-\\%2-\\%3')
;

info(strFmt(#FormatMacro, salesId, itemId, lineNum));

Lokhu empeleni kuzosebenza sengathi unikeze umucu wefomethi ngqo.

Lo msebenzi omncane ubonisa izibonelo:

static void StrFmtMacroTest(Args _args)
{
    #define.FormatMacro('%1-%2-%3')
    #define.FormatMacroEscaped('\\%1-\\%2-\\%3')
    SalesId salesId = '1';
    ItemId  itemId  = '2';
    LineNum lineNum = 3.00;
    ;

    info(#FormatMacro(salesId,itemId,lineNum));
    info(strFmt(#FormatMacro, salesId, itemId, lineNum));
    info(strFmt(#FormatMacroEscaped, salesId, itemId, lineNum));
}
Yabelana ku-BlueskyYabelana ku-FacebookYabelana ku-LinkedInYabelana ku-TumblrYabelana ku-XYabelana ku-LinkedInPhina ku-Pinterest

Mikkel Bang Christensen

Mayelana Nombhali

Mikkel Bang Christensen
U-Mikkel ungumdali nomnikazi we-miklix.com. Unesipiliyoni seminyaka engaphezu kwengu-20 njengochwepheshe bezinhlelo zekhompyutha/unjiniyela wesoftware futhi njengamanje uqashwe ngokugcwele enkampanini enkulu ye-IT yaseYurophu. Lapho engabhali, uchitha isikhathi sakhe sokuphumula ezintweni eziningi azithandayo, azilibazisa, nemisebenzi, okungenzeka ngokwezinga elithile ibonakale ezihlokweni ezihlukahlukene ezitholakala kule webhusayithi.