String Formatting tare da Macro da strFmt a Dynamics AX 2012
Buga: 16 Faburairu, 2025 da 00:49:40 UTC
Wannan talifin ya kwatanta wasu halaye na musamman a Dynamics AX 2012 sa'ad da ake amfani da macro a matsayin tsari a strFmt, da kuma misalai game da yadda za a yi aiki a kusa da shi.
String Formatting with Macro and strFmt in Dynamics AX 2012
Bayanin da ke cikin wannan post ya dogara ne akan Dynamics AX 2012 R3. Zai iya zama daidai ko kuma ba zai yiwu ba ga wasu juyin.
Ba da daɗewa ba na fuskantar matsala da aiki na strFmt da ya sa na yi mamaki. Abin mamaki shi ne, ban taɓa haɗuwa da shi ba a shekaruna da yawa a matsayin mai ƙera Axapta/Dynamics AX.
Matsalar ita ce na yi ƙoƙari na yi amfani da macro a matsayin tsari na tsarin aiki na strFmt kuma bai yi aiki ba. Ya yi watsi da ƙa'idodin % kuma ya mai da sauran ƙara.
Bayan na bincika shi, na gano cewa za a iya yin amfani da macros da kansu wajen tsara ƙara, wanda shi ne abin da ban sani ba. Koyaushe yana da kyau a koyi wani sabon abu, amma har ila na yi mamaki sosai cewa ban taɓa ganin wannan ba.
A gaskiya, wani abu kamar wannan
;
info(strFmt(#FormatMacro, salesId, itemId, lineNum));
Ba zai yi aiki ba domin alamun% a cikin macro ana amfani da su don siffofin tsari na ƙarfe na macro. A wannan yanayin, aiki na strFmt zai ga tsari na tsari kamar "--" kuma saboda haka zai mai da shi kawai.
Wani abu kamar wannan:
info(#FormatMacro(salesId,itemId,lineNum));
zai yi aiki, amma wataƙila ba yadda kake so ba. Maimakon ya fito da tamanin canje-canje uku, zai fitar da sunayen canje-canjen maimakon haka, a wannan yanayin "salesId-itemId-lineNum". (Ka lura cewa ban saka wurare bayan commas sa'ad da nake tafiyar da ƙa'idodin zuwa macro, kamar yadda nake yi a hanyar kira. Wannan ne domin macro zai yi amfani da irin waɗannan wurare ma, saboda haka, aikin zai zama "salesId- itemId-lineNum" idan na yi).
Don ka yi amfani da macro a matsayin tsari na ƙarfe da strFmt, kana bukatar ka guje wa alamun kashi da ƙarfe, kamar wannan:
;
info(strFmt(#FormatMacro, salesId, itemId, lineNum));
Wannan zai yi aiki kamar ka yi tanadin tsari kai tsaye.
Wannan ƙaramin aiki ya nuna misalai:
{
#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));
}