Miklix

Nggunakake Kueri ing Kelas Kontrak Data SysOperation ing Dynamics AX 2012

Diterbitake: 16 Februari 2025 ing 01:24:45 UTC

Artikel iki ngrembug rincian babagan carane nambah pitakon sing bisa dikonfigurasi lan bisa disaring pangguna menyang kelas kontrak data SysOperation ing Dynamics AX 2012 (lan Dynamics 365 for Operations)


Kaca iki diterjemahake mesin saka basa Inggris supaya bisa diakses dening akeh wong. Sayange, terjemahan mesin durung dadi teknologi sing sampurna, mula kesalahan bisa kedadeyan. Yen sampeyan seneng, sampeyan bisa ndeleng versi Inggris asli ing kene:

Using a Query in a SysOperation Data Contract Class in Dynamics AX 2012

Informasi ing kirim iki adhedhasar Dynamics AX 2012 R3. Bisa uga ora bener kanggo versi liyane. (Update: Aku bisa konfirmasi manawa iki uga bisa digunakake ing Dynamics 365 for Operations)

Aku tansah lali rincian babagan carane nemtokake lan initialize query ing framework SysOperation. Aku guess sing paling saka proyek kumpulan aku wis nggawe ora adhedhasar pitakonan pangguna-configurable, nanging saben saiki banjur aku kudu nggawe proyek kumpulan kuwi, supaya kirim iki uga kanggo referensi dhewe.

Pisanan, ing kelas kontrak data, pitakon bakal disimpen ing senar. Cara parm kasebut kudu dihias nganggo atribut AifQueryTypeAttribute, kaya mangkono (ing conto iki aku wis nggunakake pitakon SalesUpdate, nanging sampeyan bisa ngganti iki karo pitakon AOT):

[
    DataMemberAttribute,
    AifQueryTypeAttribute('_packedQuery', queryStr(SalesUpdate))
]
public str parmPackedQuery(str _packedQuery = packedQuery)
{
    ;

    packedQuery = _packedQuery;
    return packedQuery;
}

Yen sampeyan pengin pitakonan diputusake dening kelas controller, sampeyan uga bisa nggunakake string kosong. Ing kasus kasebut, sampeyan uga kudu ngleksanakake sawetara cara helper (sing mesthine kudu ditindakake kanggo penak nalika sampeyan kudu ngakses pitakon):

public Query getQuery()
{
    ;

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

public void setQuery(Query _query)
{
    ;

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

Yen sampeyan kudu miwiti pitakon (umpamane, nambah rentang), sampeyan kudu ngetrapake metode initQuery:

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

    // add ranges, etc...

    this.setQuery(queryLocal);
}

Sampeyan kudu nggawe manawa kanggo nelpon cara iki saka kelas controller.

Nuduhake ing BlueskyNuduhake ing FacebookNuduhake ing LinkedInNuduhake ing TumblrNuduhake ing XNuduhake ing LinkedInPin ing Pinterest

Mikkel Bang Christensen

Babagan Penulis

Mikkel Bang Christensen
Mikkel minangka pencipta lan pemilik miklix.com. Dheweke duwe pengalaman luwih saka 20 taun minangka programmer komputer / pangembang piranti lunak profesional lan saiki kerja full-time kanggo perusahaan IT Eropa sing gedhe. Nalika ora ngeblog, dheweke mbuwang wektu luang kanggo macem-macem minat, hobi, lan kegiatan, sing bisa uga katon ing macem-macem topik sing dibahas ing situs web iki.