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)
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):
{
;
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:
{
Query queryLocal = this.getQuery();
;
// add ranges, etc...
this.setQuery(queryLocal);
}
Sampeyan kudu nggawe manawa kanggo nelpon cara iki saka kelas controller.