String Formatting tare da Macro da strFmt a Dynamics AX 2012
Buga: 16 Faburairu, 2025 da 00:49:40 UTC
An sabunta ta ƙarshe: 12 Janairu, 2026 da 08:44:41 UTC
Wannan labarin ya bayyana wasu halaye na musamman a cikin Dynamics AX 2012 lokacin amfani da macro azaman tsarin kirtani a cikin strFmt, da kuma misalai kan yadda ake magance shi.
String Formatting with Macro and strFmt in Dynamics AX 2012
Bayanin da ke cikin wannan sakon ya dogara ne akan Dynamics AX 2012 R3. Yana iya zama ko ba zai yi aiki ba ga wasu sigar.
Kwanan nan na ci karo da wata matsala da aikin strFmt wanda ya ɗan ruɗe ni. Abin da ya fi bani mamaki shi ne cewa wani abin mamaki da na yi, ban taɓa fuskantar hakan ba a cikin shekaru da yawa da na yi ina mai haɓaka Axapta/Dynamics AX.
Matsalar ita ce na yi ƙoƙarin amfani da macro a matsayin tsarin rubutu don aikin strFmt amma bai yi aiki ba. Ya yi watsi da sigogin % gaba ɗaya kuma ya dawo da sauran layin kawai.
Bayan na duba shi, na gano cewa ana iya amfani da macros don tsara igiyoyi, wanda kuma wani abu ne da ban sani ba. To, koyaushe yana da kyau a koyi wani sabon abu, amma har yanzu ina mamakin cewa ban taɓa cin karo da wannan ba a da.
A takaice, wani abu kamar haka
;
info(strFmt(#FormatMacro, salesId, itemId, lineNum));
Ba zai yi aiki ba saboda alamun % a cikin macro ana amfani da su ne don fasalulluka na tsarin kirtani na macro. A wannan yanayin, aikin strFmt zai ga tsarin kirtani a matsayin "--" kuma saboda haka zai dawo da hakan ne kawai.
Wani abu kamar haka:
info(#FormatMacro(salesId,itemId,lineNum));
Zai yi aiki, amma wataƙila ba yadda kake so ba. Maimakon fitar da ƙimar masu canji guda uku, zai fitar da sunayen masu canji maimakon haka, a wannan yanayin "salesId-itemId-lineNum". (Lura cewa ban sanya sarari bayan wasiƙu ba lokacin da nake wucewa da sigogi zuwa macro, kamar yadda nake yi a cikin kiran hanya. Wannan saboda macro zai yi amfani da irin waɗannan sarari ma, don haka fitarwar za ta zama "salesId- itemId- lineNum" idan na yi).
Don amfani da macro azaman tsarin rubutu tare da strFmt, kuna buƙatar guje wa alamun kashi tare da laƙabin baya, kamar haka:
;
info(strFmt(#FormatMacro, salesId, itemId, lineNum));
Wannan zai yi aiki kamar dai kun kawo tsarin tsari kai tsaye.
Wannan ƙaramin aikin yana 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));
}
Karin Karatu
Idan kuna jin daɗin wannan sakon, kuna iya kuma son waɗannan shawarwari:
- Kira AIF Document Services kai tsaye daga X ++ a Dynamics AX 2012
- Amfani da Tambaya a cikin Ajin Kwangilar Bayanan Bayanan SysOperation a cikin Dynamics AX 2012
- Share Haɗin Doka (Asusun Kamfani) a cikin Dynamics AX 2012
