Format String nganggo Makro lan strFmt ing Dynamics AX 2012
Diterbitake: 16 Februari 2025 ing 00:49:42 UTC
Dianyari pungkasan: 12 Januari 2026 ing 08:44:42 UTC
Artikel iki njlèntrèhaké sawetara prilaku aneh ing Dynamics AX 2012 nalika nggunakake makro minangka format string ing strFmt, uga conto babagan cara ngatasi.
String Formatting with Macro and strFmt in Dynamics AX 2012
Informasi ing kiriman iki adhedhasar Dynamics AX 2012 R3. Iki bisa uga valid utawa ora valid kanggo versi liyane.
Aku bubar nemoni masalah karo fungsi strFmt sing rada mbingungake aku. Bagean sing paling mbingungake yaiku kebetulan aku durung nate nemoni masalah iki sadurunge sajrone pirang-pirang taun dadi pangembang Axapta/Dynamics AX.
Masalahé yaiku aku nyoba nggunakaké makro minangka format string kanggo fungsi strFmt lan ora bisa. Fungsi iki ora nggatèkaké parameter % lan mung ngasilaké sisa string.
Sawise nliti, aku nemokake yen makro dhewe bisa digunakake kanggo ngowahi format string, sing uga aku ora ngerti. Ya wis, mesthi apik yen sinau bab anyar, nanging aku isih kaget banget amarga aku durung nate nemoni iki sadurunge.
Intine, kaya ngene iki
;
info(strFmt(#FormatMacro, salesId, itemId, lineNum));
Ora bakal bisa digunakake amarga tandha % ing makro sejatine digunakake kanggo fitur format string makro dhewe. Ing kasus iki, fungsi strFmt bakal ndeleng string format minangka "--" lan mulane mung bakal ngasilake kasebut.
Kaya ngene iki:
info(#FormatMacro(salesId,itemId,lineNum));
Bakal bisa digunakake, nanging mbokmenawa ora kaya sing dikarepake. Tinimbang ngetokake nilai saka telung variabel kasebut, iki bakal ngetokake jeneng variabel, ing kasus iki "salesId-itemId-lineNum". (Elinga yen aku ora masang spasi sawise koma nalika ngirim parameter menyang makro, kaya biasane ing panggilan metode. Kuwi amarga makro uga bakal nggunakake spasi kasebut, mula output bakal dadi "salesId- itemId- lineNum" yen aku nindakake).
Kanggo nggunakake makro minangka format string nganggo strFmt, sampeyan kudu ngindhari tandha persentase nganggo garis miring mburi, kaya iki:
;
info(strFmt(#FormatMacro, salesId, itemId, lineNum));
Iki bakal bisa digunakake kaya-kaya sampeyan wis nyedhiyakake string format kanthi langsung.
Pakaryan cilik iki nggambarake 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));
}
Wacan Salajengipun
Yen sampeyan seneng karo kiriman iki, sampeyan bisa uga seneng saran iki:
- Bedane antarane data() lan buf2Buf() ing Dynamics AX 2012
- Mbusak Entitas Hukum (Akun Perusahaan) ing Dynamics AX 2012
- Nggunakake Kueri ing Kelas Kontrak Data SysOperation ing Dynamics AX 2012
