Format String sareng Makro sareng strFmt dina Dynamics AX 2012
Diterbitkeun: 16 Pébruari 2025 jam 0.51.55 UTC
Panungtungan diropéa: 12 Januari 2026 jam 8.44.48 UTC
Artikel ieu ngajelaskeun sababaraha paripolah anéh dina Dynamics AX 2012 nalika nganggo makro salaku format string dina strFmt, ogé conto ngeunaan kumaha cara ngungkulanana.
String Formatting with Macro and strFmt in Dynamics AX 2012
Inpormasi dina tulisan ieu dumasar kana Dynamics AX 2012 R3. Éta tiasa valid atanapi henteu pikeun vérsi anu sanés.
Kuring nembe ngalaman masalah sareng fungsi strFmt anu rada ngabingungkeun kuring. Bagian anu paling ngabingungkeun nyaéta kuring, ku kabeneran anéh, teu acan pernah ngalaman masalah ieu sateuacanna salami mangtaun-taun kuring janten pamekar Axapta/Dynamics AX.
Masalahna nyaéta kuring nyobian nganggo makro salaku format string pikeun fungsi strFmt sareng éta henteu tiasa dianggo. Éta teu malire parameter % sareng ngan ukur mulangkeun sésana tina string.
Saatos nalungtik éta, kuring mendakan yén makro sorangan tiasa dianggo pikeun ngaformat string, anu ogé hal anu kuring henteu terang. Nya kitu, éta salawasna saé pikeun diajar hal énggal, tapi kuring masih kaget pisan yén kuring henteu acan kantos mendakan ieu sateuacanna.
Intina mah, hal kawas kieu
;
info(strFmt(#FormatMacro, salesId, itemId, lineNum));
Moal tiasa dianggo sabab tanda % dina makro sabenerna dianggo pikeun fitur format string makro sorangan. Dina hal ieu, fungsi strFmt bakal ningali string format salaku "--" sareng ku kituna ngan ukur bakal mulangkeun éta.
Sapertos kieu:
info(#FormatMacro(salesId,itemId,lineNum));
Bakal jalan, tapi sigana sanés sapertos anu anjeun pikahoyong. Gantina ngaluarkeun nilai tina tilu variabel, éta bakal ngaluarkeun nami variabel, dina hal ieu "salesId-itemId-lineNum". (Perhatoskeun yén kuring henteu nempatkeun spasi saatos koma nalika ngirimkeun parameter ka makro, sapertos anu biasana kuring lakukeun dina panggero metode. Éta kusabab makro sabenerna bakal nganggo spasi sapertos kitu ogé, janten kaluaranna bakal "salesId- itemId- lineNum" upami kuring ngalakukeun).
Pikeun sabenerna nganggo makro salaku format string nganggo strFmt, anjeun kedah nyingkahan tanda persentase nganggo garis miring mundur, sapertos kieu:
;
info(strFmt(#FormatMacro, salesId, itemId, lineNum));
Ieu sabenerna bakal jalan sapertos anjeun parantos nyayogikeun string format sacara langsung.
Padamelan alit ieu ngagambarkeun conto-conto:
{
#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));
}
Bacaan salajengna
Upami anjeun resep kana tulisan ieu, anjeun ogé tiasa resep saran ieu:
- Nelepon AIF Document Services Langsung ti X++ dina Dynamics AX 2012
- Nganggo Query dina Kelas Kontrak Data SysOperation dina Dynamics AX 2012
- Ngidentipikasi Kelas Dokumén sareng Paménta pikeun Layanan AIF dina Dynamics AX 2012
