Miklix

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;
}

കൺട്രോളർ ക്ലാസ് ആണ് അന്വേഷണം തീരുമാനിക്കേണ്ടതെങ്കിൽ, നിങ്ങൾക്ക് ഒരു ശൂന്യമായ സ്ട്രിംഗും ഉപയോഗിക്കാം. അങ്ങനെയെങ്കിൽ, നിങ്ങൾ രണ്ട് സഹായ രീതികളും നടപ്പിലാക്കേണ്ടതുണ്ട് (ക്വറി ആക്സസ് ചെയ്യേണ്ടിവരുമ്പോൾ നിങ്ങളുടെ സ്വന്തം സൗകര്യാർത്ഥം നിങ്ങൾ എന്തായാലും ഇത് നടപ്പിലാക്കേണ്ടതാണ്):

public Query getQuery()
{
    ;

    return new Query(SysOperationHelper::base64Decode(packedQuery));
}

public void setQuery(Query _query)
{
    ;

    packedQuery = SysOperationHelper::base64Encode(_query.pack());
}

നിങ്ങൾക്ക് ഒരു അന്വേഷണം ആരംഭിക്കണമെങ്കിൽ (ഉദാഹരണത്തിന്, ശ്രേണികൾ ചേർക്കുക), നിങ്ങൾ ഒരു initQuery രീതി നടപ്പിലാക്കണം:

public void initQuery()
{
    Query queryLocal = this.getQuery();
    ;

    // add ranges, etc...

    this.setQuery(queryLocal);
}

കൺട്രോളർ ക്ലാസ്സിൽ നിന്നാണ് ഈ രീതി വിളിക്കുന്നതെന്ന് ഉറപ്പാക്കേണ്ടതുണ്ട്.

കൂടുതൽ വായനയ്ക്ക്

നിങ്ങൾക്ക് ഈ പോസ്റ്റ് ഇഷ്ടപ്പെട്ടെങ്കിൽ, ഈ നിർദ്ദേശങ്ങളും നിങ്ങൾക്ക് ഇഷ്ടപ്പെട്ടേക്കാം:


ബ്ലൂസ്കൈയിൽ പങ്കിടുകഫേസ്ബുക്കിൽ പങ്കിടുകLinkedIn-ൽ പങ്കിടുകTumblr-ൽ പങ്കിടുകX-ൽ പങ്കിടുകLinkedIn-ൽ പങ്കിടുകPinterest-ൽ പിൻ ചെയ്യുക

മിക്കൽ ക്രിസ്റ്റൻസൺ

എഴുത്തുകാരനെ കുറിച്ച്

മിക്കൽ ക്രിസ്റ്റൻസൺ
മിക്കൽ miklix.com ന്റെ സ്രഷ്ടാവും ഉടമയുമാണ്. ഒരു പ്രൊഫഷണൽ കമ്പ്യൂട്ടർ പ്രോഗ്രാമർ/സോഫ്റ്റ്‌വെയർ ഡെവലപ്പർ എന്ന നിലയിൽ 20 വർഷത്തിലേറെ പരിചയമുള്ള അദ്ദേഹം ഇപ്പോൾ ഒരു വലിയ യൂറോപ്യൻ ഐടി കോർപ്പറേഷനിൽ മുഴുവൻ സമയ ജോലിക്കാരനാണ്. ബ്ലോഗിംഗ് അല്ലാത്തപ്പോൾ, അദ്ദേഹം തന്റെ ഒഴിവു സമയം വിവിധ താൽപ്പര്യങ്ങൾ, ഹോബികൾ, പ്രവർത്തനങ്ങൾ എന്നിവയിൽ ചെലവഴിക്കുന്നു, ഇത് ഒരു പരിധിവരെ ഈ വെബ്‌സൈറ്റിൽ ഉൾപ്പെടുത്തിയിരിക്കുന്ന വിഷയങ്ങളിൽ പ്രതിഫലിച്ചേക്കാം.