Format String sareng Makro sareng strFmt dina Dynamics AX 2012
Diterbitkeun: 16 Pébruari 2025 jam 0.51.55 UTC
Artikel ieu ngajelaskeun sababaraha paripolah aneh dina Dynamics AX 2012 nalika ngagunakeun makro salaku format string dina strFmt, kitu ogé conto kumaha carana dianggo sabudeureun eta.
String Formatting with Macro and strFmt in Dynamics AX 2012
Inpormasi dina tulisan ieu dumasar kana Dynamics AX 2012 R3. Ieu bisa atawa bisa jadi teu valid pikeun vérsi séjén.
Kuring nembe mendakan masalah sareng fungsi strFmt anu ngabingungkeun kuring sakedik. Bagian anu paling ngabingungkeun nyaéta yén kuring ku sababaraha kabeneran anéh henteu kantos mendakan éta dina sababaraha taun kuring salaku pamekar Axapta / Dynamics AX.
Masalahna nyaéta kuring nyobian nganggo makro salaku format string pikeun fungsi strFmt sareng éta henteu jalan. Ieu sagemblengna dipaliré % parameter sarta ngan balik sésana tina string.
Saatos ningali kana éta, kuring mendakan yén makro sorangan tiasa dianggo pikeun pormat senar, anu ogé mangrupikeun hal anu kuring henteu terang. Muhun, éta salawasna alus pikeun neuleuman hal anyar, tapi kuring masih pohara reuwas yén kuring kungsi teu kajantenan datang di sakuliah ieu sateuacan.
Dasarna, sapertos kieu
;
info(strFmt(#FormatMacro, salesId, itemId, lineNum));
moal jalan sabab % tanda dina makro nu sabenerna dipaké pikeun fitur string pormat makro sorangan. Dina hal ieu, fungsi strFmt bakal ningali string pormat salaku "--" sahingga ngan bakal balik deui.
Sapertos kieu:
info(#FormatMacro(salesId,itemId,lineNum));
bakal dianggo, tapi meureun moal jalan rék ka. Gantina kaluaran nilai tina tilu variabel, éta bakal kaluaran nami variabel gantina, dina hal ieu "salesId-itemId-lineNum". (Perhatikeun yén kuring henteu nempatkeun spasi sanggeus koma nalika ngalirkeun parameter kana makro, sakumaha biasana kuring ngalakukeun dina panggero metoda. Éta sabab makro sabenerna bakal ngagunakeun spasi sapertos ogé, jadi kaluaran bakal "salesId- itemId- lineNum "lamun kuring).
Pikeun leres-leres ngagunakeun makro salaku pormat string sareng strFmt, anjeun kedah kabur tanda persentase nganggo garis miring mundur, sapertos kieu:
;
info(strFmt(#FormatMacro, salesId, itemId, lineNum));
Ieu saleresna bakal tiasa dianggo saolah-olah anjeun parantos nyayogikeun format string langsung.
Proyék saeutik ieu ngagambarkeun 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));
}