Miklix

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

Kushicilelwe: Februwari 16, 2025 00:53:05 UTC
Igcine ukubuyekezwa: Januwari 12, 2026 08:44:51 UTC

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


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 sihloko lusekelwe ku-Dynamics AX 2012 R3. Lungase lusebenze noma lungasebenzeli ezinye izinguqulo.

Muva nje ngihlangane nenkinga ngomsebenzi we-strFmt eyangidida isikhashana. Ingxenye exakile kakhulu ukuthi ngengozi ethile engavamile angikaze ngiyihlangane nayo eminyakeni yami eminingi njengonjiniyela we-Axapta/Dynamics AX.

Inkinga yayiwukuthi ngazama ukusebenzisa i-macro njenge-format string yomsebenzi we-strFmt kodwa ayizange isebenze. Ayinakanga ngokuphelele amapharamitha angu-% futhi yabuyisela kuphela ingxenye esele ye-string.

Ngemva kokuyihlola, ngathola ukuthi ama-macro ngokwawo angasetshenziswa ukufometha izintambo, okuyinto ebengingayazi. O, kuhle njalo ukufunda okuthile okusha, kodwa ngangisamangele kakhulu ukuthi angikaze ngikubone lokhu ngaphambili.

Ngokuyisisekelo, into efana nale

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

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

Ngeke kusebenze ngoba izimpawu ze-% ku-macro empeleni zisetshenziselwa izici zokufometha izintambo ze-macro. Kulesi simo, umsebenzi we-strFmt uzobona intambo yokufometha njengo-"--" ngakho-ke uzobuyisela lokho kuphela.

Into efana nale:

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

Kuzosebenza, kodwa mhlawumbe hhayi ngendlela ofuna ngayo. Esikhundleni sokukhipha amanani eziguquguquko ezintathu, kuzokhipha amagama eziguquguquko esikhundleni salokho, kulokhu "salesId-itemId-lineNum". (Qaphela ukuthi angizange ngibeke izikhala ngemuva kwamakhoma lapho ngidlulisela amapharamitha kuma-macro, njengoba ngivame ukwenza ezingcingweni zendlela. Lokho kungenxa yokuthi i-macro empeleni izosebenzisa izikhala ezinjalo, ngakho-ke umphumela uzoba "salesId-itemId-lineNum" uma ngenza kanjalo).

Ukuze usebenzise i-macro njengentambo yokufometha nge-strFmt, udinga ukubalekela izimpawu zamaphesenti ezine-backslashes, kanje:

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

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

Lokhu kuzosebenza ngempela 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));
}

Ukufunda Okuqhubekayo

Uma ukujabulele lokhu okuthunyelwe, ungaphinda uthande lezi ziphakamiso:


Yabelana ku-BlueskyYabelana ku-FacebookYabelana ku-LinkedInYabelana ku-TumblrYabelana ku-XYabelana ku-LinkedInPhina ku-Pinterest

Mikkel Christensen

Mayelana Nombhali

Mikkel 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.