Dynamics AX 2012-ൽ ഒരു SysOperation Data Contract Class-ൽ ഒരു ചോദ്യം ഉപയോഗിക്കുന്നു
പ്രസിദ്ധീകരിച്ചത്: 2025, ഫെബ്രുവരി 16 1:25:42 AM UTC
അവസാനം അപ്ഡേറ്റ് ചെയ്തത്: 2026, ജനുവരി 12 8:47:38 AM UTC
ഡൈനാമിക്സ് എഎക്സ് 2012 ലെ (ഒപ്പം ഓപ്പറേഷനുകൾക്കായുള്ള ഡൈനാമിക്സ് 365) ഒരു സിസ്ഓപ്പറേഷൻ ഡാറ്റ കോൺട്രാക്റ്റ് ക്ലാസിലേക്ക് ഉപയോക്താവിന് ക്രമീകരിക്കാവുന്നതും ഫിൽട്ടർ ചെയ്യാവുന്നതുമായ ഒരു അന്വേഷണം എങ്ങനെ ചേർക്കാം എന്നതിനെക്കുറിച്ചുള്ള വിശദാംശങ്ങൾ ഈ ലേഖനം ചർച്ചചെയ്യുന്നു.
Using a Query in a SysOperation Data Contract Class in Dynamics AX 2012
ഈ പോസ്റ്റിലെ വിവരങ്ങൾ ഡൈനാമിക്സ് AX 2012 R3 അടിസ്ഥാനമാക്കിയുള്ളതാണ്. മറ്റ് പതിപ്പുകൾക്ക് ഇത് സാധുതയുള്ളതോ അല്ലാത്തതോ ആകാം. (അപ്ഡേറ്റ്: ഇത് ഡൈനാമിക്സ് 365 ഫോർ ഓപ്പറേഷനുകളിലും പ്രവർത്തിക്കുന്നുവെന്ന് എനിക്ക് സ്ഥിരീകരിക്കാൻ കഴിയും)
SysOperation ഫ്രെയിംവർക്കിൽ ഒരു ചോദ്യം എങ്ങനെ വ്യക്തമാക്കാമെന്നും ഇനീഷ്യലൈസ് ചെയ്യാമെന്നും ഉള്ള വിശദാംശങ്ങൾ ഞാൻ എപ്പോഴും മറന്നുപോകുന്നതായി തോന്നുന്നു. ഞാൻ ചെയ്തുകൊണ്ടിരിക്കുന്ന ബാച്ച് ജോലികളിൽ ഭൂരിഭാഗവും ഉപയോക്തൃ-ക്രമീകരിക്കാവുന്ന ചോദ്യങ്ങളെ അടിസ്ഥാനമാക്കിയുള്ളതല്ലെന്ന് ഞാൻ കരുതുന്നു, പക്ഷേ ഇടയ്ക്കിടെ എനിക്ക് അത്തരമൊരു ബാച്ച് ജോലി ചെയ്യേണ്ടതുണ്ട്, അതിനാൽ ഈ പോസ്റ്റ് എന്റെ സ്വന്തം റഫറൻസിനും കൂടിയാണ്.
ആദ്യം, ഡാറ്റ കോൺട്രാക്റ്റ് ക്ലാസ്സിൽ, അന്വേഷണം ഒരു സ്ട്രിംഗിൽ പായ്ക്ക് ചെയ്ത നിലയിൽ സൂക്ഷിക്കും. അതിന്റെ parm രീതി AifQueryTypeAttribute ആട്രിബ്യൂട്ട് ഉപയോഗിച്ച് അലങ്കരിക്കണം, അതുപോലെ (ഈ ഉദാഹരണത്തിൽ ഞാൻ SalesUpdate അന്വേഷണം ഉപയോഗിച്ചു, പക്ഷേ നിങ്ങൾക്ക് ഇത് ഏതെങ്കിലും AOT അന്വേഷണം ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കാം):
DataMemberAttribute,
AifQueryTypeAttribute('_packedQuery', queryStr(SalesUpdate))
]
public str parmPackedQuery(str _packedQuery = packedQuery)
{
;
packedQuery = _packedQuery;
return packedQuery;
}
കൺട്രോളർ ക്ലാസ് ആണ് അന്വേഷണം തീരുമാനിക്കേണ്ടതെങ്കിൽ, നിങ്ങൾക്ക് ഒരു ശൂന്യമായ സ്ട്രിംഗും ഉപയോഗിക്കാം. അങ്ങനെയെങ്കിൽ, നിങ്ങൾ രണ്ട് സഹായ രീതികളും നടപ്പിലാക്കേണ്ടതുണ്ട് (ക്വറി ആക്സസ് ചെയ്യേണ്ടിവരുമ്പോൾ നിങ്ങളുടെ സ്വന്തം സൗകര്യാർത്ഥം നിങ്ങൾ എന്തായാലും ഇത് നടപ്പിലാക്കേണ്ടതാണ്):
{
;
return new Query(SysOperationHelper::base64Decode(packedQuery));
}
public void setQuery(Query _query)
{
;
packedQuery = SysOperationHelper::base64Encode(_query.pack());
}
നിങ്ങൾക്ക് ഒരു അന്വേഷണം ആരംഭിക്കണമെങ്കിൽ (ഉദാഹരണത്തിന്, ശ്രേണികൾ ചേർക്കുക), നിങ്ങൾ ഒരു initQuery രീതി നടപ്പിലാക്കണം:
{
Query queryLocal = this.getQuery();
;
// add ranges, etc...
this.setQuery(queryLocal);
}
കൺട്രോളർ ക്ലാസ്സിൽ നിന്നാണ് ഈ രീതി വിളിക്കുന്നതെന്ന് ഉറപ്പാക്കേണ്ടതുണ്ട്.
കൂടുതൽ വായനയ്ക്ക്
നിങ്ങൾക്ക് ഈ പോസ്റ്റ് ഇഷ്ടപ്പെട്ടെങ്കിൽ, ഈ നിർദ്ദേശങ്ങളും നിങ്ങൾക്ക് ഇഷ്ടപ്പെട്ടേക്കാം:
- Dynamics AX 2012-ൽ X++ ൽ നിന്ന് നേരിട്ട് AIF ഡോക്യുമെന്റ് സേവനങ്ങളിലേക്ക് വിളിക്കുക
- ഡൈനാമിക്സ് AX 2012-ൽ ഒരു നിയമപരമായ സ്ഥാപനം (കമ്പനി അക്കൗണ്ടുകൾ) ഇല്ലാതാക്കുക
- Dynamics AX 2012-ൽ ഡാറ്റയും buf2Buf() ഉം തമ്മിലുള്ള വ്യത്യാസം
