Miklix

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.


An fassara wannan shafin na'ura daga Turanci don a sami damar isa ga mutane da yawa gwargwadon iko. Abin takaici, fassarar inji ba ta zama cikakkiyar fasaha ba, don haka kurakurai na iya faruwa. Idan kuna so, kuna iya duba ainihin sigar Turanci anan:

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

#define.FormatMacro('%1-%2-%3')
;

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:

#define.FormatMacro('%1-%2-%3');
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:

#define.FormatMacro('\\%1-\\%2-\\%3')
;

info(strFmt(#FormatMacro, salesId, itemId, lineNum));

Wannan zai yi aiki kamar ka yi tanadin tsari kai tsaye.

Wannan ƙaramin aiki ya nuna misalai:

static void StrFmtMacroTest(Args _args)
{
    #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));
}
Raba kan BlueskyRaba akan FacebookRaba kan LinkedInRaba akan TumblrRaba akan XRaba kan LinkedInFitar akan Pinterest

Mikkel Bang Christensen

Game da Marubuci

Mikkel Bang Christensen
Mikel shine mahalicci kuma mai miklix.com. Yana da fiye da shekaru 20 gwaninta a matsayin ƙwararren mai tsara shirye-shiryen kwamfuta / mai haɓaka software kuma a halin yanzu yana aiki cikakken lokaci don babban kamfani na IT na Turai. Lokacin da ba ya yin rubutun ra'ayin kanka a yanar gizo ba, yana ciyar da lokacinsa a kan ɗimbin abubuwan bukatu, sha'awa, da ayyuka, waɗanda har zuwa wani lokaci za a iya nunawa a cikin batutuwa iri-iri da aka rufe akan wannan rukunin yanar gizon.