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.
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
;
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:
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:
;
info(strFmt(#FormatMacro, salesId, itemId, lineNum));
Lokhu kuzosebenza ngempela sengathi unikeze umucu wefomethi ngqo.
Lo msebenzi omncane ubonisa izibonelo:
{
#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:
- Guqula i-Real to String ngawo wonke ama-Decimals ku-Dynamics AX 2012
- Ukusebenzisa Uhlaka lwe-SysExtension ukuthola ukuthi iyiphi i-Subclass eya ku-Instantiate ku-Dynamics AX 2012
- Iphutha "Asikho isigaba semethadatha esichazwe entweni yenkontileka yedatha" ku-Dynamics AX 2012
