Nggunakake Kueri ing Kelas Kontrak Data SysOperation ing Dynamics AX 2012
Diterbitake: 16 Februari 2025 ing 01:24:45 UTC
Dianyari pungkasan: 12 Januari 2026 ing 08:47:32 UTC
Artikel iki ngrembug rincian babagan cara nambahake query sing bisa dikonfigurasi pangguna lan bisa difilter 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 kiriman iki adhedhasar Dynamics AX 2012 R3. Iki bisa uga valid utawa ora valid kanggo versi liyane. (Nganyari: Aku bisa ngonfirmasi manawa iki uga bisa digunakake ing Dynamics 365 for Operations)
Aku koyone tansah lali babagan rincian babagan carane nemtokake lan miwiti query ing framework SysOperation. Aku kira umume proyek batch sing dakgawe ora adhedhasar query sing bisa dikonfigurasi pangguna, nanging sok-sok aku kudu nggawe proyek batch kaya ngono, mula kiriman iki uga kanggo referensiku dhewe.
Kapisan, ing kelas kontrak data, query bakal disimpen dikemas ing string. Metode parm-e kudu dihias nganggo atribut AifQueryTypeAttribute, kaya ing ngisor iki (ing conto iki aku wis nggunakake query SalesUpdate, nanging sampeyan bisa ngganti iki karo query AOT apa wae):
DataMemberAttribute,
AifQueryTypeAttribute('_packedQuery', queryStr(SalesUpdate))
]
public str parmPackedQuery(str _packedQuery = packedQuery)
{
;
packedQuery = _packedQuery;
return packedQuery;
}
Yen sampeyan pengin query diputusake dening kelas controller, sampeyan uga bisa nggunakake string kosong. Ing kasus iki, sampeyan uga kudu ngetrapake sawetara metode helper (sing mesthine kudu sampeyan laksanakake kanggo penak sampeyan dhewe nalika sampeyan kudu ngakses query):
{
;
return new Query(SysOperationHelper::base64Decode(packedQuery));
}
public void setQuery(Query _query)
{
;
packedQuery = SysOperationHelper::base64Encode(_query.pack());
}
Yen sampeyan kudu nginisialisasi query (contone, nambah rentang), sampeyan kudu ngetrapake metode initQuery:
{
Query queryLocal = this.getQuery();
;
// add ranges, etc...
this.setQuery(queryLocal);
}
Sampeyan kudu mesthekake yen sampeyan nelpon metode iki saka kelas controller.
Wacan Salajengipun
Yen sampeyan seneng karo kiriman iki, sampeyan bisa uga seneng saran iki:
- Mbusak Entitas Hukum (Akun Perusahaan) ing Dynamics AX 2012
- Kesalahan "Ora ana kelas metadata sing ditetepake kanggo obyek kontrak data" ing Dynamics AX 2012
- Format String nganggo Makro lan strFmt ing Dynamics AX 2012
